他の ADO.NET 互換データベースの同期

ここでは、Sync Framework を使用して実行できる一般的な同期タスクの背景情報、手順の内容、および完全なコード例について説明します。Sync Framework を使用して SQL Server 以外のデータベースを同期する具体的な方法を紹介します。このリリースのコード例では SQL Server が使用されていますが、SQL Server 固有のオブジェクト (SqlConnection など) や SQL クエリを一部変更することで、他の ADO.NET 互換データベースでも同じコードを使用できます。SQL Server の同期 (SQL Server Express と SQL Server Compact を含む) については、「コラボレーション同期を構成して実行する方法 (SQL Server)」を参照してください。

このセクションの内容

操作方法に関するトピックのサンプル アプリケーション

操作方法に関する各トピックには、1 つのコンソール アプリケーションが含まれています。このアプリケーションは C# と Visual Basic の両方で記述されており、API の特定の機能を示しています。特定のタスクや機能のコード例のみを示す方が簡単ですが、特定の機能を完全なコンテキストで確認すると、Sync Framework の動作を理解しやすくなります。

各アプリケーションには、次のクラスに加え、説明している機能に関連する他のクラスも含まれます。

  • Program : このクラスは、同期を設定し、Utility クラスからメソッドを呼び出します。Utility クラスは、接続文字列情報の保持や同期にかかわるデータベースの変更など、同期に直接関連しないすべての機能を扱います。

  • SampleSyncAgent : このクラスは SyncOrchestrator から派生しています。

  • SampleSyncProvider : このクラスには、DbSyncProvider オブジェクトまたは SqlCeSyncProvider オブジェクトを同期の対象のノードごとに作成するメソッドのほか、DbSyncProvider を使って同期されるテーブルごとに DbSyncAdapter オブジェクトを作成するメソッドがあります。

すべてのアプリケーション コードは Visual Studio 2008 と SQL Server 2008 でテスト済みです。

各アプリケーションを実行するには

  1. データベース プロバイダーのセットアップ スクリプトに関するトピック」の「コラボレーション シナリオのカスタム変更追跡」にある Transact-SQL スクリプトを実行します。このスクリプトにより、一連のテーブルとトリガーを含む 3 つのデータベース、および一連のストアド プロシージャが作成されます。サンプル データを削除して再挿入するには、usp_ResetPeerData ストアド プロシージャを使用します。

  2. データベース プロバイダーの Utility クラスに関するトピック」から Utility クラスのコードをコピーします。実行する各アプリケーションにこのコードを貼り付けるか、コードから DLL を作成して、その DLL を各アプリケーションから参照します。このクラスのデータベース接続文字列ではデータベース名に localhost を使用しています。必要に応じてデータベース名を更新してください。

  3. 次の DLL への参照を追加します。

    • Microsoft.Synchronization.dll

    • Microsoft.Synchronization.Data.dll

    • Microsoft.Synchronization.Data.SqlServerCe.dll and System.Data.SqlServerCe.dll (一部の例では不要)

参照

概念

コラボレーション同期のアーキテクチャとクラス
コラボレーションのシナリオ
コラボレーション同期を構成して実行する方法 (SQL Server)