반응형

SQL Server 2005 예제에 포함된 Integration Services 예제 패키지 중 AWDataWarehouseRefresh패키지에 다음과 같은 문제점이 있습니다.

 

SQL Server 2005 예제 프로그램 설치와 관련해서는 다음글을 참고하시기 바랍니다.

 

 

AWDataWarehouseRefresh 예제 패키지는 다음 위치에 있습니다.

 

 

1)      해당 패키지 파일을 엽니다. 우선, 패키지를 실행시키기 위해서는 AdventureWorks 데이터베이스가 설치되어 있어야 합니다

만약 SQL Server 2005기본 인스턴스로 설치되어 있지 않다면 다음과 같이 연결 정보를 수정해 줍니다.

( PC에서는 ss2005라는 인스턴스로 SQL Server 2005가 설치되어 있기 때문에 다음과 같이 변경하였습니다.)

 

 

2)      파일 경로 정보는 기본으로 설치했기 때문에 특별히 변경할 필요는 없습니다. (만약 기본 위치에 예제를 설치하지 않았다면 변경하시기 바랍니다.)

 

3)      전체 패키지는 다음과 같습니다.

      

 

AdvWorks라는 이름의 예제 Database를 생성하고 해당 DB에 데이터를 로딩하는 작업이며, 예제 패키지들 중에서 가장 복잡한 형태입니다.

 

패키지의 속성에서 LocaleID가 영어(미국)으로 설정되어 있기는 하지만 이것은 별 문제는 아니겠지요..

(영문 버전을 먼저 만들었을 테이니깐..ㅡ.ㅡ)

 

 

실행을 하면 다음과 같습니다.

 

예제 패키지가 실패라니....

 

 

조금 크게 확대해서 보면 Bulk Insert 작업(=대량 삽입 작업)들에서만 실패하는 것을 볼 수 있습니다.

 

 

그러나, 영문 버전에서는 정상적으로 수행됩니다. (이론..)

 

원인은?

[대량 삽입 작업] 오류: 다음 오류 메시지와 함께 오류가 발생했습니다: "연결된 서버 "(null)" OLE DB 공급자 "BULK"에서 행을 인출할 수 없습니다. 연결된 서버 "(null)" OLE DB 공급자 "BULK"에 오류가 발생했습니다. 공급자에서 오류에 관한 정보를 주지 않았습니다.대량 로드: 데이터 파일에서 예기치 않은 파일 끝에 도달했습니다.".

 

무슨말이여~.. ,.ㅡ 애매합니다.

 

하지만, 실패의 원인은 다음과 같습니다.

 

 

ColumnDelimeter의 속성 중 Tab으로 지정된 것이 문제입니다.

, 한글 버전에는 SSIS의 대량 삽입 작업에서 『Tab이라는 열 구분자(ColumnDelimeter)는 없습니다.

대신 『이라는 한글 구분자를 써야 합니다.

 

모든 Bulk Insert 작업에서 Tab으로 지정되어 있는 열 구분자를 『으로 변경해서 수행하면 정상적으로 에러가 발생되지 않고 수행됩니다.

 

 

 

 

복잡하게는 보이지만 참고할 사항들이 많은 패키지입니다. 참고하시길..^^

반응형

+ Recent posts