在SSIS十进制领域合作(Working with Decimal fields in SSIS)

2019-10-17 05:19发布

我使用SQL Server 2008瓦特/ SP2。

我有一个输入十进制(9,2)场传入通过我的OLE DB转化到我的记录目的地的转变 。 我看到,当我点击目的地转型的输入和输出属性选项卡上,它显示这一特定领域类型DT_NUMERIC出于某种原因。 这就像它的读它不是一个小数其他的东西吗? 我不know..I'm不是SSIS大师。

因此,我们继续......这个问题我已经在这里开始我试图将价值塞进这个十进制领域的变量。 在foreach循环中,我有一个变量来表示这个十进制领域,所以我可以使用它。

我认为是相当著名的第一个问题是SSIS变量没有小数类型 。 从我自己的测试,我读过在那里,人们正在使用类型对象的变量,使SSIS“快乐”与十进制值? 它使我的快乐。

不过,随后在我的foreach循环,我有一个for循环 。 而且里面,我使用的E * xecute SQL任务转换 *。 在这里面,我需要创建一个参数映射到我的变量 ,所以我可以用小数场在我的T-SQL调用在这里工作。 所以,现在我看到一个类型为十进制的参数,并使用它,并设置为指向我的变量。

当我运行SSIS和它击中我的SQL调用,我得到这个在我的输出窗口。

   The type is not supported.DBTYPE_DECIMAL 

所以我在这里打在墙上。 所有我想要做的就是带小数点的工作!

Answer 1:

我会尝试无论是在您的数据流任务的值转换为双或VARCHAR,而不是一个对象。 请注意,您可能需要使用浇注或者在你执行SQL任务转换语句来更改类型回十进制在办理SQL语句。



Answer 2:

我曾面临类似的问题,并为我的解决方案我用十进制来诠释转换器。



文章来源: Working with Decimal fields in SSIS