방법: SQL Server Compact Edition 구독 다시 초기화(프로그래밍 방식)
이 항목에서는 SqlCeReplication 클래스를 사용하여 Microsoft SQL Server 2005 Compact Edition(SQL Server Compact Edition)의 구독을 다시 초기화하는 방법에 대해 설명합니다. SqlServerCe 네임스페이스 사용에 대한 자세한 내용은 SqlServerCe 네임스페이스 참조 설명서를 참조하십시오.
구독을 다시 초기화하려면 다음과 같이 하십시오.
SqlCeReplication 개체를 초기화합니다.
SqlCeReplication repl = new SqlCeReplication();
연결 속성을 설정합니다. 이러한 속성은 구독하고 있는 게시의 이름 및 위치, 로컬 SQL Server Compact Edition 데이터베이스의 이름 및 위치, SQL Server Compact Edition 서버 에이전트의 위치를 지정합니다.
repl.InternetUrl = "https://www.adventure-works.com/sqlmobile/sqlcesa30.dll"; repl.InternetLogin = "MyInternetLogin"; repl.InternetPassword = "<password>"; repl.Publisher = "MyPublisher"; repl.PublisherDatabase = "MyPublisherDatabase"; repl.PublisherLogin = "MyPublisherLogin"; repl.PublisherPassword = "<password>"; repl.Publication = "MyPublication"; repl.Subscriber = "MySubscriber"; repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf";
ReinitializeSubscription 메서드를 호출하여 다시 초기화할 구독을 표시합니다. ReinitializeSubscription 메서드에 true를 전달하면 다시 초기화되기 전에 구독자의 변경 내용이 게시자로 업로드됩니다. false를 전달하면 다시 초기화하는 동안 구독자의 변경 내용이 무시됩니다.
repl.ReinitializeSubscription(true);
구독을 다시 채우려면 ReinitializeSubscription 메서드를 호출한 다음 Synchronize 메서드를 호출해야 합니다.
repl.Synchronize();
예
이 예제에서는 SQL Server Compact Edition 구독을 다시 초기화하는 방법을 보여 줍니다. 이 예제에서는 구독자의 모든 변경 내용이 게시자로 업로드되고 구독이 다시 초기화된 후 데이터가 동기화됩니다.
SqlCeReplication repl = null;
try
{
// Create SqlCeReplication instance
//
repl = new SqlCeReplication();
repl.InternetUrl = "https://www.adventure-works.com/sqlmobile/sqlcesa30.dll";
repl.InternetLogin = "MyInternetLogin";
repl.InternetPassword = "<password>";
repl.Publisher = "MyPublisher";
repl.PublisherDatabase = "MyPublisherDatabase";
repl.PublisherLogin = "MyPublisherLogin";
repl.PublisherPassword = "<password>";
repl.Publication = "MyPublication";
repl.Subscriber = "MySubscriber";
repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf";
// Mark the subscription for reinitialization with Upload first
repl.ReinitializeSubscription(true);
// Synchronize to SQL Server to populate the Subscription
repl.Synchronize();
}
catch (SqlCeException)
{
// Handle errors here
}
finally
{
// Dispose the repl object
repl.Dispose();
}
Dim repl As SqlCeReplication = Nothing
Try
' Create SqlCeReplication instance
repl = New SqlCeReplication()
repl.InternetUrl = "https://www.adventure-works.com/sqlmobile/sqlcesa30.dll"
repl.InternetLogin = "MyInternetLogin"
repl.InternetPassword = "<password>"
repl.Publisher = "MyPublisher"
repl.PublisherDatabase = "MyPublisherDatabase"
repl.PublisherLogin = "MyPublisherLogin"
repl.PublisherPassword = "<password>"
repl.Publication = "MyPublication"
repl.Subscriber = "MySubscriber"
repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf"
' Mark the subscription for reinitialization with Upload first
repl.ReinitializeSubscription(True)
' Synchronize to SQL Server to populate the Subscription
repl.Synchronize()
Catch
' Handle errors here
Finally
' Dispose the repl object
repl.Dispose()
End Try
참고 항목
개념
병합 복제 사용
게시 구독(SQL Server Compact Edition)
구독 다시 초기화(SQL Server Compact Edition)