その他の 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 プロバイダー付属のマニュアルを参照してください。