SQL Server 2005 CE 프레임 워크 3.5를 사용하고 있고 손에 들고 SQL Server와 병합 복제를 시도하고 있습니다. 동기화 할 코드를 실행하면 코드가 영원히 멈추는 것처럼 보입니다. 코드에 중단 점을 넣으면 Synchronize() 호출을 지나칠 수 없습니다.SQL Server CE 3.5 병합 복제 동기화가 걸려있다
SQL Server에서 복제 모니터를 보면 구독이 더 이상 동기화되지 않고 오류가 표시되지 않는 지점이됩니다. 따라서 동기화가 완료되었다고 가정합니다.
http://server/virtualdirectory/sqlcesa35.dll?diag은 어떤 문제도보고하지 않습니다.
이것은 모든 핸드 헬드 개발에서의 첫 번째 시도이므로, 나는 뭔가를 잘못했을 수도 있습니다. 그러나 SQL Server는 성공적인 동기화를보고하는 것 같습니다.
나는 이것에 나이를 보냈다 어떤 도움든지 중대하게 평가 될 것입니다!
여기 내 코드입니다.
const string DatabasePath = @"SD Card\mydb.sdf";
var repl = new SqlCeReplication
{
ConnectionManager = true,
InternetUrl = @"http://server/virtualdirectory/sqlcesa35.dll",
Publisher = @"servername",
PublisherDatabase = @"databasename",
PublisherSecurityMode = SecurityType.DBAuthentication,
PublisherLogin = @"username",
PublisherPassword = @"password",
Publication = @"publicationname",
Subscriber = @"PPC",
SubscriberConnectionString = "Data Source=" + DatabasePath
};
try
{
Cursor.Current = Cursors.WaitCursor;
if (!File.Exists(DatabasePath))
{
repl.AddSubscription(AddOption.CreateDatabase);
}
repl.Synchronize();
MessageBox.Show("Successfully synchronised");
}
catch (SqlCeException e)
{
DisplaySqlCeErrors(e.Errors, e);
}
finally
{
repl.Dispose();
Cursor.Current = Cursors.Default;
}