New start-up parameter /SYNC_TIME defining a floating-window during which the interface will keep a RDB table in sync with PI data archive
The new RDBMSPI param: /SYNCTIME=relstarttime,relendtime
for instance /SYNCTIME=-6h,+1h
When set, the interface:
- after each execution of a query, which shall have the same "floating" window in its WHERE clause; for instance:
SELECT time, value, status FROM table1 WHERE time BETWEEN GETDATE()-6 AND GETDATE()+1;
reads events for this tag from the PI data archive (for the interval defined by /SYNC_TIME) and compares timestamps from both sets. The "master" is the set from the rel. database; that is, if in the set taken from PI, there are timestamps, which were not returned from RDB, they are deleted (in PI data archive), values at the same timestamps are overwritten (updated in PI) and new values are added.
This feature only applies for single-strategy tags.
Note: This was previously Enhancement 125216.
Daniel Angevine commented
We would also like this.
Ideally a linked table could be used to keep the data to the freshest level, however Linked Tables cannot handle AF analysis for heavy usage. We have manual entries and values being restated or coded for a different time and ending up with extra "wrong" data in PI that.
An automated compare and removal of these stale values from the PI tag would be a much smoother process if part of base functionality.