I have moved on to SQL. Which was a chore in itself.
On that note,
A warning to anyone migrating from 9.4- to 9.5+:
OptoDataLink reads database data in a completely different way!
9.4 read 1 row each cycle, now 9.5 reads an entire column each cycle. (Is there a limit to the # of rows?)
This requires a major rebuild of the datalink interaction in a strategy. In the long haul it should read faster, but be aware that this is a big change and it WILL break any link that is not updated to the new standard.
Also, kudos to the team on a quick fix (R9.5001) to enable blank/NULL items in string quarries.