SQL Timing Question

On one of my pages I have 38 containers. I have the color for these containers attached to a SQL tag which come from the _error flag of KepServer. If the _error is on then the color is say red and if it is off then it might be green. The problem I am having is sometimes the container stays the wrong color. If I look at the SQL tag in the designer I can see the state change but it does not always change the color. But it does always show up the proper color and seems to change the way it is intended in the designer just not in the runtime. But if while in run time I close the window in question then reopen most times it then corrects itself.

I have the SQL tag poll rate set at 5sec and 8sec for stale. I do not think I had these problems when I used the MySQL connections for tags. The only 2 things that has changed is the datasource for the SQL tags and also the size of the containers. I made them slightly smaller to fit more on a screen. Could this not updating the colors be in the same realm as the connection not pooling error we have gotten? And if so why does it work better in designer than in runtime?

Thanks and have a great day.

I had an issue where an SQL tag was not updating and I found that if I had the designer open, and that tag was on an open window within designer, it would not update in the runtime.

I am not sure if this could be a possibility, but I thought I would shoot it out…

Adam

Adam - Can you replicate that? It sounds like a serious issue for us to fix.

Throw the value of the tag onto a label so that you can see it in a more direct way than the color change. Then, can you see it have different values at the same time in the runtime vs the designer? I’ve never seen anything like this…

And no, it doesn’t have anything to do with the connection pooling error. It may have something to do with running SQLTags on MSSql vs MySQL however.

Adam, I was wondering,

  1. How did you find this error?

  2. Have you solved the error? (other than not having designer open)

  3. How were you calling the SQL Tag? (directly or indirectly)

Just curious because I wanted to see how it might relate to how I am doing it.

Carl, Here is what I am thinking of trying i just am not sure what sequence I want to use yet. I would like to try setting the data source back to MySQL and I would also like to try your idea. Although I wanted to run this past you, instead of doing a label, would it work just as well to have the data in the ‘Mouse Over’ or not? This way it would not be displayed all the time on the screen just when you move the mouse over that container.

Thanks and have a great day.

I suppose a mouesover would work - be aware that a mouseover doesnt change dynamically while it is being displayed - you would need to move the mouse away and then back over it to see any changes.

Carl, so your saying the best approach to this would be to use the label that way you could see if the label(tag) is changing while the screen is loading?

Carl I forgot to ask, which would you recommend first? Changing the datasource or doing the label to all 38 containers?

I would put the label(s) on the screen so that you can catch it in the act so that it can be fixed.

Here is a question that pertains to SQL tags and timing. If I have a dynamic function which of course brings in the SQL tag value, but during load up of the screen the value contained in the value part of the container is equal to one value say something like 19, but after loading the screen now it contains the value of 24 will it update the SQLtag and read it in? Or should i have something like under the value of the container set the value changed to reread the tag and refresh the screen?

I ask because I have noticed that when loading the screen you will see one set of numbers, the last loaded set, and everything will have that opaque or overlay or whatever it is called, then the numbers change, the overlay/opaque goes away and the screen is somewhat properly displayed. Except for some of the colors which is the meaning behind this posting.

What is a dynamic function?

Sorry my wife was talking to me and the tv was on and my daughter was asking questions about her permit test comming up and I was not paying attention. What I meant was a dynamic property not function. Sorry for the confusion. And after I done some reading online I found you call the item I talked about an overlay because you can opt out of the overlays.

So here is what happens. I click the button to take me to the screen in question. The little dotted line circle comes up in the upper right hand corner and goes around. Then the page I was on closes and the new one opens up. The data on the screen represents the last time the page was saved in the designer. It shows all the previously enabled machine although all are overlayed and has the red x in the items which are attached to SQL tags. Then within a second the data changes to the new configuration and the overlays go away along with the red x’s. An example would be if the last configuration was 1,2,3,4,5,6,7,8,9 when the page loads you would see 1,2,3,4,5,6,7,8,9. However since the last configuration machine number 4 was taken off line. So now when the overlays go away you see 1,2,3,5,6,7,8,9 but number 5 container stays red instead of going green. Or sometimes it is a different one but most times it is around the one that was taken out. I am thinking that maybe the SQL tag was still pointing to 4 which was disabled so it turns red but does not update when the container value changes to 5. Could this be the case? And if so why did it work quite well on MySQL but not so well on MSSQL? Any ideas or suggestion? This is why I asked if maybe I should on the containers make the change state function something that updates the screen. Maybe there is a timing difference between using MySQL and MSSqL. Just some thoughts I have been thinking about.

Hope this helps. have a great day.

Here is one question I had about SQL tags. In the property binding you can click the radio button for either SQL Tag or Indirect Tag. You can also click on expression and use the fpmi.tag.getTagValue. So if you are using an indirect addressed tag which would be the most efficient using the radio button and setting it up that way or using the fpmi.tag command in an expression? (update rates, change of value, etc…)

Thanks and have a great day.

PS I also forgot, the one item I was trying to remember yesterday was the console. In designer you can see the console but I take it that you can not see the console from the runtime screen?

When you say the container stays red, is it red because of a quality overlay or because of a color binding/style configuration?

I think I’m going to have to see this. What are the scanclasses like that are behind these tags? Why is their quality poor until you open up the window, are you using leased scan classes?

There is no practical difference between using an indirect tag binding vs using an expression binding. The only difference is that an indirect tag binding can be bidirectional, while an expression cannot.

First question - It is because of the color binding/style configuration. I say this because the overlay goes away.

Scan class is DIRECT, 5000 for low rate and 10000 for stale.

In the project settings:

SQL Poll Rate 1000
Fetch Thread Count 7
Update Thread Count 3
Base Rate 1000

Hope this helps. Have a great day.

[quote=“Carl.Gould”]When you say the container stays red, is it red because of a quality overlay or because of a color binding/style configuration?

I think I’m going to have to see this. What are the scanclasses like that are behind these tags? Why is their quality poor until you open up the window, are you using leased scan classes?

There is no practical difference between using an indirect tag binding vs using an expression binding. The only difference is that an indirect tag binding can be bidirectional, while an expression cannot.[/quote]

Why did you slow down the SQLTags poll rate? It default is 250

I did not mess with the SQLTag poll rate. Here is what I do know, I have kept notes on all things learned from both goto meetings, verbal calls and forum postings. I have amassed quite a large folder of information. If my notes are correct at one point in time the rate which is now set at 5000 poll and 10000 stale was set at 1000 pole and 5000 stale and as you mention here the Poll rate was 250 but now it is 1000. Why these have changed? I do not know. Whom changed them? Again I do not know. This was one of the reason why I turned on the auditing feature. i can go back and see when something happened and why. At first I was not to turn it on. SInce I have turned it on nothing that I know of has changed so the change had to occure before the audit was turned on. But it still leads to why and whom?

I currently have your idea in place on about 1/2 the containers. I put a label to show what is happening and when. As I find out anything i will post it here and let you know.

The auditing feature is primarily for auditing writes for process information, not design changes.

Anyhow, feel free to change the SQLTags poll rate back to 250.