none
Upload and Download problem synchronizing Sql Server and Sql Azure - Sync Framework

    Question

  • Hello, 

    I'm trying to synchronize an Sql Server database with SQL Azure Database (please be patient 'cause I don't fully understand Sync Framework). These are the requirements:  

    - First: synchronize 1 table from Sql Azure to Sql Server
    - Second: synchronize 13 other tables (including the table I mentioned in the first step) from Sql Server to Azure. 

    I've created a console application, and this is the code:

     1. I create one scope with the 13 tables:

           DbSyncScopeDescription myScope = new DbSyncScopeDescription("alltablesyncgroup");
           DbSyncTableDescription table = SqlSyncDescriptionBuilder.GetDescriptionForTable("tablename", sqlServerConn);
           myScope.Tables.Add(table); //repeated 13 times.

    2. I Provision both data bases:
            SqlSyncScopeProvisioning sqlAzureProv = new SqlSyncScopeProvisioning(sqlAzureConn, myScope);
            if (!sqlAzureProv.ScopeExists("alltablesyncgroup"))
            {
              sqlAzureProv.Apply();
              }
            SqlSyncScopeProvisioning sqlServerProv = new SqlSyncScopeProvisioning(sqlServerConn, myScope);
            if (!sqlServerProv.ScopeExists("alltablesyncgroup"))
            {
              sqlServerProv.Apply();          
            }

    3. I create the SyncOrchestrator with the SyncDirectionOrder.Download to sync the firts table:
                    SqlConnection sqlServerConn = new SqlConnection(sqllocalConnectionString);
                    SqlConnection sqlAzureConn = new SqlConnection(sqlazureConnectionString);
                    SyncOrchestrator orch = new SyncOrchestrator
                    {
                        RemoteProvider = new SqlSyncProvider(scopeName, sqlAzureConn),
                        LocalProvider = new SqlSyncProvider(scopeName, sqlServerConn),
                        Direction = SyncDirectionOrder.Download
                    };
                    orch.Synchronize();

    4. Later, I use the same function only changing the direction SyncDirectionOrder.Upload to sync the 13 remaining tables 
                    SqlConnection sqlServerConn = new SqlConnection(sqllocalConnectionString);
                    SqlConnection sqlAzureConn = new SqlConnection(sqlazureConnectionString);
                    SyncOrchestrator orch = new SyncOrchestrator
                    {
                        RemoteProvider = new SqlSyncProvider(scopeName, sqlAzureConn),
                        LocalProvider = new SqlSyncProvider(scopeName, sqlServerConn),
                        Direction = SyncDirectionOrder.Upload
                    };
                    orch.Synchronize();

    Now, here is the thing, obviously I'm doing it wrong 'cause when I download, the syncStats shows that a lot of change have been applied BUT I can't see it reflected on any data base and when I try to execute the Upload sync it seems to be going into a loop 'cause the Upload process doesn't stop.

    Thanks!!!


    • Edited by lachama Friday, October 25, 2013 5:57 AM
    Friday, October 25, 2013 5:56 AM