スクリプト コンポーネントによるエラー出力の強化

更新 : 2006 年 7 月 17 日

既定では、Integration Services のエラー出力の 2 つの追加列 (ErrorCode と ErrorColumn) には、エラー番号を表す数値コードと、エラーが発生した列の ID しか含まれていません。これらの数値は、対応するエラー説明がないとあまり役に立ちません。

ここでは、スクリプト コンポーネントを使用して、データ フローの既存のエラー出力データにエラー説明の列を追加する方法を説明します。この例では、IDTSComponentMetaData90 インターフェイスの GetErrorDescription メソッドを使用して、事前定義された特定の Integration Services エラー コードに対応するエラーの説明を追加します。これは、スクリプト コンポーネントの ComponentMetaData プロパティから使用できます。

ms345163.note(ja-jp,SQL.90).gifメモ :
複数のデータ フロー タスクおよび複数のパッケージでより簡単に再利用できるコンポーネントを作成する場合は、このスクリプト コンポーネント サンプルのコードを基にした、カスタム データ フロー コンポーネントの作成を検討してください。詳細については、「カスタム データ フロー コンポーネントの開発」を参照してください。

次に示す例では、変換として構成されたスクリプト コンポーネントを使用して、データ フローの既存のエラー出力データにエラー説明の列を追加します。

スクリプト コンポーネントをデータ フローで変換として使用するための構成方法の詳細については、「スクリプト コンポーネントによる同期変換の作成」および「スクリプト コンポーネントによる非同期変換の作成」を参照してください。

このスクリプト コンポーネントの例を構成するには

  1. 新しいスクリプト コンポーネントを作成する前に、データ フローの上流コンポーネントを構成して、エラーや切り捨てが発生した場合に行をエラー出力にリダイレクトするようにします。テスト目的の場合、たとえば、参照が失敗するような 2 つのテーブル間の参照変換を構成するなどして、エラーが発生するような形でコンポーネントを構成します。

  2. 新しいスクリプト コンポーネントを [データ フロー] デザイナ画面に追加し、変換として構成します。

  3. 上流コンポーネントからのエラー出力を新しいスクリプト コンポーネントに接続します。

  4. [スクリプト変換エディタ] を開きます。[入力列] ページで、ErrorCode 列を選択します。

  5. [入力および出力] ページで、ErrorDescription という String 型の新しい出力列を追加します。長いメッセージをサポートするために、新しい列の既定の長さを 255 に拡張します。

  6. [スクリプト] ページの [スクリプトのデザイン] をクリックして、Visual Studio for Applications (VSA) スクリプト環境を開きます。Input0_ProcessInputRow メソッドに、以下に示すサンプル コードを入力するか貼り付けます。

  7. VSA IDE と [スクリプト変換エディタ] を閉じます。

  8. スクリプト コンポーネントの出力を、適切な変換先にアタッチします。アドホック テスト用に最も構成しやすいのは、フラット ファイル変換先です。

  9. パッケージを実行します。

Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)

  Row.ErrorDescription = _
    Me.ComponentMetaData.GetErrorDescription(Row.ErrorCode)

End Sub

変更履歴

リリース 履歴

2006 年 7 月 17 日

変更内容 :
  • 例の手順を改善しました。

参照

概念

データ フロー コンポーネントでのエラー出力の使用
スクリプト コンポーネントによる同期変換の作成

その他の技術情報

データのエラー処理

ヘルプおよび情報

SQL Server 2005 の参考資料の入手