繁体   English   中英

SSIS中的陷阱错误行执行SQL任务

[英]Trap Error rows in SSIS Execute SQL Task

我有一个SSIS包,可将一堆XML文件导入SQL表。 XML导入完成后,我运行Execute SQL任务来更新一些记录,并导入其他尚不存在的记录。 其中一项任务是根据用户的电话号码创建用户登录名。 有时源数据有错误,没有输入任何数字,或输入了重复的数字。 我无法控制数据输入,但是userlogon表当然需要唯一的值。

如何配置Exec SQL任务以简单地忽略PK违规错误并继续下一条记录?

这是SQL代码:

insert into Logins
select REPLACE(LTRIM(REPLACE(Customer_Number, '0', ' ')), ' ', '0'), RIGHT(customer_number,4) + EFFDAT, Company_Name, Customer_Number, Email_Address, 0, CU_Allow_Web_Ordering, 0, 0, 1 from CUSTOMER_MASTER_FILE where CUSTOMER_NUMBER not in
(select CustomerNumber from Logins)

如果您想提交像您一样的查询,则不能。 例如,您不能提交一批10行并且提交8行,而失败2行。

我认为这种解决方案不是很好,我认为您应该尝试以某种方式测试登录名是否存在,然后再尝试插入数据,但是如果您愿意,可以将组件的maxNUmberOfErrors配置为一个非常大的数字,然后尝试插入一个登录名。由一个循环组件。 在失败次数达到maxNUmberOfErrors之前,组件失败不会导致程序包失败。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM