问题将数值数据导出到平面文件,SSIS

Posted

技术标签:

【中文标题】问题将数值数据导出到平面文件,SSIS【英文标题】:Issue exporting Numeric data to Flat file , SSIS 【发布时间】:2013-05-02 16:35:18 【问题描述】:

我在数据库中有值0.546, 0.456 的数值数据。当我尝试使用平面文件管理器将这些值导出到平面文件时,零值被截断,并且平面文件中仅显示 .546,.456

零以外的值没有这个问题。 我尝试使用数据转换但没有用

【问题讨论】:

在数学上,这些数字是相同的——实际问题是什么?您无法导入这些吗?您是在文本编辑器(不是 Excel)中打开输出文件吗? 在平面文件 (txt) 中,值显示为 0.546 而不是 0.546 为什么会有这样的问题? 关于这个主题的一些有趣的讨论可以在这里找到:mathforum.org/library/drmath/view/52352.html - 讨论的关键是阅读时可能会错过前面没有零的小数。最后但并非最不重要的一点是,如果需求或老板说需要,我们必须交付。 【参考方案1】:

尝试数据转换转换 - 数据类型:十进制 [DT-DECIMAL):比例 3。 很好的发现,Prakash!

【讨论】:

【参考方案2】:

恐怕您必须先将数字数据转换为DT_WSTR。它必须是派生列转换,而不是数据转换,因为你会得到相同的结果。在表达式中,您需要在转换后的数字前面加上 0。不知道负数,但也许它们会有正确的格式(您需要对其进行测试)。

floor(decimal_column)==0 ? "0" + (DT_WSTR,10)decimal_column : (DT_WSTR,10)decimal_column

我知道这不是您所期望的,但前几天我遇到了同样的问题,无法找到更好的解决方案:)。

【讨论】:

以上是关于问题将数值数据导出到平面文件,SSIS的主要内容,如果未能解决你的问题,请参考以下文章

使用 SSIS 脚本任务将数据从多个 SQL 表导出到不同的平面文件

将数据从平面文件加载到 Sql Server 表,并使用 SSIS 导出到 excel

SSIS 2008 - 在平面文件目标中导出为指数值的浮点值

SQL 导出到平面文件比作业中 SSIS 中的相同导出运行得更快

使用导入和导出向导将平面文件导入 SQL Server

如何在 SQL Standard 上导出 SSIS 数据并在 SQL Express 上使用 Bulk Insert 导入?