【发布时间】:2018-06-26 13:51:21
【问题描述】:
Visual Studio 2015;来源:OLEDB(SQL2012);目标:平面文件(csv)
我有存储过程,我需要从中提取数据,但我无法控制这些存储过程具有浮点数据类型的输出。在 SSMS 中,数据看起来类似于 3.45985,但在 SSIS 中,输出 csv 文件的数据类似于 3.45989999999(数字是虚构的,但您明白了)。
我确实了解 float 的工作原理,并且知道 float 不是一种精确的数据类型——但我无法控制存储过程。我苦苦挣扎的地方是如何解决它。我读过您可以将输出设置为平面文件目标中的字符串,但它似乎不起作用。我还尝试从存储过程中获取输出并将结果放入表变量中,并且已经成功格式化了我需要的格式。但是,一些存储过程已经在临时表中进行了一些插入,当我尝试将结果存储到表变量中时,我遇到了错误。所以,那个解决方案真的不适合我。
我的业务用户已经习惯了这些在旧版应用程序中类似于 3.45985。我正在重写这些以通过 SSIS 完成所有操作以自动化提取,而不必支持旧的业务线应用程序。
【问题讨论】:
标签: sql-server csv ssis etl