微软BI(3)

1)
Q:该列违反了完整性约束错误;已获得 OLE DB 记录。源:“Microsoft SQL Server Native Client 11.0” Hresult: 0x80004005 说明:“不能将值 NULL 插入列 'FZCHID',表 'JRB_EnterpriseCredit.dbo.QYFZCH';列不允许有 Null 值。INSERT 失败。”。
A:一般这类问题的存在是 主外键设置了不为空,后者某个字段规定不为空,而我们的实际值为空 ,这时候最好在SQL语句上做过滤,过滤掉为空的值。
2)
Q:[进入table1表 [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_table1”的对象“dbo.tale1”中插入重复键的行。重复键值为 (4600000000010517)。”。
A:插入重复的行,根据这个重复键值‘17’先找到对应的数据,在根据这条数据的一个关键字段去源端查找。可能存在源端的某一个字段的值重复的情况。
3)
Q:ssis在数据量有20万以上的时候,执行速度非常慢
A:在查找的时候可能涉及到多次查找,查找的键也不一样,这里我们采取的解决办法之一是给查找的这个字段加唯一非聚集索引来提高执行速度。还有就是去掉数据源中目的端我们不需要查找的字段,这样也可以提高执行速度。

猜你喜欢

转载自xiaoyaya751.iteye.com/blog/2199360
今日推荐