その他の SQL Server 以外のサブスクライバ
Microsoft がサポートしている SQL Server 以外のサブスクライバの一覧については、「SQL Server 以外のサブスクライバ」を参照してください。ここでは、ODBC ドライバと OLE DB プロバイダの要件について説明します。
ODBC ドライバの要件
ODBC ドライバは、以下の要件を満たす必要があります。
- ODBC Level-1 に準拠している
- スレッドセーフで、SQL Server ディストリビュータが実行されているプロセッサ アーキテクチャ (Intel または Alpha) およびプラットフォーム (32 ビットまたは 64 ビット) に対応している
- トランザクションの実行が可能である
- データ定義言語 (DDL) をサポートする
- 読み取り専用にはできない
- MSreplication_subscriptions などの長いテーブル名をサポートしている
OLE DB インターフェイスを使用するレプリケーション
トランザクション レプリケーションを行うには、OLE DB プロバイダが以下のオブジェクトをサポートする必要があります。
- DataSource オブジェクト
- Session オブジェクト
- Command オブジェクト
- Rowset オブジェクト
- Error オブジェクト
DataSource オブジェクト インターフェイス
データ ソースに接続するためには、以下のインターフェイスが必要です。
- IDBInitialize
- IDBCreateSession
- IDBProperties
プロバイダが IDBInfo インターフェイスをサポートしている場合、Microsoft SQL Server はこのインターフェイスを使用して、引用符で囲まれた識別子、SQL ステートメントの最大長、テーブル名と列名の最大文字数などの情報を取得します。
Session オブジェクト インターフェイス
以下のインターフェイスが必要です。
- IDBCreateCommand
- ITransaction
- ITransactionLocal
- IDBSchemaRowset
Command オブジェクト インターフェイス
以下のインターフェイスが必要です。
- ICommand
- ICommandProperties
- ICommandText
- ICommandPrepare
- IColumnsInfo
- IAccessor
- ICommandWithParameters
IAccessor は、パラメータ アクセサを作成するために必要です。プロバイダが IColumnRowset をサポートしている場合、SQL Server はこのインターフェイスを使用して列が ID 列であるかどうかを判断します。
Rowset オブジェクト インターフェイス
以下のインターフェイスが必要です。
- IRowset
- IAccessor
- IColumnsInfo
アプリケーションは、サブスクリプション データベース内に作成された、レプリケートされるテーブル上の行セットを開く必要があります。IColumnsInfo と IAccessor は、その行セット内のデータにアクセスするために必要です。
Error オブジェクト インターフェイス
エラーの管理には、以下のインターフェイスを使用します。
- IErrorRecords
- IErrorInfo
ISQLErrorInfo は、OLE DB プロバイダが ISQLErrorInfo をサポートしている場合に使用します。
OLE DB プロバイダの詳細については、OLE DB プロバイダ付属のマニュアルを参照してください。