다음을 통해 공유


원시 파일 대상

원시 파일 대상은 원시 데이터를 파일에 기록합니다. 대상의 기본 데이터 형식을 사용하므로 데이터를 변환하거나 구문 분석할 필요도 거의 없습니다. 따라서 원시 파일 대상은 플랫 파일 및 OLE DB 대상과 같은 다른 대상보다 빨리 데이터를 기록할 수 있습니다.

원시 데이터를 파일에 기록하는 것 외에도 패키지를 실행할 필요 없이 원시 파일 대상을 사용하여 열만 포함된 비어 있는 원시 파일(메타데이터 전용 파일)을 생성할 수 있습니다. 원시 파일 원본을 사용하면 대상이 이전에 기록한 원시 데이터를 검색할 수 있습니다. 또한 원시 파일 원본이 메타데이터 전용 파일을 가리키도록 설정할 수 있습니다.

원시 파일 서식에는 정렬 정보가 포함됩니다. 원시 파일 대상에는 문자열 열을 위한 비교 플래그를 포함하여 모든 정렬 정보가 저장됩니다. 원시 파일 원본은 정렬 정보를 읽고 적용합니다. 고급 편집기를 사용하면 파일의 정렬 플래그를 무시하도록 원시 파일 원본을 구성할 수 있습니다. 비교 플래그에 대한 자세한 내용은 문자열 데이터 비교를 참조하십시오.

다음과 같은 방법으로 원시 파일 대상을 구성할 수 있습니다.

  • 원시 파일 대상이 기록할 파일 이름 또는 파일 이름이 포함된 변수인 액세스 모드를 지정합니다.

  • 원시 파일 대상이 같은 이름의 기존 파일에 데이터를 추가할지 아니면 새 파일을 만들지 여부를 나타냅니다.

원시 파일 대상은 패키지 실행 사이에 부분적으로 처리된 데이터의 결과를 즉시 기록하는 데 자주 사용됩니다. 원시 데이터를 저장하면 원시 파일 원본에서 데이터를 신속하게 읽고 최종 대상에 로드되기 전에 추가 변환을 수행할 수 있습니다. 예를 들어 패키지를 여러 번 실행하고 이 때마다 원시 데이터를 파일에 기록할 수 있습니다. 그런 다음에는 다른 패키지에서 원시 파일 원본을 사용하여 각 파일에서 데이터를 읽고, UNION ALL 변환을 사용하여 데이터를 하나의 데이터 집합으로 병합한 다음 SQL Server 테이블과 같은 최종 대상으로 데이터를 로드하기 전에 데이터를 요약하는 추가 변환을 적용할 수 있습니다.

[!참고]

원시 파일 대상은 BLOB(Binary Large Object) 데이터를 제외한 Null 데이터를 지원합니다.

[!참고]

원시 파일 대상에는 연결 관리자가 사용되지 않습니다.

이 원본에는 하나의 일반 입력이 있습니다. 오류 출력은 지원하지 않습니다.

추가 및 새 파일 옵션

WriteOption 속성에는 기존 파일에 데이터를 추가하거나 새 파일을 만드는 옵션이 포함됩니다.

다음 표에서는 WriteOption 속성에서 사용할 수 있는 옵션에 대해 설명합니다.

옵션

설명

추가

기존 파일에 데이터를 추가합니다. 추가된 데이터의 메타데이터가 해당 파일 형식과 일치해야 합니다.

항상 만들기

항상 새 파일을 만듭니다.

한 번 만들기

새 파일을 만듭니다. 파일이 있는 경우 구성 요소가 실패합니다.

잘라내기 및 추가

기존 파일을 잘라낸 다음 데이터를 파일에 기록합니다. 추가된 데이터의 메타데이터가 해당 파일 형식과 일치해야 합니다.

다음은 데이터 추가와 관련된 중요한 항목입니다.

  • 기존 원시 파일에 데이터를 추가해도 데이터가 다시 정렬되지 않습니다.

    정렬된 키가 올바른 순서인지 확인해야 합니다.

  • 기존 원시 파일에 데이터를 추가해도 파일 메타데이터(정렬 정보)는 변경되지 않습니다.

예를 들어 패키지는 ProductKey(PK)로 정렬된 데이터를 읽습니다. 패키지 데이터 흐름은 데이터를 기존 원시 파일에 추가합니다. 패키지를 처음 실행하면 PK 1000, 1100, 1200의 세 개 행이 수신됩니다. 원시 파일에는 이제 다음과 같은 데이터가 포함됩니다.

  • 1000, productA

  • 1100, productB

  • 1200, productC

패키지를 두 번째로 실행하면 PK 1001, 1300의 새로운 두 행이 수신됩니다. 원시 파일에는 이제 다음과 같은 데이터가 포함됩니다.

  • 1000, productA

  • 1100, productB

  • 1200, productC

  • 1001, productD

  • 1300, productE

새 데이터가 원시 파일의 끝에 추가되고 정렬된 키(PK)의 순서가 뒤섞입니다. 또한 추가 작업으로 파일 메타데이터(정렬 정보)는 변경되지 않았습니다. 원시 파일 원본을 사용하여 이 파일을 읽으면 이 파일의 데이터가 더 이상 올바른 순서가 아니더라도 구성 요소에 이 파일이 여전히 PK로 정렬된 것으로 표시됩니다.

데이터를 추가할 때 정렬된 키를 올바른 순서로 유지하기 위해서는 패키지 데이터 흐름을 다음과 같이 디자인할 수 있습니다.

  1. 원본 A를 사용하여 새 행을 검색합니다.

  2. 원본 B를 사용하여 RawFile1에서 기존 행을 검색합니다.

  3. UNION ALL 변환을 사용하여 원본 A와 원본 B의 입력을 조합합니다.

  4. PK로 정렬합니다.

  5. 원시 파일 대상을 사용하여 RawFile2에 기록합니다.

    RawFile1은 데이터 흐름에서 읽는 중이므로 잠겨 있습니다.

  6. RawFile1을 RawFile2로 바꿉니다.

루프에서 원시 파일 대상 사용

원시 파일 대상을 사용하는 데이터 흐름이 루프에 있는 경우 파일을 한 번만 만들고 루프가 반복되면 파일에 데이터를 추가할 수 있습니다. 파일에 데이터를 추가하려면 추가되는 데이터는 기존 파일의 형식과 일치해야 합니다.

루프의 첫 번째 반복에서 파일을 만든 다음 루프의 후속 반복에서 행을 추가하려면 디자인 타임에 다음을 수행해야 합니다.

  1. WriteOption 속성을 CreateOnce 또는 CreateAlways로 설정하고 루프의 반복 하나를 실행합니다. 파일이 생성됩니다. 이렇게 하면 추가된 데이터와 파일의 메타데이터가 일치하게 됩니다.

  2. WriteOption 속성을 Append로 다시 설정하고 ValidateExternalMetadata 속성을 False로 설정합니다.

Append 옵션 대신에 TruncateAppend 옵션을 사용할 경우 이전 반복에서 추가된 행이 잘리고 새 행이 추가됩니다. TruncateAppend 옵션을 사용할 경우에도 데이터가 파일 형식과 일치해야 합니다.

원시 파일 대상 구성

SSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다.

고급 편집기 대화 상자에는 프로그래밍 방식으로 설정할 수 있는 속성이 표시됩니다. 고급 편집기 대화 상자를 사용하거나 프로그래밍 방식으로 설정할 수 있는 속성에 대한 자세한 내용을 보려면 다음 항목 중 하나를 클릭하십시오.

관련 태스크

구성 요소의 속성을 설정하는 방법은 데이터 흐름 구성 요소의 속성 설정을 참조하십시오.

관련 내용

sqlservercentral.com의 블로그 항목 - 원시 파일의 놀라운 기능

Integration Services 아이콘(작은 아이콘) Integration Services 관련 최신 정보 얻기

Microsoft의 최신 다운로드, 문서, 예제 및 비디오와 커뮤니티에서 선택된 솔루션을 보려면 MSDN의 Integration Services 페이지를 방문하십시오.


이러한 업데이트에 대한 자동 알림을 받으려면 해당 페이지에서 제공하는 RSS 피드를 구독하십시오.

참고 항목

개념

원시 파일 원본

데이터 흐름