【问题标题】:Sync creating multiple subscription sqlcereplication同步创建多个订阅 sqlcereplication
【发布时间】:2012-09-24 12:58:17
【问题描述】:

我目前正在开发数据库和 sql server 数据库 android (sqlite) 之间的桥梁。

为此,我使用 Web 服务,并使用存储在服务器 IIS 7 上的 sqlce 数据库过滤复制。为此,我在我的电脑上使用了 IIS Express。在我的电脑上一切正常,但在部署时,复制的数据库会为每个同步创建一个新订阅(而在 IIS Express 上同步工作而不创建新订阅),没有抛出异常,什么都没有。

我不明白为什么 IIS 7 或 IIS Express 以不同的方式同步数据库。

对问题原因的想法?

我使用Sql replication ce 3.5 sp2,Sql server 2008 R2作为母数据库,IIS7。

我试图: - 用网络服务器上的一个小软件复制母数据库,它可以工作。 - 使用“SqlCeReplication.loadproperties”查找我的sqlce数据库参数,避免创建新订阅,不起作用。

其他细节: - 第一次不同步时,webservices不做“repl.AddSubscription(AddOption.CreateDatabase)”,我已经检查过了。

这是用于同步的代码:

' Define the server, publication, and database names.
Dim repl As SqlCeReplication = Nothing
Try
    repl = New SqlCeReplication
    repl.Publisher = PublisherName
    repl.PublisherLogin = login
    repl.PublisherPassword = password
    repl.PublisherSecurityMode = SecurityType.DBAuthentication
    repl.PublisherDatabase = My.Settings.DBName
    repl.Publication = PublicationName
    repl.InternetUrl = "https://iis.mydomain.com:444/sql/sqlcesa35.dll"
    repl.InternetLogin = "sync"
    repl.InternetPassword = "dfssd"
    repl.Subscriber = "MobileApp - " & login
    repl.SubscriberConnectionString = "Data Source=" & My.Settings.folderDB + "\" + subscriptionName + ".sdf"
    If Not File.Exists(My.Settings.dossierBDD + "\" + subscriptionName + ".sdf") Then
        repl.AddSubscription(AddOption.CreateDatabase)
    End If
    repl.Synchronize()
Catch err As SqlCeException
Finally
    repl.Dispose()
    repl = Nothing
End Try

提前致谢

【问题讨论】:

    标签: asp.net web-services sql-server-2008-r2 sql-server-ce merge-replication


    【解决方案1】:

    我自己找到了答案... 我真的不知道为什么,但是如果你想在 sqlce 上进行合并复制,你需要让 IIS 网站“加载用户配置文件”(在应用程序池上),否则每次都会创建订阅......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-02
      • 1970-01-01
      • 1970-01-01
      • 2019-04-13
      • 1970-01-01
      • 2019-03-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多