2014-12-23 5 views
0

Excel 테이블의 데이터를 데이터베이스 테이블로로드하는 SSIS 패키지를 만들고 싶습니다.가져올 SSIS 2012 패키지가 데이터베이스 테이블에 데이터를 Excel로

이미 작업을 완료 한 패키지를 만들었지 만 엑셀 데이터와 열 정의가 매월 변경되기 때문에 Excel 데이터를로드 할 때마다 테이블을 다시 만들어야합니다. 테이블을 실행할 때마다 작성하지 않으면 오 류가 발생하고 Excel의 데이터가 잘못된 열 정의로로드되기 때문에 작업이 완료되지 않습니다.

매번 테이블을 동적으로 삭제하고 만들 수있는 방법이 있습니까?

답변

0

SSIS는 원본 및 대상 필드와 매핑을 설명하는 많은 메타 데이터를 장면 뒤에 생성합니다. 동일한 데이터 소스/대상과 통신하고 있지 않다고 느낀다면 유효성 검사 오류가 발생하고 시작을 거부합니다.

어느 정도까지는 연결 관리자 속성에서 DelayValidation을 True로 설정하여이 문제를 완화 할 수 있습니다. 그러나 귀하의 데이터 스펙이 진정으로 변화하고 있으므로 귀하의 경우에는 도움이되지 않습니다.

데이터 형식에 대한 엄격한 제어를 피하기위한 또 다른 옵션은 스크립트 작업에 사용자 지정 원본/변환/대상 논리를 작성하는 것입니다. 들어오는 Excel 파일의 형식을 읽고 해당 세부 정보를 변수에 저장하고 Execute SQL 작업에 전달하여 테이블을 만들 수있는 스크립트 작업을 작성할 수 있습니다. 그런 다음 스크립트 태스크를 작성하여 패키지에있는 일]적인 중간 C 럼에 데이터를 동적으로 맵핑 할 수 있습니다. 마지막으로 스크립트 작성 대상을 작성하여 새로 작성된 테이블에 해당 데이터를로드 할 수 있습니다.

기본적으로 상자 SSIS 기능을 모두 무시하고 자신의 통합 솔루션을 처음부터 작성하고 있지만 많은 선택의 여지가없는 것 같습니다.