OLE DB 変換先

更新 : 2006 年 12 月 12 日

OLE DB 変換先は、データベースのテーブルやビュー、または SQL コマンドを使用して、OLE DB に準拠するさまざまなデータベースにデータを読み込みます。たとえば、OLE DB ソースにより、Microsoft Office Access および SQL Server 2005 のデータベースのテーブルからデータを読み込むことができます。

ms141237.note(ja-jp,SQL.90).gifメモ :
Microsoft Office Excel 2007 を使用するデータ ソースにデータを読み込むには、OLE DB 変換先を使用します。Excel 変換先を使用して Excel 2007 データ ソースにデータを読み込むことはできません。詳細については、「OLE DB 接続マネージャ」を参照してください。 Microsoft Office Excel 2003 以前のバージョンを使用するデータ ソースにデータを読み込むには、Excel 変換先を使用します。詳細については、「Excel 変換先」を参照してください。

OLE DB 変換先には、データを読み込むために、次の 5 つの異なるデータ アクセス モードが用意されています。

  • テーブルまたはビュー。既存のテーブルまたはビューを指定できます。または、新しいテーブルを作成できます。
  • テーブルまたはビュー (高速読み込みオプションを使用)。既存のテーブルを指定できます。または新しいテーブルを作成できます。
  • 変数で指定されたテーブルまたはビュー。
  • 変数で指定されたテーブルまたはビュー (高速読み込みオプションを使用)。
  • SQL ステートメントの結果。
ms141237.note(ja-jp,SQL.90).gifメモ :
OLE DB 変換先ではパラメータがサポートされません。パラメータ化された INSERT ステートメントを実行する必要がある場合は、OLE DB コマンド変換を使用します。詳細については、「OLE DB コマンド変換」を参照してください。

OLE DB 変換先で 2 バイト文字セット (DBCS) を使用するデータを読み込む際に、データ アクセス モードで高速読み込みオプションを使用せず、OLE DB 接続マネージャが Microsoft OLE DB Provider for SQL Server (SQLOLEDB) を使用している場合、そのデータは破損する可能性があります。DBCS データの整合性を保持するには、OLE DB 接続マネージャで SQL Native Client を使用するように構成するか、[テーブルまたはビュー - 高速読み込み] または [テーブル名またはビュー名の変数 - 高速読み込み] のうちいずれかの高速読み込みモードを使用する必要があります。どちらのオプションも、[OLE DB 変換先エディタ] ダイアログ ボックスから使用できます。SSIS オブジェクト モデルをプログラミングする際は、AccessMode プロパティを OpenRowset Using FastLoad または OpenRowset Using FastLoad From Variable に設定する必要があります。

ms141237.note(ja-jp,SQL.90).gifメモ :
SSIS デザイナの [OLE DB 変換先エディタ] ダイアログ ボックスを使用して、OLE DB 変換先がデータを挿入する変換先テーブルを作成する際に、新しく作成したテーブルを手動で選択する必要がある場合があります。手動で選択する必要があるのは、OLE DB provider for DB2 などの OLE DB プロバイダが、スキーマの識別子を自動的にテーブル名に追加した場合です。
ms141237.note(ja-jp,SQL.90).gifメモ :
変換先の種類に応じて、[OLE DB 変換先エディタ] ダイアログによって生成される CREATE TABLE ステートメントの変更が必要になる場合があります。たとえば、変換先によっては CREATE TABLE ステートメントで使用されるデータ型をサポートしない場合もあります。

OLE DB 変換先は、OLE DB 接続マネージャを使用してデータ ソースに接続します。OLE DB 接続マネージャでは、使用する OLE DB プロバイダを指定します。詳細については、「OLE DB 接続マネージャ」を参照してください。

Integration Services プロジェクトでは、OLE DB 接続マネージャを作成できるデータ ソース オブジェクトも用意されています。このオブジェクトは、データ ソースとデータ ソース ビューを OLE DB 変換先で使用できるようにします。詳細については、「データ ソース (SSIS)」および「データ ソース ビュー (SSIS)」を参照してください。

OLE DB 変換先には、入力列と変換先データ ソースの列との間のマッピングが含まれています。入力列をすべての変換先列にマップする必要はありませんが、変換先列のプロパティによっては、変換先列にマップされる入力列がない場合、エラーが発生することがあります。たとえば、変換先列で NULL 値が許容されていない場合は、入力列をその列にマップする必要があります。また、マップされる列のデータ型には互換性がある必要があります。たとえば、文字列データ型の入力列を数値データ型の変換先列にマップすることはできません。

OLE DB 変換先は、1 つの標準入力と 1 つのエラー出力をとります。

高速読み込みオプション

OLE DB 変換先で高速読み込みデータ アクセス モードが使用される場合、[OLE DB 変換先エディタ] というユーザー インターフェイスで、変換先に対して次の高速読み込みオプションを指定できます。

  • インポートしたデータ ファイルの ID 値を保持します。または、SQL Server によって割り当てられた一意の値を使用します。
  • 一括読み込み操作中に、NULL 値を保持します。
  • 一括インポート操作中に、インポート先のテーブルまたはビューに対して CHECK 制約を実行します。
  • 一括読み込み操作中に、テーブルレベルのロックを取得します。
  • バッチの行数およびコミット サイズを指定します。

一部の高速読み込みオプションは、OLE DB 変換先の特定のプロパティに格納されています。たとえば、ID 値を保持するかどうかを指定する FastLoadKeepIdentity、NULL 値を保持するかどうかを指定する FastLoadKeepNulls、バッチとしてコミットする行数を指定する FastLoadMaxInsertCommitSize などがあります。その他の高速読み込みオプションは、FastLoadOptions プロパティのコンマ区切りリストで格納されます。OLE DB 変換先で、FastLoadOptions に格納されている高速読み込みオプションと [OLE DB 変換先エディタ] ダイアログ ボックスに一覧表示されている高速読み込みオプションをすべて使用する場合は、このプロパティの値を TABLOCK, CHECK_CONSTRAINTS, ROWS_PER_BATCH=1000 に設定します。値 1000 を設定すると、1,000 行のバッチを使用するように変換先が構成されます。

ms141237.note(ja-jp,SQL.90).gifメモ :
変換先で制約が失敗すると、FastLoadMaxInsertCommitSize で定義された行数のバッチ全体が失敗します。

[OLE DB 変換先エディタ] ダイアログ ボックスで公開される高速読み込みオプションに加えて、[詳細エディタ] ダイアログ ボックスで、FastLoadOptions プロパティに次の一括読み込みオプションを入力することにより、それらのオプションを使用するように OLE DB 変換先を構成できます。

高速読み込みオプション

説明

KILOBYTES_PER_BATCH

挿入するサイズを KB 単位で指定します。このオプションの形式は、KILOBYTES_PER_BATCH = <正の整数**>** です。

FIRE_TRIGGERS

挿入テーブルでトリガを起動するかどうかを指定します。このオプションの形式は、FIRE_TRIGGERS です。このオプションが指定されている場合は、トリガが起動されます。

ORDER

入力データの並べ替え方法を指定します。このオプションの形式は、ORDER <column name> ASC|DESC です。並べ替える列のリストには任意の数列を指定できます。並べ替え順序の指定は省略することもできます。並べ替え順序を指定しなかった場合は、データを並べ替えないと見なして挿入操作が実行されます。

ms141237.note(ja-jp,SQL.90).gifメモ :

読み込んだデータは、テーブル上のクラスタ化インデックスに従って並べ替えると、パフォーマンスが向上します。

Transact-SQL キーワードは慣例として通常は大文字で入力されますが、これらのキーワードの大文字小文字は区別されません。

高速読み込みオプションの詳細については、「BULK INSERT (Transact-SQL)」を参照してください。

OLE DB 変換先のトラブルシューティング

Microsoft SQL Server 2005 Service Pack 2 (SP2) からは、DataReader 変換先による外部データ プロバイダの呼び出しをログに記録できるようになりました。この新しいログ機能を使用すると、DataReader 変換先による外部データ ソースへのデータ保存に関するトラブルシューティングを行えます。OLE DB 変換先による外部データ プロバイダの呼び出しのログを記録するには、パッケージ ログ記録を有効にして、パッケージ レベルで Diagnostic イベントを選択する必要があります。詳細については、「パッケージ実行のトラブルシューティング」を参照してください。

OLE DB 変換先の構成

プロパティを設定するには SSIS デザイナから行うか、またはプログラムによって設定します。

[OLE DB 変換先エディタ] ダイアログ ボックスで設定できるプロパティの詳細については、次のトピックのいずれかを参照してください。

[詳細エディタ] ダイアログ ボックスには、プログラムによって設定できるプロパティが反映されます。[詳細エディタ] ダイアログ ボックスまたはプログラムで設定できるプロパティの詳細については、次のトピックのいずれかを参照してください。

プロパティの設定方法の詳細については、次のトピックのいずれかを参照してください。

参照

概念

OLE DB ソース
Integration Services の変数
パッケージのデータ フローの作成

その他の技術情報

Integration Services の変換先

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 12 月 12 日

追加内容 :
  • Excel 2007 データ ソースの使用に関する注意事項を追加しました。
  • 変換先による外部データ プロバイダの呼び出しに関するトラブルシューティングのためにユーザーが使用できる新しいログ メッセージが、SQL Server 2005 SP2 に含まれているという情報を追加しました。

2006 年 7 月 17 日

変更内容 :
  • 変換先で制約が失敗するとバッチが失敗することを示す注意点を追加しました。
  • プロパティ名の間違いを修正しました。

2005 年 12 月 5 日

変更内容 :
  • 高速読み込みオプションに関する情報を追加しました。
  • 生成されるテーブルの定義を変更する必要性に関する注意事項を追加しました。