I am trying to sync remote SQL database with local SQL database using microsoft sync framework
When It runs for local SQL for 2 different database it works like charm , when I try same code for remote database – local database sync , it ends up with error
The current operation could not be completed because the database is not provisioned for sync or you not have permissions to the sync configuration tables.
How to overcome with above exception
Here is my code
var serverProvision = new SqlSyncScopeProvisioning(serverConn); if (!serverProvision.ScopeExists(tableName)) { try { var scopeDesc = new DbSyncScopeDescription(tableName); scopeDesc.Tables.Add(SqlSyncDescriptionBuilder.GetDescriptionForTable(tableName, serverConn)); serverProvision.PopulateFromScopeDescription(scopeDesc); serverProvision.SetCreateTableDefault(DbSyncCreationOption.Skip); serverProvision.Apply(); } catch (Exception exception) { MessageBox.Show(exception.Message); } }
var clientProvision = new SqlSyncScopeProvisioning(clientConn);
if (!clientProvision.ScopeExists(tableName))
{
try
{
var scopeDesc = SqlSyncDescriptionBuilder.GetDescriptionForScope(tableName, serverConn);
clientProvision.PopulateFromScopeDescription(scopeDesc);
clientProvision.Apply();
}
catch (Exception exception)
{
MessageBox.Show(exception.Message);
}
}
var serverProvider = new SqlSyncProvider(tableName, serverConn);
var clientProvider = new SqlSyncProvider(tableName, clientConn);
var syncOrchestrator = new SyncOrchestrator{Direction = SyncDirectionOrder.DownloadAndUpload,LocalProvider = clientProvider, RemoteProvider = serverProvider};
((SqlSyncProvider)syncOrchestrator.LocalProvider).ApplyChangeFailed += ProgramApplyChangeFailed;
syncOrchestrator.Synchronize();
Thanks
Vinay
It was permission problem over shared database hosting !
Thanks JuneT for all your help.
Thank you all.
Thanks
Vinay