스크립트 구성 요소를 사용하여 오류 출력 향상Enhancing an Error Output with the Script Component

기본적으로 두 개의 추가 열에는 Integration ServicesIntegration Services ErrorCode 및 ErrorColumn 오류 출력을 나타내는 숫자 코드 오류 번호와 오류가 발생 한 열의 ID만 포함 합니다.By default, the two extra columns in an Integration ServicesIntegration Services error output, ErrorCode and ErrorColumn, contain only numeric codes that represent an error number and the ID of the column in which the error occurred. 이러한 숫자 값은 해당 오류 설명과 열 이름이 없으므로 사용이 제한적일된 수 있습니다.These numeric values may be of limited use without the corresponding error description and column name.

이 항목에서는 스크립트 구성 요소를 사용 하 여 데이터 흐름의 기존 오류 출력 데이터는 오류 설명과 열 이름을 추가 하는 방법에 설명 합니다.This topic describes how to add the error description and the column name to existing error output data in the data flow by using the Script component. 예에서는 스크립트 구성 요소의 GetErrorDescription 속성을 통해 사용할 수 있는 IDTSComponentMetaData100 인터페이스의 ComponentMetaData 메서드를 사용하여 미리 정의된 특정 Integration ServicesIntegration Services 오류 코드에 해당하는 오류 설명을 추가합니다.The example adds the error description that corresponds to a specific predefined Integration ServicesIntegration Services error code by using the GetErrorDescription method of the IDTSComponentMetaData100 interface, available through the ComponentMetaData property of the Script component. 다음 예제에서는 캡처된 계보 ID에 해당 하는 열 이름을 사용 하 여 추가 GetIdentificationStringByID 동일한 인터페이스의 메서드입니다.Then the example adds the column name that corresponds to the captured lineage ID by using the GetIdentificationStringByID method of the same interface.

참고

여러 데이터 흐름 태스크 및 여러 패키지에서 쉽게 다시 사용할 수 있는 구성 요소를 만들려면 이 스크립트 구성 요소 예제에 있는 코드를 바탕으로 사용자 지정 데이터 흐름 구성 요소를 만들어 보십시오.If you want to create a component that you can more easily reuse across multiple Data Flow tasks and multiple packages, consider using the code in this Script component sample as the starting point for a custom data flow component. 자세한 내용은 사용자 지정 데이터 흐름 구성 요소 개발을 참조하세요.For more information, see Developing a Custom Data Flow Component.

예제Example

여기에 표시 된 예에서는 변환으로 구성 된 스크립트 구성 요소를 사용 하 여 데이터 흐름의 기존 오류 출력 데이터에 오류 설명과 열 이름을 추가 합니다.The example shown here uses a Script component configured as a transformation to add the error description and the column name to existing error output data in the data flow.

데이터 흐름의 변환으로 사용 하기 위해 스크립트 구성 요소를 구성 하는 방법에 대 한 자세한 내용은 참조 스크립트 구성 요소를 사용 하 여 동기 변환 만들기스크립트 구성 요소를 사용 하 여 비동기 변환 만들기합니다.For more information about how to configure the Script component for use as a transformation in the data flow, see Creating a Synchronous Transformation with the Script Component and Creating an Asynchronous Transformation with the Script Component.

스크립트 구성 요소 예를 구성하려면To configure this Script Component example

  1. 새 스크립트 구성 요소를 만들기 전에 데이터 흐름의 업스트림 구성 요소에서 오류 또는 잘림이 발생할 경우 행을 오류 출력으로 리디렉션하도록 구성합니다.Before creating the new Script component, configure an upstream component in the data flow to redirect rows to its error output when an error or truncation occurs. 테스트를 위해 오류가 발생하도록 구성 요소를 구성할 수 있습니다. 예를 들어 조회를 수행할 수 없는 두 테이블 간에 조회 변환을 구성할 수 있습니다.For testing purposes, you may want to configure a component in a manner that ensures that errors will occur—for example, by configuring a Lookup transformation between two tables where the lookup will fail.

  2. 데이터 흐름 디자이너 화면에 새 스크립트 구성 요소를 추가하고 이 구성 요소를 변환으로 구성합니다.Add a new Script component to the Data Flow designer surface and configure it as a transformation.

  3. 업스트림 구성 요소의 오류 출력을 새 스크립트 구성 요소에 연결합니다.Connect the error output from the upstream component to the new Script component.

  4. 열기는 스크립트 변환 편집기, 및는 스크립트 페이지에 대 한는 u a g e 속성을 스크립트 언어를 선택 합니다.Open the Script Transformation Editor, and on the Script page, for the ScriptLanguage property, select the script language.

  5. 클릭 스크립트 편집 열려는 MicrosoftMicrosoft Visual StudioVisual Studio VSTA Tools for Applications () IDE 아래 표시 된 예제 코드를 추가 합니다.Click Edit Script to open the MicrosoftMicrosoft Visual StudioVisual Studio Tools for Applications (VSTA) IDE and add the sample code shown below.

  6. VSTA를 닫습니다.Close VSTA.

  7. 스크립트 변환 편집기에서에 입력 열 페이지에서 ErrorCode 및 ErrorColumn 열을 선택 합니다.In the Script Transformation Editor, on the Input Columns page, select the ErrorCode and ErrorColumn columns.

  8. 입 / 출력 페이지에서 새 열 두 개를 추가 합니다.On the Inputs and Outputs page, add two new columns.

    • 형식의 새 출력 열을 추가 문자열 라는 ErrorDescription합니다.Add a new output column of type String named ErrorDescription. 긴 메시지를 지원할 수 있도록 새 열의 기본 길이를 255로 늘립니다.Increase the default length of the new column to 255 to support long messages.

    • 형식의 새 출력 열을 다른 추가 문자열 라는 ColumnName합니다.Add another new output column of type String named ColumnName. 긴 값을 지원 하기 위해 255 새 열의 기본 길이 늘립니다.Increase the default length of the new column to 255 to support long values.

  9. 닫기는 스크립트 변환 편집기입니다.Close the Script Transformation Editor.

  10. 스크립트 구성 요소의 출력을 적절한 대상에 연결합니다.Attach the output of the Script component to a suitable destination. 임시 테스트용으로 구성하는 데는 플랫 파일 대상이 가장 쉽습니다.A Flat File destination is the easiest to configure for ad hoc testing.

  11. 패키지를 실행합니다.Run the package.

Public Class ScriptMain  
    Inherits UserComponent  
    Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)  

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

      Dim componentMetaData130 = TryCast(Me.ComponentMetaData, IDTSComponentMetaData130)  
      If componentMetaData130 IsNot Nothing Then  
        Row.ColumnName = componentMetaData130.GetIdentificationStringByID(Row.ErrorColumn)  
         End If  

    End Sub  
End Class  
public class ScriptMain:  
    UserComponent  
{  
    public override void Input0_ProcessInputRow(Input0Buffer Row)  
    {  

      Row.ErrorDescription = this.ComponentMetaData.GetErrorDescription(Row.ErrorCode);  

      var componentMetaData130 = this.ComponentMetaData as IDTSComponentMetaData130;  
      if (componentMetaData130 != null)  
        {  
            Row.ColumnName = componentMetaData130.GetIdentificationStringByID(Row.ErrorColumn);  
        }  

    }  
}  

관련 항목:See Also

데이터 오류 처리 Error Handling in Data
데이터 흐름 구성 요소의 오류 출력을 사용 하 여 Using Error Outputs in a Data Flow Component
스크립트 구성 요소를 사용 하 여 동기 변환 만들기Creating a Synchronous Transformation with the Script Component