Microsoft SQL Server と共に Connector for OLE DB を使用する上で、考慮しなければならない重要な事柄を次に説明します。
- Replication アクティビティのターゲットになっている SQL Server テーブルは、固有の索引を持たなければなりません。Replication アクティビティの前に、ISQL などの SQL フロントエンドを介して次のコマンドを実行し、索引を作成してください。
create unique index <indexname> on <tablename> (<col1>, <col2>,..., <colN>)
注: 索引の作成には 1 つまたは複数の列を使用できますが、効率よく複製するために、キーを索引に含めてください。索引を削除するには、次のコマンドを使用します。
drop index <tablename>.<indexname>
- LEI (IBM® Enterprise Integrator) の Replication アクティビティでタイムスタンプ複製を行う場合、Microsoft SQL Server のタイムスタンプ列 (Internal 型) はタイムスタンプとしては使用できません。タイムスタンプは、DATETIME 型または SMALLDATETIME 型でなければなりません。
- Binary は固定長データ型です。列のデータを同じサイズにしたいときは、このデータ型を使用します。SQL Server では、バイナリデータが列の長さよりも短い場合、ゼロビットが付加される場合があります。その場合、Notes ではそのデータが読み取られません。
例えば、Notes のリッチテキストフィールドが Advanced RealTime Virtual Fields アクティビティで SQL Server の Binary 型にマップされる場合、Notes に入力されたすべてのデータが SQL Server に保存されます。Notes を介して Virtual Fields アクティビティでそのデータを SQL Server から取得しようとすると、データが破損します。この場合、Binary 型ではなく Image 型を使用します。Image を使用すると、切り捨てエラーを発生させずに、8KB を超えるデータを処理することができます。
- Connector for OLE DB で DECS アクティビティまたは LEI Replication アクティビティを作成する場合、キーフィールドのデータ型として TEXT、NTEXT、IMAGE は使用できません。これらのデータ型は ORDER BY 節では使用できません。また、述語 LIKE または IS NULL が伴わない限り、WHERE、HAVING、ON 節でもこれらのデータ型を使用できません。
注: ストアドプロシージャを使用するときは、すべての入力パラメータまたは出力パラメータのフィールド名を明示的にマップしてください。また、ソースフィールド名とストアドプロシージャのパラメータ名が一致していて、同じ順序になっていなければなりません。
- Microsoft Access 2000 へのコネクションを作成する場合は、OLE DB コネクション文書の [Data Source] フィールドで入力するパスでデータベース名を指定しなければなりません。[Catalog] フィールドにデータベース名を入力することはできません。SQL Server へのコネクションを作成する場合は、[Data Source] フィールドに入力するパスではなく、[Catalog] フィールドでデータベースを指定しなければなりません。
例: SQL Server コネクションにおけるサンプル SQL Server 名 SQLServerN1 とサンプルテーブル名 testDB の正しい指定方法
- Connectors による Notes の NUMBER フィールドの解釈には制限があります。Notes のソースで [Create Target Metadata] オプションを使用すると、Notes の NUMBER フィールドの精度が大幅に低下することがあります。