I enjoy using SyncFx v.2.1 in the application. Currently, the client side uses SQLCE, and server 2008 uses Server 2008 r2. I use the SyncFx proxy server and host the SyncAdapterBuilder server code in the WCF service. The client has SyncAgent and SyncTables, and it works great. I use integrated SQL change tracking instead of linked (so-called user / modified) change tracking because I am not allowed to modify an existing schema.
So my problem is that the system requirements have changed, and I need to use SQL Express on the client to support stored procedures.
Why not combine replication? Requirements also prohibit modifying a circuit or using triggers. In fact, the original version of the application used merge replication with SQLCE before migrating to SyncFx for SQLCE.
So how is this done? I read a lot of conflicting information, and I can only assume that this is in response to the constantly changing versions of SyncFx. There is no direct example of how SQL-SQL Express runs with change tracking on both. In addition, I am trying to move from a functional implementation of SQLCE to Express with minimal changes. The client can already use any type of database, this is just the current synchronization process that needs to be changed.
This is what I found, but did not succeed. I read every StackOverflow answer on this question and still have not found a way to do this, which really works.
- Database Sync: SQL Server and SQL Express N-Tier with WCF : This MS example works fine with SyncOrchistrator, but side tracking tables and triggers. I could not change this so that change tracking could be used on the client and server.
- SQL Server 2008 change tracking synchronization structure : StephaneT offers here, simply using the usual SQLCE approach using the SQL Express synchronization operator and SyncFx 2.0 technologies, only the client will need side-table modification. Unfortunately, all the links to this SQL Express provider example seem to be removed, and other messages from JuneT and even Liam Cavanagh on MSDN suggest moving forward with the new official SqlServerProvider instead of the personalized version of DbServerProvider. The problem is that there are no implementation examples, and I could not figure it out through the trial version and the error.
- Synchronizing SQL Server 2008 databases via HTTP using WCF and Sync Framework : Raj gives a better example (simple and easy to translate into SQLCE processes), unfortunately, it also uses SqlExpressClientSyncProvider which seems to have evaporated from the Internet. This also requires a binding table for tracking clients, I think that I will not succeed because I am not allowed to change the schema on the "existing" tables.
So any examples that might help me. Essentially, I want to port an existing valid SyncFx SQLCE through a proxy with integrated SQL change tracking using SyncAgent for the version that works for SQL Express, without changing the existing schema or using triggers. It should also be mentioned that I strongly use filter parameters, since there are 150+ tables in replication, and they will be extremely large without filters. I read a few links saying that SqlExpressClientSyncProvider does not support filters, but this is not possible to check, since I cannot find a link to this code, which is still good.
Perhaps there is a Raj example that uses SqlServerSyncProvider
Thanks in advance to everyone who can point me in the right direction!