cancel
Showing results for 
Search instead for 
Did you mean: 

Ultralite online replication - upload/updates

1,582

Hi,

I have an application, written in UWP (C#), running on a Windows 10 (full version) tablet. I am using Ultralite 17 for the remote database and Mobilink for replication and Oracle for the consolidated. The tablets have a cellular connection and we use that to replicate data back to the consolidated database after each order on the tablet is completed.

Occasionally, we are missing data that is in the remote database but won't replicate to the consolidated database. One table, in particular. The software inserts a record into this table when the process starts and updates it 4 time during the process of 'working' the order. The initial insert 'transaction' of the record is sent to the consolidated, but the subsequent updates are not. I have no way of reproducing this because it happens randomly.

All the data is updated in the remote database, but those updates don't make it to the consolidated. There are no errors reported from replication on the tablet or from Mobilink.

All other data that is collected during the processing of the order is successfully sent to the consolidated database. The only difference with the problematic table is the record is updated after it has been inserted. All other tables just have records inserted. I'm using simple update SQL to perform the updates to the record.

Any idea on what could cause this or how to solve it?

Thanks,

Paula

Accepted Solutions (0)

Answers (1)

Answers (1)

regdomaratzki
Product and Topic Expert
Product and Topic Expert

If the upload_update script for a given table is --{ml_ignore}, you're ignoring updates on this table. Given this works "most of the time", I'd suggest that things only fall apart when your sequence of events is :

insert
update #1
synch
update #2
update #3
synch

With the uplaod_update script doing nothing, update #2 and update #3 will synchronize (i.e. UltraLite will send the changes), but you've told the MobiLink Server to ignore the updates, so the values in the consolidated Oracle server will not change.

Write yourself a proper upload_update script, and I suspect your mystery will be solved.

Reg

0 Kudos

We have partial verbose logging on -vns. If the remote sent a record for update and Mobilink is set to ignore it, wouldn't that be in the log? There are some updates that we ignore on purpose and I see those as ignored in the log.

I. 2019-06-20 13:10:36. <17104> # rows ignored in table REP_GPS : 0

I've created the proper script and now I'll just wait and see if it happens again. If it happens again, I plan to pull the remote database, manually change a value in the record that didn't replicate and replicate it again to see if we get the update.

Thanks

regdomaratzki
Product and Topic Expert
Product and Topic Expert
0 Kudos

If rows are being ignored because of the --{ml_ignore} script, I would expect to see that in the ML Log.

I. 2019-06-26 12:51:39. <2> # rows ignored in table Admin : 5

Are you sure you were using and/or changed the correct script version in the consolidated database?

Reg