반응형


따라하기  – 스크립트 구성 요소를 데이터 원본으로 이용하기

 

스크립트 구성 요소를 데이터 원본으로 이용하는 예제를 구현해 보겠습니다. 간단하게 스크립트 구성요소를 이용하여 아래 그림과 같은 10,000개의 순차적인 열과 난수 데이터를 발생시키도록 하겠습니다.

 

  

 

1.       빈 패키지 파일을 하나 추가한 후, 데이터 흐름 작업을 추가합니다.

2.       데이터 흐름 영역 내에 스크립트 구성 요소를 추가한 후, 원본으로 유형을 설정합니다.

3.       추가한 스크립트 구성 요소를 더블 클릭하여 스크립트 변환 편집기를 연 후, /출력 탭의 중간 부분에 있는 출력 0 부분을 확장한 후, 출력 열을 선택합니다.



4.       아래의 열 추가(C)를 클릭하여 열을 추가합니다. 열의 이름은 Seq 로 설정하며, 해당 열의 데이터 타입이 부호 없는 4바이트 정수(DT_I4)인 것을 확인합니다.



5.       동일한 방법으로 Col1, Col2라는 이름의 열을 추가시키며, 두 열의 DataType 모두 위와 동일한 DT_I4로 설정합니다.
이 때, 다음과 같은 사항을 참고하시기 바랍니다. 만약 4의 그림과 같이, 추가한 열 Seq가 선택된 상태에서 다시 열 추가(C)를 눌러 열을 추가하는 경우, 열은 현재 선택된 Seq 위에 추가가 됩니다. 하지만, 출력 열 이라는 부분을 클릭한 후, 열 추가를 하면 현재의 열 가장 마지막에 추가가 됩니다.



6.       왼쪽의 스크립트 탭을 클릭한 후, 스크립트 디자인(S) 버튼을 클릭하여 스크립트를 작성할 VSA(Visual Studio for Applications)를 띄운 후, 다음 스크립트를 입력합니다.

' Microsoft SQL Server Integration Services user script component

' This is your new script component in Microsoft Visual Basic .NET

' ScriptMain is the entrypoint class for script components

 

Imports System

Imports System.Data

Imports System.Math

Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper

Imports Microsoft.SqlServer.Dts.Runtime.Wrapper

 

Public Class ScriptMain

    Inherits UserComponent

 

    Public Overrides Sub CreateNewOutputRows()

        '

        ' Add rows by calling AddRow method on member variable called "Buffer"

        ' E.g., MyOutputBuffer.AddRow() if your output was named "My Output"

        '

        Dim i As Integer

        Dim randVal As New Random

 

        For i = 1 To 10000

            With 출력0Buffer

                .AddRow()                                  ' 출력 행을 추가

                .Seq = i

                .Col1 = randVal.Next(1, 9999)  ' 1에서 9999  사이의 난수발생

                .Col2 = randVal.Next(1, 99999) ' 1에서 99999 사이의 난수발생

            End With

        Next

 

    End Sub

 

End Class

 

7.       VSA를 닫은 후, 확인을 눌러 스크립트 변환 편집기를 닫습니다.

 

8.       데이터 흐름 영역의 빈 곳에서 마우스 오른쪽 클릭을 하여 나타나는 메뉴 중 변수(S)를 선택하여 변수 창을 띄운 후, tempResult라는 이름의 Object 형 변수를 하나 추가합니다. 이는 임시 데이터 대상으로 쓰일 레코드 집합 대상에서 이용할 임시 변수입니다.



9.       도구 상자에서 레코드 집합 대상을 추가한 후, 스크립트 구성 요소의 녹색 선과 연결합니다. 레코드 집합 대상을 더블 클릭하여 레코드 집합 대상 편집기를 띄운 후, 구성 요소 속성 탭에서 VariableName 부분에 tempResult를 입력합니다. 입력 열 탭에서는 세 개의 열을 모두 선택합니다.



10.   데이터가 처리되는 과정을 확인하기 위해 중간 경로에 데이터 뷰어를 추가합니다. 스크립트 구성 요소레코드 집합 대상 간의 녹색 경로를 더블 클릭한 후 나타나는 데이터 흐름 경로 편집기데이터 뷰어 탭에서 추가(A)를 누른 후 표 형태의 뷰어를 추가합니다.



11.   패키지를 실행하여 생성되는 원본 데이터를 확인합니다.



 

 

반응형

+ Recent posts