我正在使用 SQL Server 2008 w/SP2。
我有一个传入的小数(9,2)字段通过我的传入OLE DB 转换 to my 记录集目标转换。我发现,当我单击目标转换的“输入和输出”属性选项卡时,由于某种原因,它将此特定字段显示为 DT_NUMERIC 类型。就像它把它读成小数以外的东西一样?我不知道……我不是 SSIS 专家。
所以继续...我遇到的问题从这里开始,我试图将值填充到这个十进制字段的变量中。在一个foreach循环, 我有一个variable来表示这个十进制字段,以便我可以使用它。
我认为众所周知的第一个问题是SSIS变量没有小数类型。从我自己的测试和我读到的内容来看,人们正在使用 typeobject让变量让 SSIS 对十进制值“满意”?这让我很高兴。
但是,然后在我的 foreach 循环中,我有for 循环。在里面我使用的是 E*执行SQL任务转换*。在其中,我需要创建参数映射 to my variable这样我就可以在此处的 T-SQL 调用中使用该小数字段。所以现在我看到参数的十进制类型并使用它并将其设置为指向我的变量。
当我运行 SSIS 并执行 SQL 调用时,我会在输出窗口中看到此信息。:
The type is not supported.DBTYPE_DECIMAL
所以我在这里碰壁了。我想做的就是使用小数!
我会尝试在数据流任务中将值转换为 double 或 varchar 而不是对象。请注意,您可能必须在执行 sql 任务中使用强制转换或转换语句,以将事务 sql 语句中的类型更改回十进制。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)