2013-04-09 2 views
0

175 개의 다른 Excel 템플릿이있는 클라이언트로 작업하면서 SQL 2008 R2로 가져올 워크 시트를 만듭니다. 하나의 절약 은총이 있습니다. 템플릿 내에 10 개의 열이 있으며 모두 175 개에 공통이며 SQL 테이블로 가져올 열도 있습니다. 여기에 내 질문입니다 : 모든 테이블에 공통되는 열만 데이터베이스 테이블에 매핑하면 SSIS는 다른 열을 무시합니까? 아니면 이러한 여분의 열로 무엇인가해야합니까?Excel에서 SSIS 선택 열 가져 오기

사용자가 활용할 수있는 템플릿을 개발했지만 분명히 내가하고있는 가져 오기 이외의 다른 응용 프로그램에 이러한 다른 열이 있어야합니다.

현재 SSIS 프로세스에는 SQL 테이블을 만드는 준비 SQL 작업이 있으며, Excel 워크 시트 열을 매핑하는 데이터 흐름 작업과 매핑 된 열을 가져 와서 테이블을 업데이트하는 가져 오기 작업이 있습니다.

필자가 필요한 열만있는 테이블을 만들면 테이블에서 사용할 수있는 열만 선택하도록 Excel 매핑을 조정하면 가져 오기는 해당 열만 이동하게되므로 결과적으로 어떤 템플릿이 사용되는지에 관계없이 필요한 것을 가지고 있어야합니다.

누구나 전에 이렇게 해본 적이 있습니까? 이 프로세스는 두 시스템간에이 데이터를 공유 할 수있는 새 시스템을 사용할 수있을 때까지 약 6 개월 동안 중단됩니다.

미리 알려 주시기 바랍니다.

답변

1

SQL 문을 사용하여 Excel 표/범위/시트에서 선택할 수있는 경우 필수 열만 선택하여 표가 SSIS와 일관성있게 표시 될 수 있어야합니다.

그러나이 선택 문은 범위 또는 시트의 이름을 알아야하므로 일관성이 있어야합니다.

이것이 가능하지 않은 경우 Excel 파일을 열고 모든 불필요한 열을 삭제하는 스크립트를 만드는 것이 좋습니다.이 과정은 모든 것이 옳지 않거나 방어 적으로 작성되지 않은 경우 충돌이 발생할 수 있습니다.

+0

감사합니다. 어제 밤 나는 175 장 중 4 장을 수입했다. 그들은 필자가 필요로하는 칼럼만을 매핑 할 수 있도록 중요한 칼럼에 대한 명명과 매우 일치합니다. 나는 오늘 시험을 계속하고 있지만 이것은 효과가있는 것 같다. 나는 당신이 방어 적으로 작문함으로써 무엇을 의미하는지 궁금합니다. –

+0

위키 피 디아에는 좋은 설명이 있습니다. :) http://en.wikipedia.org/wiki/Defensive_programming 코드는 사용자가 생각할 수있는 모든 오류를 예상합니다. 따라서 오류 처리로 코드의 80 %를 차지하게됩니다. 트리거에 대한 이전 질문에서 포스터는 자신의 테이블에 행이 1 개만 삽입 될 것이라고 말했기 때문에 여러 행을 처리 할 필요가 없었습니다. 방어 프로그래밍. 솔직하게 말해서 특별한 이름조차 갖지 않아야합니다. 모든 코드는 그런 식으로 작성되어야합니다! –

+0

데이터 품질이 좋지 않기 때문에 Excel을 가져올 때 특히 방어해야합니다. 사람들은 매크로와 수식을 만들고 줄을 건너 뛰고 코드에서 허용해야하는 모든 종류의 것들을 만듭니다. –

관련 문제