SSIS错误锦集4)

浏览: 1595

question34:[进入地税纳税税务登记表 [274]] 错误: SSIS 错误代码 DTS_E_OLEDBERROR。出现 OLE DB 错误。错误代码: 0x80004005。

已获得 OLE DB 记录。源:“Microsoft SQL Server Native Client 11.0” Hresult: 0x80004005 说明:“语句已终止。”。

已获得 OLE DB 记录。源:“Microsoft SQL Server Native Client 11.0” Hresult: 0x80004005 说明:“不能在具有唯一索引“UIX_DS_SWDJXX”的对象“dbo.DS_SWDJXX”中插入重复键的行。重复键值为 (4600000000010517)。”。

解答:插入重复的行,根据这个重复键值‘4600000000010517’先找到对应的数据,在根据这条数据的一个关键字段去源端查找。可能存在源端的某一个字段的值重复的情况。

question 35:ssis在数据量有20万以上的时候,执行速度非常慢

方案:     在查找的时候可能涉及到多次查找,查找的键也不一样,这里我们采取的解决办法之一是给查找的这个字段加唯一非聚集索引来提高执行速度。还有就是去掉数据源中目的端我们不需要查找的字段,这样也可以提高执行速度。 

question36:在源端查找的时间戳的问题

select a.id,a.name,a.sex ,a.lastUpdatedate  from   a  where  a.lastUpdatedate>=? and  a.lastUpdatedate<=?

这里select里面的lastUpdateDate一定要写,因为后面where里面的lastUpdatedate是从前面select查询的结果集里面拿的,如果不在select里面查这个字段肯定存在逻辑错误。

question37:查找控件使用的时候外键关联问题(我的思维误区)

select  a.*  from  XX  a   inner  join  b   on a.id=b.aId

在查找的时候如果原先目的端所在的表没有设置主外键关系,是通过手动控制的,那就必须要用inner  join 来关联b表,如果a表已经有外键,那就直接查询a表,因为如果外键不存在或者重复数据肯定进不来。

推荐 0
本文由 xiaoyaya 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册