データ変換サービス
データを変換するタスク

データ変換サービス (DTS) のデータを変換するタスクは、DTS データ ポンプと呼ばれるアーキテクチャ コンポーネントに基づいています。

以下の DTS タスクは、DTS データ ポンプを実装します。

タスク 説明
データ変換タスク 多種多様な OLEDB 準拠のデータ ソース間でポイント ツー ポイントのコピーおよび変換を行うことができます。
データ ドリブン クエリ タスク ストアド プロシージャ、INSERT、UPDATE、DELETE の各ステートメントなど、柔軟な Transact-SQL ベースのデータ操作を実行できます。
OLE DB の階層的な行セットを含むデータのコピーおよび変換を行うことができます。このタスクには、DTS オブジェクトを使用してプログラムからのみアクセスできます。

DTS データ ポンプ (OLE DB サービス プロバイダ) は、一連のデータ移動インターフェイスを提供する COM オブジェクトです。

データ ポンプ アーキテクチャでは、以下の機能がサポートされています。

  • 変換済みまたは未変換のデータの高速バッチ コピー。

  • スクリプティング コードを使用した変換の定義。

  • 文字列データの変換処理用に提供されている各種の変換機能。

  • Microsoft® Visual C++® で記述され、COM オブジェクトとしてコンパイルされたカスタム変換。これらのカスタム変換にはプログラムから、または DTS デザイナのユーザー インターフェイスからアクセスできます。

DTS データ ポンプでは、データ ポンプ操作の特定のフェーズにアクセスできるプログラムまたは Microsoft ActiveX® スクリプト関数をユーザーが追加することもできます。たとえば、変換元データがコピーされ、変換される前に、ヘッダー情報を書き込むようにデータ ポンプに指示する関数を追加できます。詳細については、「マルチフェーズ データ ポンプ機能」を参照してください。

データを変換するタスクの設定

データを変換するタスクを設定するには、次の手順に従って操作します。

  1. 接続を確立します。少なくとも、変換元および変換先のデータ ソースに接続する必要があります。

    DTS デザイナでこれらのタスクを設定する前に、データ ソースに対して 2 つの接続を確立する必要があります。ActiveX スクリプト変換でほかの接続を定義する場合は、それらの接続をパッケージの実行時に確立できます。

    詳細については、「DTS 接続」および「簡易照合クエリの設定」を参照してください。

  2. ソース接続からコピーされるデータに対して必要なデータ型の変換処理および変換機能を実行します。

    データを変換する場合、列レベルの変換をマップする必要があります。次のいずれかの DTS ツールを使用できます。

    • DTS インポート/エクスポート ウィザード。既定では、コピー用に選択されるコピー元テーブルの数に応じて、ウィザードは 1 つ以上の変換タスクを作成します。ウィザードで列データまたは行データを変換するには、ActiveX スクリプティング コードを使用して変換スクリプトを記述する必要があります。変換スクリプトを編集するには、DTS デザイナでパッケージを開き、目的のタスクのプロパティ ダイアログ ボックスを開いてスクリプトを編集する必要があります。

      詳細については、「DTS での ActiveX スクリプトの使用」を参照してください。

    • DTS デザイナ。変換先列への変換元列のマップ、変換の種類の選択、マッピングへの変換の種類の適用をグラフィカルに行うことができます。また、選択ボックスを使用して変換をマップすることもできます。

        ほとんどの場合は、データ変換タスクを使用して列をマップするだけで済みます。熟練したユーザーでない限り、データ ドリブン クエリ タスクの既定の列マッピングを変更しないことをお勧めします。詳細については、「データ ドリブン クエリのバインド」を参照してください。

行レベルのエラーの検出

データを変換するタスクは、例外ファイルを使用して、失敗した行に関する情報を記録します。例外ファイルには次の情報が記録されます。

  • パッケージの名前、説明、バージョンなどのパッケージ情報。

  • データ ポンプ操作に関連付けられたパッケージ ステップの名前、ステップ実行時間などのステップ実行情報。

  • エラー ソース (データ ポンプまたは接続など)、エラーの説明 (たとえば、EmployeeData 列、行 2007 で発生した挿入エラー) などのエラー情報。

データを変換するタスクは、行がデータベースに送られる前に行レベルのエラーを検出できます。たとえば、入力行にデータの欠落があったり、形式が正しくないデータが含まれていたりするとします。データを変換するタスクは、このような行を検出すると、その行を失敗させ、変換先には渡しません。このエラーは、最大エラー数に達するまで 1 つの失敗としてカウントされます。

重複キーまたは参照整合性違反などの一部のエラーについては、このタスクが行レベルで検出することはできません。このような行は変換先に渡された後にのみ失敗します。その失敗は、例外ファイルに記録されますが、失敗した実際の行はログに記録されません。したがって、必ずしもすべてのエラー情報が例外ファイルで得られるわけではありません。

データを変換するタスクに対して例外ログを設定すると、パッケージが実行されるたびに、指定した例外ファイルの末尾にステップ実行情報が追加されます。現在存在しない例外ファイルを指定した場合は、パッケージの実行時にそのファイルが作成されます。そのタスクに関連付けられているステップが実行されると、例外ファイル データが生成されます。

また、Microsoft SQL Server™ 2000 の例外ファイル オプションを使用して追加のログ ファイルを作成し、データを変換するタスクの実行中に失敗した変換元行および変換先行をキャプチャすることもできます。このファイルは、失敗した行の調査、およびデータに関する問題のトラブルシューティングに使用できます。変換元行および変換先行のログ ファイルの名前は、例外ファイルの名前と同じですが、名前の末尾にそれぞれ ".Source" および ".Destination" という拡張子が付いています。これらのファイルは、変換タスクの実行中に変換元行のエラーまたは変換先行のエラーが発生した場合にのみ作成されます。

データ ポンプ例外ファイルを設定するには

Enterprise Manager

>

関連項目

DTS 変換

Page view tracker