cancel
Showing results for 
Search instead for 
Did you mean: 

Sync Issue with MS SQL CDB - Datetime field overflow

0 Kudos
2,417

Hello everybody,

we are using MobiLink in version 17.0.0.1211 in combination with a MS SQL 2014 SE. When we try to synchronize with our UltraLite client, we get the following errors in the mobilink server log:

I. 2018-11-15 13:48:03. <2>  UPDATE ml_subscription SET user_id = ?, progress = ?, last_upload_time = ? WHERE rid = ? AND subscription_id = ?

E. 2018-11-15 13:48:03. <2> [-10002] Consolidated database server or ODBC error:  ODBC: [Microsoft][ODBC Driver 13 for SQL Server]Datetime field overflow. Fractional second precision exceeds the scale specified in the parameter binding. (ODBC State = 22008, Native error code = 0, Column or parameter #3)

E. 2018-11-15 13:48:03. <2> [-10031] An error occurred when trying to store progress information in the consolidated database

W. 2018-11-15 11:22:54. <3> (,XXXXXX) [10017] The consolidated and remote databases have different timestamp precisions.  Consolidated database timestamps are precise to 0 digit(s) in the fractional second while the remote database timestamps are precise to 6 digit(s)

Any idea how to tackle this issue?

Thanks and best regards, Alex

Accepted Solutions (0)

Answers (1)

Answers (1)

0 Kudos

Hello everybody,

I think we all have been on the wrong track here - I changed the TIMESTAMP_INCREMENT on the udb, regenerated it and that did not help.

I suspected that it is a server internal problem (not connected to the remote dbs) and run SELECT {FN NOW()} followed by an update on ml_subscription.last_upload_time from the MS SQL Studio and that also worked fine.

At the end, it turned out that I used the wrong ODBC driver - version 13 and 17 lead to the error, when using version 6.x, it worked fine. Microsoft changed the way the driver works, newer ones do not throw warnings for overflows, but errors.

VolkerBarth
Contributor
0 Kudos

Well, it's documented that this is a MS SQL ODBC driver issue, just search for the according MS SQL error message - however according to those docs, an "appropriate" increment of 1 seconds (i.e. without fractions) should work with newer drivers, too. Hm.