현재 데이터베이스와 SQL Server 데이터베이스 인 android (sqlite) 사이에 다리를 개발 중입니다.여러 구독 sqlcereplication 만들기 동기화
이렇게하려면 웹 서버를 사용하고 서버 IIS 7에 저장된 sqlce 데이터베이스로 복제본을 필터링합니다.이를 개발하기 위해 내 PC에서 IIS Express를 사용했습니다. 모든 것이 내 컴퓨터에서 잘 작동하지만 배포 할 때 복제 된 데이터베이스는 각 동기화에 대한 새 구독을 만듭니다 (새 구독을 만들지 않고 IIS Express 동기화에서 작동 함). 예외는 발생하지 않으며 아무 것도 발생하지 않습니다.
왜 IIS 7 또는 IIS Express가 다른 방식으로 데이터베이스를 동기화하는지 이해할 수 없습니다.
문제의 원인에 대한 아이디어가 있습니까?
저는 IIS7 인 Sql replication ce 3.5 sp2, Sql server 2008 R2를 데이터베이스로 사용합니다.
나는 시도했다 : - 웹 서버에 약간의 소프트웨어와 함께 복제 데이터베이스, 그것은 작동합니다. - "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
감사