0

현재 데이터베이스와 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 

감사

답변

0

나 자신에게 내가 정말 왜 그러나 당신이 병합 복제를 수행하려는 경우 모르는 대답은 ... 발견 sqlce에서 IIS 웹 사이트에 "사용자 프로필로드"(응용 프로그램 풀에서)를 허용해야합니다. 그렇지 않으면 매번 구독이 만들어집니다.