2012-08-07 3 views
0

SSIS 패키지를 실행하고 있습니다. 이 패키지는 Excel 파일을 SQL Server 데이터베이스 2008로 가져옵니다. Excel 가져 오기 중에 FIRE_TRIGGERS 옵션을 설정했습니다. INSERT 후에 특정 조건이있는 경우 패키지 실행을 중지하고 싶습니다. 그러나 많은 것을 시도했지만 성공하지 못했습니다. 모든 인서트에서 오류를 발생시키기 위해 방아쇠를 벗겼습니다. 그러나 SSIS 패키지는 멈추지 않습니다. 나중에 레코드가 발견되면 sproc가 실행되지 않으므로 나중에 중지됩니다. 트리거가 실행 된 후 중지하고 싶습니다. 당신이 내 트리거에 대한SSIS-Trigger가 패키지 실행을 중지하지 않습니다.

코드 도움을 감사는 :

ALTER TRIGGER [dbo].[TrigInsertBill] 
ON [Invoice].[dbo].[Bill] 
AFTER INSERT 
AS 
BEGIN 
RAISERROR('This month/year combo exist in the BILL TABLE',16,1) 

END 
+1

트리거는 양식에 관계없이 모든 삽입물에서 발사됩니다. 이것은 트리거에 대한 작업이 아닙니다. – HLGEM

답변

2

개인적으로 내가 무엇을 제안하면 Excel이 준비 테이블에 파일을로드하는 것입니다. 그런 다음 Execute SQL 태스크를 추가하여 검사 할 조건을 확인하고 트리거에 오류가 없는지 확인하십시오. 그것이 파일에 포함 할 수없는 특정 조건이있을 때 패키지를 중지하는 방법입니다.

나쁜 레코드를 건너 뛰고 싶다면 다른 프로세스입니다. 조건부 분할을 사용하여 원하지 않는 레코드를 식별하고 예외 테이블로 보낼 수 있습니다.

+0

네, 그게 내가 끝내 준 것입니다. 팁 주셔서 감사합니다. – Alex

관련 문제