Actian/Pervasive introduced a bug in versions 12 and 13 of their SQL client regarding LongVarChar columns exceeding 64K in length. This bug could impact Report Desk. They have provided us a fixed version of Pervasive.Data.Sql.Client.dll. We have further patched its .NET version from 220.127.116.11 to 4.3.4030.91789, to allow that version specifically to be loaded instead of 18.104.22.168, which may be in the Global Assembly Cache (GAC).
First, we built ELRWSupport with a reference to this fixed, patched version of Pervasive.Data.SqlClient.dll, so that is the version that will try to load.
Then, when Elliott starts up, we use the following procedure to make this work for us now and in the foreseeable future:
- At Elliott startup, determine if we are running on the network – if so, nothing to do.
- Otherwise (running in local or in hybrid mode):
- Query the version of SQL client as we presently do (API call 26).
- If the returned version is less than v12 or greater than v13:
- Delete Pervasive.Data.SqlClient.dll from the Bin85 directory, if it exists.
- Start the synchronization indicating that it should ignore Pervasive.Data.SqlClient.dll.
- Otherwise, start synchronization as usual.
This will result in a version of the SQL client that works for v11, v12, v13 and higher.JEG
NWSMSYNC.PL, NWSMLOGN.CBL, EL850SY.cs