다음을 통해 공유


SqlCeSyncProvider 클래스

클라이언트와 통신하며 동기화 조정자가 클라이언트 데이터베이스를 특정 방식으로 구현하지 못하도록 차단하는 SQL Server Compact의 동기화 공급자를 캡슐화합니다.

이 클래스는 CLS와 호환되지 않습니다.  

네임스페이스: Microsoft.Synchronization.Data.SqlServerCe
어셈블리: microsoft.synchronization.data.sqlserverce.dll의 Microsoft.Synchronization.Data.SqlServerCe

구문

‘선언
<CLSCompliantAttribute(False)> _
Public Class SqlCeSyncProvider
    Inherits RelationalSyncProvider
‘사용 방법
Dim instance As SqlCeSyncProvider
[CLSCompliantAttribute(false)] 
public class SqlCeSyncProvider : RelationalSyncProvider
[CLSCompliantAttribute(false)] 
public ref class SqlCeSyncProvider : public RelationalSyncProvider
/** @attribute CLSCompliantAttribute(false) */ 
public class SqlCeSyncProvider extends RelationalSyncProvider
CLSCompliantAttribute(false) 
public class SqlCeSyncProvider extends RelationalSyncProvider

주의

동기화 공급자가 수행하는 주요 작업은 다음과 같습니다.

  • 동기화에 사용할 수 있는 피어의 테이블에 대한 정보 저장

  • 응용 프로그램이 마지막 동기화 이후 데이터베이스에서 수행된 변경 내용을 검색하도록 지정

  • 데이터베이스에 증분 변경 내용 적용

  • 충돌하는 변경 내용 검색

예제

다음 코드 예제는 세 가지 다른 동기화 세션에 대해 공급자를 인스턴스화합니다. 첫 번째는 서버와 SQL Server 클라이언트 간 세션이고, 두 번째는 서버와 SQL Server 클라이언트 간 세션이고, 세 번째는 SQL Server 클라이언트와 SQL Server Compact 클라이언트 중 하나 간 세션이며, 네 번째는 서버와 다른 SQL Server Compact 클라이언트 간 세션입니다. 데이터베이스 스냅숏을 사용하여 SQL Server Compact 클라이언트 중 하나가 동기화됩니다. 전체 예제의 맥락에서 이 코드를 보려면 방법: 공동 작업 동기화 구성 및 실행(SQL Server)을 참조하십시오.

SampleSyncOrchestrator syncOrchestrator;
SyncOperationStatistics syncStats;

// Data is downloaded from the server to the SQL Server client.
syncOrchestrator = new SampleSyncOrchestrator(
    new SqlSyncProvider("filtered_customer", clientSqlConn, null, "Sync"),
    new SqlSyncProvider("filtered_customer", serverConn, null, "Sync")
    );
syncStats = syncOrchestrator.Synchronize();
syncOrchestrator.DisplayStats(syncStats, "initial");

// Data is downloaded from the SQL Server client to the 
// first SQL Server Compact client.
syncOrchestrator = new SampleSyncOrchestrator(
    new SqlCeSyncProvider("filtered_customer", clientSqlCe1Conn, "Sync"),
    new SqlSyncProvider("filtered_customer", clientSqlConn, null, "Sync")
    );
syncStats = syncOrchestrator.Synchronize();
syncOrchestrator.DisplayStats(syncStats, "initial");

// Create a snapshot from the SQL Server Compact database, which will be used to
// initialize a second Compact database. Again, this database could be provisioned
// by retrieving scope information from another database, but we want to 
// demonstrate the use of snapshots, which provide a convenient deployment
// mechanism for Compact databases.
SqlCeSyncStoreSnapshotInitialization syncStoreSnapshot = new SqlCeSyncStoreSnapshotInitialization("Sync");
syncStoreSnapshot.GenerateSnapshot(clientSqlCe1Conn, "SyncSampleClient2.sdf");

// The new SQL Server Compact client synchronizes with the server, but
// no data is downloaded because the snapshot already contains 
// all of the data from the first Compact database.
syncOrchestrator = new SampleSyncOrchestrator(
    new SqlSyncProvider("filtered_customer", serverConn, null, "Sync"),
    new SqlCeSyncProvider("filtered_customer", clientSqlCe2Conn, "Sync")
    );
syncStats = syncOrchestrator.Synchronize();
syncOrchestrator.DisplayStats(syncStats, "initial");
Dim syncOrchestrator As SampleSyncOrchestrator
Dim syncStats As SyncOperationStatistics

' Data is downloaded from the server to the SQL Server client. 
syncOrchestrator = New SampleSyncOrchestrator( _
    New SqlSyncProvider("filtered_customer", clientSqlConn, Nothing, "Sync"), _
    New SqlSyncProvider("filtered_customer", serverConn, Nothing, "Sync"))
syncStats = syncOrchestrator.Synchronize()
syncOrchestrator.DisplayStats(syncStats, "initial")

' Data is downloaded from the SQL Server client to the 
' first SQL Server Compact client. 
syncOrchestrator = New SampleSyncOrchestrator( _
    New SqlCeSyncProvider("filtered_customer", clientSqlCe1Conn, "Sync"), _
    New SqlSyncProvider("filtered_customer", clientSqlConn, Nothing, "Sync"))
syncStats = syncOrchestrator.Synchronize()
syncOrchestrator.DisplayStats(syncStats, "initial")

' Create a snapshot from the SQL Server Compact database, which will be used to 
' initialize a second Compact database. Again, this database could be provisioned 
' by retrieving scope information from another database, but we want to 
' demonstrate the use of snapshots, which provide a convenient deployment 
' mechanism for Compact databases. 
Dim syncStoreSnapshot As New SqlCeSyncStoreSnapshotInitialization("Sync")
syncStoreSnapshot.GenerateSnapshot(clientSqlCe1Conn, "SyncSampleClient2.sdf")

' The new SQL Server Compact client synchronizes with the server, but 
' no data is downloaded because the snapshot already contains 
' all of the data from the first Compact database. 
syncOrchestrator = New SampleSyncOrchestrator( _
    New SqlSyncProvider("filtered_customer", serverConn, Nothing, "Sync"), _
    New SqlCeSyncProvider("filtered_customer", clientSqlCe2Conn, "Sync"))
syncStats = syncOrchestrator.Synchronize()
syncOrchestrator.DisplayStats(syncStats, "initial")

상속 계층 구조

System.Object
   Microsoft.Synchronization.SyncProvider
     Microsoft.Synchronization.KnowledgeSyncProvider
       Microsoft.Synchronization.Data.RelationalSyncProvider
        Microsoft.Synchronization.Data.SqlServerCe.SqlCeSyncProvider

스레드로부터의 안전성

이 유형의 모든 public static(Visual Basic의 경우 Shared ) 멤버는 스레드로부터 안전합니다. 인스턴스 멤버는 스레드로부터의 안전성이 보장되지 않습니다.

참고 항목

참조

SqlCeSyncProvider 멤버
Microsoft.Synchronization.Data.SqlServerCe 네임스페이스