2014-11-24 2 views
0

고정 폭 플랫 파일을로드하는 데 사용중인 SSIS 패키지가 있습니다. 필자는 모든 열 길이를 넣었으며 비슷한 파일에 대한 두 개의 패키지가 올바르게 작동합니다. 세 번째는 그러나 다음과 같은 오류를 던지고 계속 :SSIS Blank Int 플랫 파일로드 실패시

[Source 1 [16860]] Error: Data conversion failed. The data conversion for column "Line Number" 
returned status value 2 and status text "The value could not be converted because of a 
potential loss of data.". 

[Source 1 [16860]] Error: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. 
The "output column "Line Number" (16957)" failed because error code 0xC0209084 
occurred, and the error row disposition on "output column "Line Number" (16957)" 
specifies failure on error. An error occurred on the specified object of the specified 
component. There may be error messages posted before this with more information about 
the failure. 

이 어떤 열의 발생하는 몇 가지 테스트를 수행 한 후 나는이 DT_I4 데이터 형식을 사용하고 열에서 빈을 갖고있다. 파생 된 열을 사용하려고했는데, NULL로 공백을 처리 한 다음 나중에 데이터 흐름에서 INT 로의 변환을 수행하기 위해 문자열 데이터 형식으로 변경하더라도 열의 일부가 실패한 것으로 보입니다. .

원본 및 대상 작업에서 NULL 값 유지 확인란을 선택했지만 아무 것도 변경되지 않았습니다.

INT가 공백을 NULL로 변환하는 데 실패한 것으로 보이는 곳에서이 오류를 처리하기위한 제안 사항은 무엇입니까?

답변

1

DT_I4는 SSIS의 4 바이트 부호있는 정수로 매핑됩니다.

파생 된 열을 올바르게 추적하고있었습니다. 올바른 표현식을 추가하기 만하면됩니다.

당신은이 표현을 시도 할 수 있습니다

:이 링크는 또한 유용 할 수 있습니다

ISNULL([Line Number]) ? "0":[Line Number] 

-이 블로그 게시물에서 접근 방식을 사용하여 종료 http://www.bidn.com/blogs/DonnyJohns/ssas/1919/handling-null-or-implied-null-values-in-an-ssis-derived-column

관련 문제