Unanswered: How do I use MobiLink to synchronize with an MS Access database?
It appears MobiLink does not natively support synchronization with Microsoft Access. I’ve perused technical docs (there's a lot), newsgroups, blogs ,etc for any answers and the best one I found was Sybase.com. However great that article is, the critical points were Sybase convinced the customer to migrate from an application based on MS Access to one based on SQL Anywhere (which we may not be able to do) and the article doesn’t deal with synchronization using SQL Anywhere’s MobiLink technology.
So here are my questions:
1) For those of us offering mobile solutions using SQL Anywhere (where we need to sync data from multiple embedded UltraLite databases to a single consolidated database (instance of MS Access) running on a single server or PC), is there some documentation, article or sample project that exists somewhere that you or someone can point me to that describes the best way to synchronize with MS Access via MobiLink?
2) Or can we/do we have to use SQL Anywhere on the server as a delegate with custom data mapping code in Java or C# to facilitate synchronization between the MobiLink server and the access database (e.g. MobiLink Server <-> SQL Anywhere database <-> MS Access database)? If so, can where can a find documentation on how to do this effectively and efficiently? Internally some members of my staff did it b/c we needed to sync to Postgres in the past but I’m afraid they may not have followed a best practice.
3) Lastly Access only allows a limited number of concurrent connections at a time (max 255), so if we ended having that a greater number of potential users and can use SQL Anywhere as a delegate b/w MobiLink server and the Access database, is there a simple configuration in MobiLink to queue up synchronization requests?
"As you discovered, MobiLink does not natively support synchronization with MS Access. However, you can still do that by using what we call direct row handling. What this entails is you writing the synchronization logic in either Java or .NET. The code you write uses the MobiLink API to define the synchronization events. The architecture then becomes:
SQL Anywhere or UltraLite <-> MobiLink <-> MS Access
You can also go the delegate route, but I think that's a bit of overkill. Have a look at the docs for direct row handling here: