【问题标题】:DataSync In Mvc4 for Two Different User两个不同用户的 Mvc4 中的 DataSync
【发布时间】:2014-01-07 19:01:20
【问题描述】:

我正在尝试在 mvc4 网站中同步一个 sql 的两个数据库?

我有这段代码要同步,它没有显示错误,但没有执行

using Microsoft.Synchronization;
using Microsoft.Synchronization.Data;
using Microsoft.Synchronization.Data.SqlServer;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace Planetskool.Controllers
{
    public class DataSyncViewController : Controller
    {
        //
        // GET: /DataSyncView/

        public ActionResult Index()
        {
            string sqlazureConnectionString = "Server=(LocalDb)\v11.0;Initial Catalog=aspnet-Planetskool-20130901224447;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-20130901224447.mdf";
            string sqllocalConnectionString = "Server=(LocalDb)\v11.0;Initial Catalog=aspnet-Planetskool-20130901224446;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-20130901224446.mdf";

            using (SqlConnection serverCon = new SqlConnection(sqlazureConnectionString))
            using (SqlConnection clientCon = new SqlConnection(sqllocalConnectionString))
            {
                var provider1 = new SqlSyncProvider("scope1", serverCon);
                var provider2 = new SqlSyncProvider("scope1", clientCon);

                prepareServer(provider1);
                prepareClinet(provider2, serverCon);
                SyncOrchestrator sync = new SyncOrchestrator();
                sync.LocalProvider = provider1;
                sync.RemoteProvider = provider2;

                sync.Synchronize();
                return View();

            }}
            private static void prepareServer(SqlSyncProvider provider)
    {
        SqlConnection connection = (SqlConnection)provider.Connection;
        SqlSyncScopeProvisioning config = new SqlSyncScopeProvisioning(connection);

        if (!config.ScopeExists(provider.ScopeName))
        {
            DbSyncScopeDescription scopeDesc = new DbSyncScopeDescription(provider.ScopeName);
            scopeDesc.Tables.Add(SqlSyncDescriptionBuilder.GetDescriptionForTable("Author_Master", connection));
            config.PopulateFromScopeDescription(scopeDesc);
            config.SetCreateTableDefault(DbSyncCreationOption.CreateOrUseExisting);
            config.Apply();
        }
    }

    private static void prepareClinet(SqlSyncProvider provider, SqlConnection sourceConnection)
    {
        SqlConnection connection = (SqlConnection)provider.Connection;
        SqlSyncScopeProvisioning config = new SqlSyncScopeProvisioning(connection);

        if (!config.ScopeExists(provider.ScopeName))
        {
            DbSyncScopeDescription scopeDesc = new DbSyncScopeDescription(provider.ScopeName);
            scopeDesc.Tables.Add(SqlSyncDescriptionBuilder.GetDescriptionForTable("Author_Master", sourceConnection));
            config.PopulateFromScopeDescription(scopeDesc);
            config.Apply();
        }
    }

        }

    }

【问题讨论】:

  • 您的初始目录相同,但数据文件不同,这是您想要的吗?
  • @jlew 不,这是错误的初始目录也不同于它没有执行

标签: sql asp.net-mvc-4 azure sync microsoft-sync-framework


【解决方案1】:

您可以在详细模式下启用同步框架跟踪以跟踪同步。同样,您是否忘记设置同步方向?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-22
    • 2019-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-13
    相关资源
    最近更新 更多