2010-05-27 5 views
1

Excel 파일이 있습니다. Excel 파일의 데이터를 SQL Server 테이블로 가져 오려고했습니다. 그리고 데이터가 성공적으로 전송됩니다. Excel 파일에서 한 열에서 Risk이라는 한 열에서 텍스트를 제거했습니다. 텍스트는 길었습니다. 이제 패키지 실행은 소스 즉 Excel 파일에서 실패합니다. 오류는 내가이 행에서이 특정 텍스트를 제거 할 때 오류가 발생Excel 파일에서 데이터를 가져 오는 중 오류가 발생했습니다.

[Audit [1]] Error: There was an error with output column "Risk" (100) 
on output "Excel Source Output" (9). The column status returned was: 
"DBSTATUS_UNAVAILABLE". 

[Audit [1]] Error: SSIS Error Code 
DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "output column "Risk" 
(100)" failed because error code 0xC0209071 occurred, and the error 
row disposition on "output column "Risk" (100)" 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. 

로 표시됩니다 내가 열 이름을 제외한 모든 데이터를 지우고 새로운 데이터를 다시 입력 할 때. 그리고 비록 Excel 파일을 같은 이름과 같은 열 이름으로 바꾸지 만 다른 데이터로 바꾸더라도.

+0

"텍스트를 제거했다"고했을 때 정확히 무엇을 했습니까? 수동으로 Excel 파일을 열고 전체 열을 삭제 했습니까? 해당 열의 단일 셀을 삭제 했습니까? 열을 공백으로 대체 했습니까? –

+0

해당 열의 단일 셀을 삭제했습니다. 셀의 길이가 256보다 작 으면 같은 오류가 발생합니다. 그리고 그 특정 세포에만 일어납니다. –

+0

또는 Excel 서버에서 SQL Server로 데이터를 가져 오는 올바른 방법은 무엇입니까? –

답변

0

SSIS 패키지를 실행하기 전에 Excel이 닫혀 있는지 확인하십시오. SSIS 패키지를 열고 소스 및 대상 데이터 흐름 항목의 열 섹션으로 이동하여 메타 데이터를 새로 고침 해보십시오. 다른 문제가없는 것으로 보이거나 잘못된 방식으로 설명/관찰했습니다.

+0

엑셀 파일을 다른 데이터로 바꾸지 만 첫 번째 행에서는 동일한 열 이름을 사용하거나 열 이름을 제외한 이전 데이터를 지운 후에 새 데이터를 입력하면 오류가 발생합니다. 따라서 데이터를 가져 오지 못했습니다. 메타 데이터를 새로 고침하여 완료했습니다. 오류는 당분간 해결됩니다. 하지만 일단 서버에 배포하면 위의 프로세스를 수행하십시오. 실패하면 ou는 SQL Server에서 패키지를 새로 고칠 수 없습니다. –

0

방금 ​​전에이 문제에 휩쓸 렸습니다 ... SSIS를 사용하는 10 년 이상 전에 본 것을 기억하지 마십시오. Google-ing은 해결책을 찾았습니다. Excel 연결 >> 고급 편집기 >> 입력 및 출력 속성을 마우스 오른쪽 단추로 클릭하십시오. Excel Source Output 트리 뷰에서 "Output Columns"를 열고 성가신 열을 찾습니다. ErrorRowDisposition을 RD_IgnoreFailure로 변경하십시오.

이것은 부분적으로 나왔습니다. 데이터 타입 속성과 길이를 변경해야만 작동하도록했습니다. 그런 다음 ErrorRowDisposition을 다시 실패로 설정하고 변경된 DataType 및 길이로만 실행하고 실행했습니다.

이 옵션을 사용하여 작동하는지 확인하십시오. 나는 데이터 유형이 그것을 고쳤다고 가정하고있다.

관련 문제