スクリプト コンポーネントによるエラー出力の強化
既定では、Integration Services エラー出力の 2 つの追加列 ErrorCode と ErrorColumn には、エラー番号を表す数値コードと、エラーが発生した列の ID のみが含まれます。 これらの数値は、対応するエラー説明がないとあまり役に立ちません。
ここでは、スクリプト コンポーネントを使用して、データ フローの既存のエラー出力データにエラー説明の列を追加する方法を説明します。 この例では、IDTSComponentMetaData100 インターフェイスの GetErrorDescription メソッドを使用して、事前定義された特定の Integration Services エラー コードに対応するエラーの説明を追加します。これは、スクリプト コンポーネントの ComponentMetaData プロパティから使用できます。
Note
複数のデータ フロー タスクおよび複数のパッケージでより簡単に再利用できるコンポーネントを作成する場合は、このスクリプト コンポーネント サンプルのコードを基にした、カスタム データ フロー コンポーネントの作成を検討してください。 詳細については、「 カスタム データ フロー コンポーネントの開発」を参照してください。
例
次に示す例では、変換として構成されたスクリプト コンポーネントを使用して、データ フローの既存のエラー出力データにエラー説明の列を追加します。
データ フローで変換として使用するようにスクリプト コンポーネントを構成する方法の詳細については、「スクリプト コンポーネントを使用した同期変換の作成スクリプト コンポーネントを使用した非同期変換の作成を参照してください。
このスクリプト コンポーネントの例を構成するには
新しいスクリプト コンポーネントを作成する前に、データ フローの上流コンポーネントを構成して、エラーや切り捨てが発生した場合に行をエラー出力にリダイレクトするようにします。 テスト目的の場合、たとえば、参照が失敗するような 2 つのテーブル間の参照変換を構成するなどして、エラーが発生するような形でコンポーネントを構成します。
新しいスクリプト コンポーネントを [データ フロー] デザイナー画面に追加し、変換として構成します。
上流コンポーネントからのエラー出力を新しいスクリプト コンポーネントに接続します。
[スクリプト変換エディター] を開き、[スクリプト] ページの [ScriptLanguage] プロパティでスクリプト言語を選択します。
[スクリプトの編集] をクリックして Microsoft Visual Studio Tools for Applications (VSTA) IDE を開き、以下に示すサンプル コードを追加します。
VSTA を閉じます。
スクリプト変換エディターの Input 列 ページで、ErrorCode 列を選択します。
Inputs と Outputs ページで、ErrorDescription という名前の
String
型の新しい出力列を追加します。 長いメッセージをサポートするために、新しい列の既定の長さを 255 に拡張します。[スクリプト変換エディター] を閉じます。
スクリプト コンポーネントの出力を、適切な変換先にアタッチします。 アドホック テスト用に最も構成しやすいのは、フラット ファイル変換先です。
パッケージを実行します。
Public Class ScriptMain
Inherits UserComponent
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
Row.ErrorDescription = _
Me.ComponentMetaData.GetErrorDescription(Row.ErrorCode)
End Sub
End Class
public class ScriptMain:
UserComponent
{
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
Row.ErrorDescription = this.ComponentMetaData.GetErrorDescription(Row.ErrorCode);
}
}
Integration Services を最新の状態に保つ
Microsoft からの最新のダウンロード、記事、サンプル、ビデオ、およびコミュニティから選択したソリューションについては、MSDN の Integration Services ページを参照してください。
MSDN の Integration Services のページを参照する
これらの更新が自動で通知されるようにするには、ページの RSS フィードを定期受信します。