2017-11-15 8 views
2

테이블에서 .csv 파일로 데이터를 내보내는 패키지가 있고, 600 000 레코드를 내 보냅니다.은 ssis에서 csv로 내보내기하는 동안 앞에 오는 0을 포함합니다.

선행 0과 후행 0이있는 소수의 데이터 만 내보내고 선행 0과 후행 0을 모두 내 보내면 데이터가 누락됩니다.

EX : I가 데이터 변환 배치와 같은 많은 방법을 시도

column1 column2 
1   67.5 

CSV 파일의 실제 데이터 소스로부터 오는

column1 column2 
001  67.50 

반출 된 데이터 및 도출 된 컬럼 또한 복제 기능 .

또한 데이터를 .txt 파일로 내보내고 .cmd 파일을 사용하여 .txt 파일 .csv 파일을 변경하려고 시도했지만 이러한 모든 방법으로 결과가 산출되지 않았습니다.

이 방법이 있습니까?

+0

대상이 텍스트 열인지 확인하십시오. 그래도 작동하지 않으면 견적 텍스트 배치를 시도하십시오. – KeithL

+0

U가 대상에서 .CSV 파일을 어떻게 열려고 했습니까? –

+0

영향을받는 열의 SSIS 데이터 유형은 무엇입니까? 원본 구성 요소의 출력을 확인하십시오. –

답변

1

선행 및/또는 후행 0을 유지해야하는 텍스트 또는 CSV 형식의 파일 값으로 내보내려면 다음을 조합해야합니다.

1) 데이터 흐름에서 파생 열 또는 변환 작업을 사용하여 숫자 필드를 텍스트 또는 varchar로 변환하십시오.

2) 대상 CSV 파일의 문자 길이가 충분한 텍스트로 정의되어 있는지 확인하십시오.

마지막으로 출력 파일에 숫자 값 (NULL 또는 공백을 사용할 수 없음)이 필요한 상황에 처한 경우 다음 링크를 살펴보십시오. 여기에서 NULL 또는 공백 대신 "0.00"을 제공해야합니다. 이 도움이

How do I get SSIS Data Flow to put '0.00' in a flat file?

희망.

1

열기 대상 CSC에 사용되는 Flat File Connection managerDT_STR 또는 DT_WSTRAdvanced Tab 변화에 모든 컬럼 데이터 유형을 이동

(데이터를 플랫 파일에 저장 될 때, 고려 데이터 유형이 없다는 것을 참고)

여전히 작동하지 않는 경우 대상에 할당하기 전에이 값을 DT_STR으로 변환하는 파생 열을 추가하십시오.