2012-04-24 3 views
0

SQL 서버의 테이블로 Excel 파일을 가져오고 싶습니다. 테이블에는 3 또는 4 개의 열이 결합되어 기본 키를 만듭니다. 가져 오기를 언제든지 실행할 수 있기를 원하며, 기본 키와의 충돌이있는 경우 해당 행을 가져 오지 않고 다른 모든 행을 계속 가져와야합니다.Excel 시트를 SQL Server로 가져오고 기본 키 위반을 건너 뛰십시오.

필자는 가져 오기를 수행하는 * .dtsx 파일을 만들었지 만 중복 키를 찾으면 죽습니다. * .dtsx 파일이 중복 된 것을 발견하고 계속 죽어 버리면 계속 진행할 수있는 방법이 있습니까? * .dtsx 파일을 열려고 시도했지만 많은 옵션이 없습니다. * .dtsx 파일을 마우스 오른쪽 단추로 클릭하고 편집을 선택하면 Visual Studio가 열리 며 * .dtsx 파일을 편집 할 수있는 방법이 표시됩니다. 나는 그것에 익숙하지 않다. 모든지도 매우 감사합니다!

답변

1

OleDBDestination 구성 요소에 PK와 같은 제약 조건을 무시하는 데 사용되는 "check constraint"확인란이 있지만 문제가 해결되지 않을 것이라고 생각합니다.

소스와 대상 구성 요소간에 가장 이상적인 작업은 조회 구성 요소를 추가하여 행이 이미 DB에 있는지 확인하고 존재하지 않으면 삽입 만하는 것입니다.

나는 당신이 SSIS를 모른다 고 말했지만 이것은 아마도 취해야 할 접근법이다. 이렇게 간단한 패키지를 만들거나 수정하는 것은 어렵지 않습니다. Here는 포럼의 예입니다.

+0

감사합니다. @Diego, 맞습니다. SSIS -> Lookup Component가 옳은 것으로 밝혀졌습니다. 그들은 거기에 2 개의 산출을주는 힘 특징을 비치한다 : 일치하는 기록 및 필적 할 수없는 기록. 내가해야 할 일은 조금만 구성하고 필적 할 수없는 레코드를 내 목적지로 스트리밍하는 것뿐이었습니다. 조용히, 도와 줘서 고마워! – russds

+0

당신이 대답을 원한다면 help.please vote 다행 :) – Diego

관련 문제