Table binding doesn't match tag value

I have a memory dataset tag that gets populated from a gateway timer script. In the script is a SQL query and then some formatting and things like that.

I then have a table component that has a direct tag binding to the dataset and does not have any transforms or anything like that. The screen shot below is the binding.

You can see at the bottom that the binding is returning 1 row, and that is what I see on the table component itself.

The problem is, the actual dataset tag has no data in it.

I had to block out the tag paths, so you'll have to trust me that they are indeed the same paths. What's also interesting is that if I add a script transform on the table to return the tag read from system.tag.readBlocking, it works correctly.

You can see that the transform is returning 0 rows. Again, you'll have to trust me that the paths are correct. I literally copied from the binding and pasted into the script.

I've tried adding the table and binding in multiple views, projects, and even in Vision and I keep getting the same result.

And, if I add new rows to the dataset, they don't appear in the binding, but do appear through scripting. The only thing I haven't tried yet is restarting the server, but I wanted to ask if anyone has seen something like this before I try that.

I would contact support at this point. They've signed NDAs, so they can take a look at your system live. It's, I guess, theoretically possible something's hung up in the binding system and causing it to return stale values? I'll be honest, though, I consider that extremely unlikely. Are you using fully qualified tag paths, as in including the provider in square brackets at the beginning?

Okay sounds good. I will get a hold of them. This is on my development server, so I may try restarting it just to see if that fixes it (hello IT, have you tried turning it on and off again...). I just wanted to see if anyone had ever seen anything like this before.

And to answer your question, yes I am using fully qualified paths with the provider. I hate blocking that stuff out because this would make perfect sense that have a path mixed up somewhere. But I literally copied the path from the binding and pasted into the system.tag.readBlocking and it works. I also tried using an expression binding with the tag() function, but that also returned this random row of data.

1 Like