0

我目前正在開發一個數據庫和sql server數據庫android(sqlite)之間的橋樑。同步創建多個訂閱sqlcereplication

要做到這一點,我使用Web服務和過濾的複製與存儲在服務器IIS 7上的sqlce數據庫。爲了開發這個,我在我的電腦上使用了IIS Express。一切工作正常我的電腦,但部署時,複製數據庫爲每個同步創建一個新的訂閱(雖然IIS Express同步工作,而不創建一個新的訂閱),沒有例外拋出,沒有任何東西。

我不明白爲什麼IIS 7或IIS Express以不同的方式同步數據庫。

這個問題的原因是什麼?

我使用Sql複製ce 3.5 sp2,Sql server 2008 R2作爲母版數據庫,IIS7。

我試圖: - 使用webserver上的一些軟件複製母數據庫,它的工作原理。 - 使用「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 

感謝

回答

0

,我發現自己的答案...... 我真的不知道,如果你想要做的合併複製爲什麼,但在sqlce上,您將需要讓IIS網站的「加載用戶配置文件」(在應用程序池上),否則訂閱會每次創建...