locked
Looking for a Client Sync Provider for SQL 2005. RRS feed

  • Question

  • I will build a hub & spoke Sync application, with SQL 2005 on both the hub and spoke (‘Server’ and ‘Client’).

     

    So far , I’ve seen two choices for a Client Sync Provider :
    1. Sql Server Compact 3.5
    2. SQL Express *

     

    Has anyone written a SQL 2005 Client Sync Provider?  I don’t have the resources to write one  myself(time/money), so what is a good alternative to Sync ? Merge Replication ?

     

    Thanks,Peter

     

    * http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=sync&ReleaseId=1200

    • Moved by Hengzhe Li Friday, April 22, 2011 5:43 AM (From:SyncFx - Microsoft Sync Framework Database Providers [ReadOnly])
    Tuesday, February 10, 2009 5:01 PM

All replies

  • I would recommend you to take a look at sample code for SQLExpressClientSyncProvider in hub spoke scenario.

    http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=sync&ReleaseId=1200

    Instead of using SQL Express, you can customize it to use SQL 2005 as the client db.

    Hope this helps,

    Patrick

    Tuesday, February 10, 2009 11:17 PM
  • Patrick,

    Being a Sync newbie, can you tell me briefly what, in SQL Express provider ,  I would customize to get it to work with SQL 2005 ?

    I really appreciate you help,Peter

    Wednesday, February 11, 2009 12:42 AM
  • SqlExpressClientSyncProvider should work with SQL Server 2005. The reason why it is called Express client, and not SQLClientSyncProvider is because SQL server is not intended to serve the simple role of being a client. Nevertheless, it can serve to act as a client within the code sample.

    http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=sync&ReleaseId=1200

    For example, try passing connection to SQL Server 2005 as Client database.

    It should work.

    Make sure to change the following variables before you build.

    Tests.cs within SQLExpressProviderSampleTests

    line 72

    private string serverSqlInstanceName = Environment.MachineName + @"\SQLEXPRESS";
    private
    string clientSqlInstanceName = Environment.MachineName + @"\SQLEXPRESS";

    change to

    private string serverSqlInstanceName = Environment.MachineName;
    private string clientSqlInstanceName = Environment.MachineName;

    • Proposed as answer by Patrick S. Lee Monday, February 23, 2009 7:42 PM
    Wednesday, February 11, 2009 2:06 AM