다음을 통해 공유


OLE DB 명령 변환

적용 대상: Azure Data Factory의 SQL Server SSIS Integration Runtime

OLE DB 명령 변환은 데이터 흐름의 각 행에 대해 SQL 문을 실행합니다. 예를 들어 데이터베이스 테이블에서 행을 삽입, 업데이트 또는 삭제하는 SQL 문을 실행할 수 있습니다.

다음과 같은 방법으로 OLE DB 명령 변환을 구성할 수 있습니다.

  • 각 행에 대해 변환을 실행하는 SQL 문을 제공합니다.

  • SQL 문이 시간 초과되기 전까지의 시간(초)을 지정합니다.

  • 기본 코드 페이지를 지정합니다.

일반적으로 SQL 문에는 매개 변수가 포함됩니다. 매개 변수 값은 변환 입력의 외부 열에 저장되며 입력 열을 외부 열에 매핑하면 입력 열이 매개 변수에 매핑됩니다. 예를 들어 DimProduct 테이블의 행을 ProductKey 열의 값으로 찾은 다음 삭제하려면 Param_0라는 외부 열을 ProductKey라는 입력 열에 매핑한 다음 SQL 문 DELETE FROM DimProduct WHERE ProductKey = ?(을)를 실행합니다. OLE DB 명령 변환에는 매개 변수 이름이 제공되며 이 이름은 수정될 수 없습니다. 매개 변수 이름은 Param_0, Param_1 등입니다.

고급 편집기 대화 상자를 사용하여 OLE DB 명령 변환을 구성하는 경우 새로 고침 단추를 클릭하여 SQL 문의 매개 변수를 변환 입력의 외부 열 및 정의된 각 매개 변수의 특성에 자동으로 매핑할 수 있습니다. 하지만 OLE DB 명령 변환에서 사용되는 OLE DB Provider가 매개 변수로부터의 매개 변수 정보 파생을 지원하지 않으면 외부 열을 수동으로 구성해야 합니다. 즉, 외부 입력의 각 매개 변수에 대한 열을 변환에 추가하고, Param_0과 같은 이름을 사용하도록 열 이름을 업데이트하고, DBParamInfoFlags 속성의 값을 지정하고, 매개 변수 값이 포함된 입력 열을 외부 열로 매핑해야 합니다.

DBParamInfoFlags 값은 매개 변수의 특성을 나타냅니다. 예를 들어 값 1은 매개 변수가 입력 매개 변수임을 지정하고 값 65는 매개 변수가 입력 매개 변수이며 null 값을 포함할 수 있음을 지정합니다. 값은 OLE DB DBPARAMFLAGSENUM 열거형의 값과 일치해야 합니다. 자세한 내용은 OLE DB 참조 설명서를 참조하세요.

OLE DB 명령 변환은 SQLCommand 사용자 지정 속성을 포함합니다. 이 속성은 패키지를 로드할 때 속성 식으로 업데이트할 수 있습니다. 자세한 내용은 Integration Services(SSIS) 식, 패키지에서 속성 식 사용변환 사용자 지정 속성을 참조하세요.

이러한 변환에는 입력 1개, 정규 출력 1개, 오류 출력 1개가 있습니다.

로깅

OLE DB 명령 변환이 외부 데이터 공급자에 대해 수행하는 호출을 로깅할 수 있습니다. 이 로깅 기능을 사용하여 OLE DB 명령 변환이 수행하는 외부 데이터 원본에 대한 연결 및 명령 문제를 해결할 수 있습니다. OLE DB 명령 변환이 외부 데이터 공급자에 대해 수행하는 호출을 로깅하려면 패키지 로깅을 설정하고 패키지 수준에서 Diagnostic 이벤트를 선택합니다. 자세한 정보는 패키지 실행을 위한 문제 해결 도구를 참고해 주세요.

SSIS 디자이너 또는 개체 모델을 사용하여 변환을 구성할 수 있습니다. 이 변환을 프로그래밍 방식으로 구성하는 방법에 대한 자세한 내용은 개발자 가이드를 참조하세요.

OLE DB 명령 변환 구성

OLE DB 명령 변환을 추가 및 구성하려면 패키지에 적어도 하나 이상의 데이터 흐름 태스크 및 플랫 파일 소스 또는 OLE DB 소스와 같은 소스가 이미 들어 있어야 합니다. 이 변환은 일반적으로 매개 변수가 있는 쿼리를 실행하는 데 사용됩니다.

OLE DB 명령 변환 구성 방법

  1. SSDT(SQL Server Data Tools)에서 원하는 패키지가 들어 있는 Integration Services 프로젝트를 엽니다.

  2. 솔루션 탐색기에서 패키지를 두 번 클릭하여 엽니다.

  3. 데이터 흐름 탭을 클릭한 다음 도구 상자에서 OLE DB 명령 변환을 디자인 화면으로 끌어 옵니다.

  4. 커넥터(녹색 또는 빨간색 화살표)를 데이터 원본 또는 이전 변환에서 OLE DB 명령 변환으로 끌어 데이터 흐름에 연결하여 OLE DB 명령 변환을 연결합니다.

  5. 구성 요소를 마우스 오른쪽 단추로 클릭하고 편집 또는 고급 편집기 표시를 선택합니다.

  6. 연결 관리자 탭의 연결 관리자 목록에서 OLE DB 연결 관리자를 선택합니다. 자세한 내용은 OLE DB 연결 관리자를 참조하세요.

  7. 구성 요소 속성 탭을 클릭하고 SqlCommand 상자에서 줄임표 버튼 (...)을 클릭합니다.

  8. 문자열 값 편집기에서 각 매개 변수에 대한 매개 변수 표식으로 물음표(?)를 사용하여 매개 변수가 있는 SQL 문을 입력합니다.

  9. 새로 고침을 클릭합니다. 새로 고침을 클릭하면 변환에서 외부 열 컬렉션의 각 매개 변수에 대한 열을 만들고 DBParamInfoFlags 속성을 설정합니다.

  10. 입력 및 출력 속성탭을 클릭합니다.

  11. OLE DB 명령 입력을 확장한 다음 외부 열을 확장합니다.

  12. 외부 열에 SQL 문의 각 매개 변수에 대한 열이 나열되는지 확인합니다. 열 이름은 Param_0, Param_1등입니다.

    열 이름을 변경하면 안 됩니다. 열 이름을 변경하면 통합 서비스에서 OLE DB 명령 변환에 대한 유효성 검사 오류가 발생합니다.

    또한 데이터 형식을 변경해서는 안 됩니다. 각 열의 DataType 속성이 올바른 데이터 형식으로 설정됩니다.

  13. 외부 열에 열이 없는 경우 열을 수동으로 추가해야 합니다.

    • SQL 문의 각 매개 변수에 대해 열 추가 를 한 번 클릭합니다.

    • 열 이름을 Param_0, Param_1등으로 업데이트합니다.

    • DBParamInfoFlags 속성에 값을 지정합니다. 값은 OLE DB DBPARAMFLAGSENUM 열거형의 값과 일치해야 합니다. 자세한 내용은 OLE DB 참조 설명서를 참조하세요.

    • 열의 데이터 형식을 지정하고 데이터 형식에 따라 열의 코드 페이지, 길이, 정밀도 및 배율을 지정합니다.

    • 사용되지 않는 매개 변수를 삭제하려면 외부 열에서 매개 변수를 선택한 후 열 제거를 클릭합니다.

    • 열 매핑을 클릭하고 사용 가능한 입력 열 목록의 열을 사용 가능한 목적지 열 목록의 매개변수에 매핑합니다.

  14. 확인을 클릭합니다.

  15. 업데이트된 패키지를 저장하려면 파일 메뉴에서 저장을 클릭합니다.

참고 항목

데이터 흐름
Integration Services 변환