CSV无法从SSIS导出显示正确的格式

时间:2016-04-08 19:04:18

标签: sql-server csv ssis

我从SSIS中的数据流任务调用存储过程,我在其中选择datetime字段的HOUR datepart。 (以下代码来自存储过程)

SELECT
DATEPART (HOUR, R.received_date) AS [Hour] ,
CONVERT (VARCHAR(10), R.received_date, 101) AS [Date] ,
COUNT (R.id) AS [NumberofFilings]

在我的数据流任务中,我有一个OLE DB Source任务,我在其中调用存储过程:

stored proc

当我使用OLE DB源任务预览数据时,数据看起来像我期望的那样 - 小时列显示0到0之间的整数。 24:

source preview

将结果导出到CSV文件并且小时变为日期时间字段,其值变为'1/11/1900 0:00'时,问题就出现了,这不是我所期望的。

在我的平面文件目标连接管理器中,我将Hour属性设置为四字节有符号整数,但小时不会显示为整数,而是显示为日期时间。

Advanced Properties

FF Source Preview

我已经为Hour列尝试了其他数据类型,但没有任何内容会将其转换为单个整数/字符。任何建议?

1 个答案:

答案 0 :(得分:0)

如果你在Excel中打开.csv文件,我怀疑Excel正在查看一个名为“Hour”的列,并且认为“必须是一个日期时间字段。我只是帮助我的用户,并且这样做。 “

尝试在记事本中打开.csv文件,看看实际内容是什么样的。

编辑:

我无法重现您的结果。当我按照您的步骤操作时,我会在记事本中看到一个类似于此的CSV文件:

"Col1","Col2"
"0","04/05/2016"
"0","04/02/2016"
"0","04/01/2016"
...

您必须做一些您未在问题描述中包含的内容。

或许你的包裹已经损坏了。您可以尝试从头开始重新构建它以消除这种可能性。

但我已经测试并证明你要做的事情应该有用。