Я пытаюсь изучить Sync Framework.Я следовал шаг за шагом Документации MSDN, и это не работало.Удивлены ?!Что мне нужно, это синхронизировать базу данных SQL Express с базой данных SQL Express.Читая о подготовке и другой подготовке, которую я должен сделать, я никогда не мог найти, должен ли это выполняться каждый раз, когда я хочу использовать синхронизацию.Я имею в виду предоставление -> синхронизация -> депровидение.Другое дело, что я получаю это странное исключение, делая шаг за шагом пример MSDN.
DbProvisioningException "MomScope" уже существует ... не должно быть?1005 *
private void InitializeSync()
{
SqlConnection sourceConn = new SqlConnection(ConfigManager.Config.SourceSyncConnectionString);
SqlConnection myConn = new SqlConnection(ConfigManager.Config.ConnectionString);
#region SET SOURCE PROVIDER
SqlSyncProvider sourceSqlProv = new SqlSyncProvider("MomSync", sourceConn);
DbSyncScopeDescription sourceScope = new DbSyncScopeDescription("MomScope");
DbSyncTableDescription productsSourceTableDesc = SqlSyncDescriptionBuilder.GetDescriptionForTable("Mom_Products", sourceConn);
DbSyncTableDescription customersSourceTableDesc = SqlSyncDescriptionBuilder.GetDescriptionForTable("Mom_Customer", sourceConn);
DbSyncTableDescription ordersSourceTableDesc = SqlSyncDescriptionBuilder.GetDescriptionForTable("Mom_Orders", sourceConn);
DbSyncTableDescription paymentsSourceTableDesc = SqlSyncDescriptionBuilder.GetDescriptionForTable("Mom_Payments", sourceConn);
sourceScope.Tables.Add(productsSourceTableDesc);
sourceScope.Tables.Add(customersSourceTableDesc);
sourceScope.Tables.Add(ordersSourceTableDesc);
sourceScope.Tables.Add(paymentsSourceTableDesc);
SqlSyncScopeProvisioning sourceProvision = new SqlSyncScopeProvisioning(sourceConn, sourceScope);
sourceProvision.SetCreateTableDefault(DbSyncCreationOption.Skip);
try
{
sourceProvision.Apply();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
#endregion
#region SET MY PROVIDER
SqlSyncProvider myProvider = new SqlSyncProvider("MomSync", myConn);
DbSyncScopeDescription scopeSourceDesc = SqlSyncDescriptionBuilder.GetDescriptionForScope("MomScope", sourceConn); <===== DbProvisioningException (MomScope already exists????)
SqlSyncScopeProvisioning myProvision = new SqlSyncScopeProvisioning(myConn, scopeSourceDesc);
try
{
myProvision.Apply();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
#endregion
#region SET SYNC ORCHESTRATOR
OrcheStrator = new SyncOrchestrator
{
LocalProvider = myProvider,
RemoteProvider = sourceSqlProv,
Direction = SyncDirectionOrder.UploadAndDownload
};
((SqlSyncProvider)OrcheStrator.LocalProvider).ApplyChangeFailed += ApplyChangeFailedHandler;
#endregion
}
Есть ли правильные образцы синхронизации?Так что я могу понять, как создать эту задачу?
Спасибо.