I was just getting one little obstacle during my work recently.
I have created CoreSight display screen which is showing AF attribute data in real-time. The main catch came, when I have changed names of some of my attributes from AF hierarchy and then it is showing no-data on my CoreSight display .
Because of change in name, the configuration string changed but my CoreSight display was still stuck with old configuration string. It is very cumbersome process to change configuration string of every tag that is mapped in display and now showing no data.
Alternative to this I found in CoreSight database, don't know my interpretation is correct or not but it is working .
Go to SQL database in which your CoreSight data resides and there you can find one table containing all you screen data with your display ID as primary key. Just replace changed name there and then hola !!! Your CoreSight screen is showing live data once again after applying some more tweaks.
If somebody interested (future reference for me only ) then following are the steps that I followed:
- Open IIS -> Sites -> Default Website -> CoreSight
- In feature pane, right hand side - double click on "Connection String" -> CoresightConnectionString
- As per string, go to that SQL server and database
- Under that database,
Tables -> dbo.BaseDisplays has all displays that are in your coresight server. (Your display can be found out by BrowseElementID column)
Write the query as below :
- Execute the query and Refresh PI CoreSight Screen
- It's working BUT here our updated data in table [BaseDisplays] is not consistent with the data of table [DisplayDataSources], although it is taking data from COG of [BaseDisplays] only
- This inconsistency doesn't reflect in the display of screen. It happened because [DisplayDataSources] table will not automatically update itself upon change in [BaseDisplays]
- There is always a way . We have to explicitly execute the stored procedure named "UpdateDisplayDatasources"
You can find that one under,
CoresightDB -> Programmability -> Stored Procedures -> UpdateDisplayDatasources
- Right click on the procedure and click on - Execute Stored Procedure
It will ask you to provide DisplayID and TenantID - you can get them from the [BaseDisplays] table.
- It's done. Now everything is as good as before any changes you have done into AF
This whole procedure can be done in automatic way by using AF SDk and C#.Net I think and you can make it scalable solution. But I left that as part of my future work .
This document was generated from the following discussion: CoreSight Display Showing No Data after change in AF Element / Attribute name