SSIS 패키지가 있는데 여기에는 네 가지 데이터 흐름 작업이 있습니다. 각 데이터 흐름 태스크 (예 : A, B, C, D)는 동일한 파생 열 표현식을 가지며 다른 oledb 소스의 결과를 동일한 oledb 대상에 추가합니다.SSIS Derived Column 오류 표현식
데이터 흐름 태스크 C만으로는 다음과 같은 오류가 발생하고 모두 A, B 및 D에 대해 문제없이 작동하지만 모두 파생 열 표현이 동일합니다.
파생 열 표현:
(DT_NUMERIC,18,2)SUBSTRING([Work item /Submission no#],4,2) == (DT_NUMERIC,18,2)SUBSTRING([Work item /Submission no#],4,2) ? LEFT([Work item /Submission no#],15) : LEFT([Work item /Submission no#],16)
SSIS 오류가 C의 데이터 흐름 작업에 표시 : 모든
[Derived Column [100]] Error: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "Derived Column" failed because error code 0xC0049064 occurred, and the error row disposition on "Derived Column.Outputs[Derived Column Output].Columns[SubmissionCommon]" 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.
일부 줄에서'SUBSTRING ([작업 항목/제출 번호 없음], 4,2)'을 (DT_NUMERIC, 18,2)로 구문 분석 할 수 없다고 생각합니다. – Hadi
오류가 발생합니까? A, B 및 D가 비활성화되어있는 동안 데이터 흐름 작업 C를 실행하면? 또한 C에서 사용하는 oledb 소스의 Work 항목과 Submission No # 값을 모두 검토 했습니까? NULL 값은 표현식에서 사용 된 나눗셈에서 문제를 일으킬 수 있습니다. 이 oledb 소스에서 Work 항목과 Submission No 필드에 대해 ISNUMERIC 함수를 사용하여 SQL 쿼리를 실행하면 해답을 제공 할 수 있습니다. – user3662215
아니요, 저는 다른 데이터 흐름 작업에서 A, B, C 및 D를 모두 실행하지만 동일한 SSIS 패키지 내에서 실행합니다. C에서 오류가 발생하며 약 300,000 행의 27494 행이 반환됩니다. – katy89