繁体   English   中英

SSIS中DB2压缩十进制与SQL Server DT_NUMERIC之间的查找转换

[英]Lookup transformation between DB2 packed decimal and SQL Server DT_NUMERIC in SSIS

我们使用DB2作为主要生产数据库,但是我们将SQL Server用于许多其他事情,即通过EDI等在其他客户和供应商之间进行集成。
我在SQL中有一个带有SO号的表,我尝试在DB2中进行查询,以获取表中SO的所有发票,所以这就是我所做的。

  1. 使用Microsoft®OLEDB Provider for DB2创建了到DB2的连接
  2. 使用SQL Server连接使用源创建了数据流
  3. 添加了一个数据转换转换,尝试将INT so值转换为精度为12的十进制,但是我无法更改DT_DECIMAL的精度,因此,我可以更改精度的唯一数据类型是DT_NUMERIC。
  4. 添加了一个查找转换,以使用DB2查找数据。

现在,当我尝试在源表和DB2之间创建Cannot map the input column, 'so', to the lookup column, 'orno', because the data types do not match.出现错误Cannot map the input column, 'so', to the lookup column, 'orno', because the data types do not match.
根据Microsoft的说法,这不是错误,建议使用DT_NUMERIC来更改精度。
如果我尝试在不更改精度的情况下将SO转换为DT_DECIMAL,则会收到与上述相同的错误。

有什么方法可以解决SSIS的限制并更改DT_DECIMAL转换中的精度,以便我可以进行匹配吗?

或其他建议?

简单的答案是更改DB2连接中的连接属性,以将DECIMAL视为NUMERIC。
见波纹管 在此处输入图片说明

暂无
暂无

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

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