One of the design goals of Sync Services framework is to enable heterogeneous database in the backend. That explains the open design of the DbServerSyncProvider class. If you haven’t noticed already all the commands supplied to the provider and SyncAdapters are or type DbCommand which means you can pass any of ADO.NET command type (SqlCommand, OracleCommand, OdbcCommand, OleDbCommand and any vendor implementation too).
To show you this in action, I wrote a simple demo application. Unlike previous demos, I am only showing download only scenario for one table which is 'orders'. However, all the features and techniques demonstrated in previous demos against SQL Server as backend can be easily implemented with Oracle as backend. I assume you have an oracle database somewhere to test against.
One important take away from this demo is the need tell the SqlCe database on the client how to map Oracle specific data types to those of SqlCe. You will also notice that I did not add triggers nor I did add as many metadata columns as in previous demos. That’s because I am downloading changes only and not uploading anything to the server.
I’ve a dedicated page for this demo on my website. There you can download the demo project and experiment with it.
Feedback: Visit Sync Services Forum
Update: Just to let you know, I left Microsoft to start a new company, Raveable Hotel Reviews. See examples: Romantic Hotels in NYC, Best Hotels in Seattle, Top 10 Hotels in Myrtle Beach, Kid Friendly Hotels in Chicago, Hotels with in-room jacuzziand Best Hotels in Miami. Your feedback is welcome on twitter.com/raveable, raveable blog.