我目前正在開發一個數據庫和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
感謝