Replication ActiveX Controls サンプル
更新 : 2006 年 4 月 14 日
この Readme ファイルでは、Replication ActiveX Controls サンプルのインストールと実行方法について詳しく説明します。
シナリオ
このサンプルは、SQL ディストリビューション コントロールと SQL マージ コントロールをカスタム アプリケーションに含める方法を示しています。このサンプルでは、Microsoft SQL Server 2005 の 1 つのインスタンスをパブリッシャ、ディストリビュータ、およびサブスクライバ用に使用します。この場合、SQL ディストリビューション コントロールと SQL マージ コントロールがディストリビュータで実行されます。サンプルには、2 つの異なるサンプル プロジェクトが含まれています。1 つは Microsoft Visual C++ 6.0 コンソール アプリケーション、もう 1 つは Microsoft Visual Basic 6.0 フォーム ベースのアプリケーションです。それぞれのプロジェクトで、SQL ディストリビューション コントロールと SQL マージ コントロールの両方を示します。また、これらのコントロールのコールバック機能を使用して同期の状態を監視する方法も示します。Visual Basic 6.0 アプリケーションでは、サブスクリプションのプロパティを変更することもできます。
メモ : |
---|
マネージ コード アプリケーションでは、Microsoft.SqlServer.Replication 名前空間の TransSynchronizationAgent クラスおよび MergeSynchronizationAgent クラスを使用します。詳細については、「レプリケーションのプログラミング計画」を参照してください。 |
言語
- Microsoft Visual Basic 6.0
- Microsoft Visual C++ 6.0
- Transact-SQL
前提条件
このサンプルを実行する前に、次のソフトウェアがインストールされていることを確認してください。
- SQL Server 2005 (オプションでインストールされる次のコンポーネントを含む)
- データベース サービス (レプリケーションを含む)。
- クライアント接続コンポーネント。
- ソフトウェア開発キット (SDK)。
- AdventureWorks サンプル OLTP データベース。このサンプル データベースは SQL Server 2005 に含まれており、SQL Server デベロッパー センターから入手することもできます。
- SQL Server 2005 のサンプル。これらのサンプルは SQL Server 2005 に含まれており、SQL Server デベロッパー センターから入手することもできます。詳細については、「サンプルのインストール」を参照してください。
- Visual Studio 6.0、Visual Basic 6.0、または Visual C++ 6.0。
メモ : このサンプルは 64 ビット (IA64) プラットフォームではサポートされていません。
必要な権限
Replication ActiveX Controls サンプルでは、Windows 認証を使用します。サンプルの構成と実行を行うために必要な権限は、次のように、レプリケーション セキュリティ要件に基づいています。
- レプリケーション作業共有の作成、レプリケーションの構成、パブリケーションの作成、および初期スナップショットの生成を行う InstallReplicationControlSample.bat を実行するには、使用する Windows アカウントが sysadmin 固定サーバー ロールのメンバである必要があります。
- SQL ディストリビューション コントローラまたは SQL マージ コントロールを起動してサンプル サブスクリプションを同期するには、使用する Windows アカウントが、ディストリビューション データベースおよびサブスクリプション データベースの db_owner 固定データベース ロールのメンバである必要があります。
サンプルのビルドと構成
サンプル プロジェクトのビルドとレプリケーション トポロジの構成を行うには、次の手順を行います。
- レプリケーション インストール スクリプトを実行します。
- Visual Studio 6.0、Visual Basic 6.0、または Visual C++ 6.0 を使用して、Visual Basic バージョンまたは Visual C++ バージョンのサンプルをビルドします。
Replication Controls サンプルを構成するには
AdventureWorks サンプル データベースがインストールされ、データベースがアタッチされていることを確認します。データベースがアタッチされていない場合は、SQL Server Books Online の「AdventureWorks のサンプル データベースとサンプルのインストール」を参照してください。
SQL Server データベース エンジン サンプルの最新バージョンがインストールされていることを確認します。詳細については、SQL Server Books Online の「Books Online のダウンロードと更新」を参照してください。
SQL Server エージェントが実行されていることを確認します。このサービスのステータスの表示およびサービスの開始は、SQL Server Management Studio のオブジェクト エクスプローラで行えます。
Replication ActiveX Controls サンプル スクリプトのインストール場所へ移動します。既定の場所は、C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\Scripts です。
InstallReplicationControlSample.bat を実行します。要求されたら、スナップショット エージェント ジョブを実行する Windows アカウントのログイン名 (大文字小文字を区別した "DOMAIN\login" の形式) とパスワードを入力します。これによって sqlcmd.exe が呼び出されて CreateReplicationControlPublications.sql が実行され、次のように動作します。
- ローカル サーバーでレプリケーションが構成されていることを確認し、構成されていない場合は、ディストリビューション データベースを使用するローカル ディストリビュータをパブリッシャとして構成する。
- サンプル パブリケーションを削除し、再作成する。
- パブリケーションにアーティクルを追加する。
- スナップショット エージェント ジョブを開始し、パブリケーションの初期スナップショットを生成する。
- サブスクリプションを作成してパブリケーションに登録する。
Visual C++ 6.0 を使用して Replication ActiveX Controls サンプルをビルドするには
Visual C++ 6.0 を開きます。[ファイル] メニューの [ワークスペースを開く] をクリックして、C++ プロジェクト ファイルの場所 (既定では、C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\CPP6 ディレクトリ) に移動し、distsamp.dsw を開きます。
[ディレクトリ] タブの [表示するディレクトリ] ボックスの一覧で、[ライブラリ ファイル] をクリックし、パス C:\Program Files\Microsoft SQL Server\90\COM を追加します。このパスは、SQL Server 2005 が既定のディレクトリにインストールされたことを想定したものです。
[ビルド] メニューの [ビルド distsamp.exe] をクリックします。ビルド後の distsamp.exe の既定の場所は、C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\CPP6\Debug または C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\CPP6\Release です。既定の場所は、ビルド構成によって異なります。
手順 1. ~ 3. を繰り返して、mergsamp.exe をビルドします。
Visual Basic 6.0 を使用して Replication ActiveX Controls サンプルをビルドするには
Visual Basic 6.0 を起動します。[ファイル] メニューの [プロジェクトを開く] をクリックして、C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\VB6 ディレクトリに移動し、replsamp.vbp を開きます。
[プロジェクト] メニューの [参照設定] をクリックして、[参照可能なライブラリ ファイル] ボックスで、次の参照先が有効になっていることを確認します。
- Microsoft SQL Distribution Control 9.0
- Microsoft SQL Merge Control 9.0
- Microsoft SQL Replication Errors 9.0
[ファイル] メニューの [ReplSamp.exe の作成] をクリックします。作成された ReplSamp.exe の既定の場所は、C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\VB6 です。
サンプルの実行
サンプルを使用するには、ビルドした実行可能ファイルの場所へ移動し、実行可能ファイルを実行する必要があります。
Visual C++ 6.0 バージョンの Replication ActiveX Controls サンプルを実行するには
Visual C++ 6.0 バージョンの Replication ActiveX Controls サンプルのビルド場所に移動します。既定の場所は、C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\CPP6\Debug です。
distsamp.exe を実行してディストリビューション エージェントを開始し、トランザクション パブリケーションに対するプル サブスクリプションの同期を実行します。その後、mergsamp.exe を実行して、マージ パブリケーションに対するプル サブスクリプションの同期を実行します。
Visual Basic 6.0 バージョンの Replication ActiveX Controls サンプルを実行するには
Visual Basic 6.0 バージョンの Replication ActiveX Controls サンプルのビルド場所に移動します。既定の場所は、C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\VB6 です。
ReplSamp.exe を実行します。
[Replication Controls ActiveX Sample] フォームで、[Publication type] ボックスの一覧から [Transactional] または [Merge] を選択し、[Get Subscription Properties] をクリックします。これにより、選択したサブスクリプションのプロパティが読み込まれます。
(省略可) このアプリケーションを使用して、ローカル コンピュータ上の他のプル サブスクリプションを同期することもできます。[Edit] をクリックしてサブスクリプションのプロパティを変更し、完了したら [Update] をクリックします。
[Synchronize] をクリックして、サブスクリプションを同期します。
(省略可) 既定のサブスクリプションの 1 つに対して高速同期を実行するには、[Synchronize] メニューの [Transactional] または [Merge] をクリックします。
サンプルの削除
次の手順に従って、Replication ActiveX Controls サンプルを削除します。
Replication ActiveX Controls サンプルを削除するには
Replication ActiveX Controls サンプル スクリプトのインストール場所へ移動します。既定の場所は、C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\Scripts です。
バッチ ファイル RemoveReplicationControlSample.bat を実行します。
要求された場合、「Y」と入力して Enter キーを押し、パブリッシャのレプリケーション オブジェクトのすべてと、サブスクリプション データベースのレプリケーション オブジェクトのすべてを削除し、パブリッシャでパブリッシングとディストリビューションをアンインストールします。
重要 : このスクリプトにより、レプリケーション インフラストラクチャがすべて削除されます。このパブリッシャまたはディストリビュータを使用するパブリケーションを他にも作成した場合は、RemoveReplicationControlSample.bat を実行しないでください。代わりに、手動でサンプル パブリケーションを削除する必要があります。詳細については、SQL Server Books Online の「パブリケーションを削除する方法 (SQL Server Management Studio)」または「パブリケーションを削除する方法 (レプリケーション Transact-SQL プログラミング)」を参照してください。 AdventureWorksLocal データベースで、sp_removedbreplication を実行します。
データベース コンテキストを master データベースに変更し、
DROP DATABASE AdventureWorksLocal
を実行します。
コメント
サンプルは、演習目的で利用するためにのみ提供されています。サンプルを運用環境で使用することは想定されていないため、運用環境でのサンプルのテストは行われていません。Microsoft では、これらのサンプルに関する製品サポート サービスを提供していません。システム管理者の承認を得ることなく、サンプル アプリケーションやサンプル アセンブリを、運用中の SQL Server データベースやレポート サーバーに接続したり、これらのデータと共に使用することは避けてください。 Microsoft からは、これらのサンプルについてのテクニカル サポートは提供されません。サンプル アプリケーションおよびサンプル アセンブリは、システム管理者の許可なしに、運用中の SQL Server データベースやレポート サーバーに接続しないようにしてください。
参照
概念
その他の技術情報
レプリケーションのプログラミング計画
レプリケーション開発者向けの情報
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2006 年 4 月 14 日 |
|