2012-02-21 5 views
1

SSIS를 사용하여 csv 파일을 SQL로 가져 오려고 시도하는데 근본적인 결함이 있습니다.SSIS가 csv 파일의 열 크기를 감지하도록하십시오.

SSIS는 쉼표 구분 기호를 올바르게 식별하더라도 모든 필드가 varchar (50)인지 확인하는 것처럼 보입니다.

SQL에서 테이블에 데이터를 보내려고하면이 문제가 발생합니다.

길이 3의 필드가 실제로 길이가 3이고 50이 아닌 필드임을 인식시키는 방법이 있습니까?

감사합니다.

답변

2

예, 플랫 파일 연결 관리자 편집기에 유형 제안 기능이 있습니다.

첫 번째 이미지에 표시된 CSV 파일이 있다고 가정합니다.

Sample CSV

새로운 플랫 파일 연결을 만들고 컴퓨터에이 파일을 찾습니다. 열 탭에는 파일의 샘플이 표시됩니다.

Columns of this CSV in Flat File Connection Manager Editor

클릭 고급 탭을 선택합니다. 여기서 모든 열이 길이가 50 인 DT_STR 유형을 볼 수 있습니다. 볼 수있는 것은 유형 제안 ... 단추입니다. 이것을 클릭하십시오.

Advanced settings of CSV

매개 변수를 설정 당신이 원하는대로. 내 경우에는 기본값이 괜찮습니다. 확인을 클릭하십시오.

Suggest Types...

이제 첫 번째 열은의 길이 DT_STR의 유형이 1 (다른 두 개의 열뿐만 아니라 새로운 유형을 가지고 우리가 가장 작은 적절한 정수 유형을 choosed 할 때문이다. 숫자 열 (DT_I1있어 옵션), 날짜 열은 DT_DATE입니다.

Types changed

관련 문제