1

因此,我使用以下代码将日期转换为 MMDDYYYY:

replace(convert(varchar(10), Absent_Date, 101), '/', '') as Absent_Date

当我在 Navicat 中运行它时,它运行良好,但是当我使用 SSIS 从存储过程导出到平面文件时,它收到以下错误消息

在此处输入图像描述

我从这里和其他论坛网站上阅读了大约 20 篇不同的帖子,但还没有找到适合我的帖子。我尝试使用数据转换对象,但无法让它工作。老实说,我不在乎它是什么格式,只要 SSIS 允许我导出到一个平面文件我有大约 20 个文本文件,其中的日期需要采用相同的格式。任何帮助是极大的赞赏!

我在 Sql Server 2008 R2

4

1 回答 1

2

根据您捕获的错误,我假设来自您的源(OLE、ADO 等)的元数据表明 Absent_Date 列是 DT_NTEXT。然后,解决方案是将其转化为“有效”的东西。我通常将两个数据转换任务 NTEXT 应用到 TEXT,然后将该 TEXT 转换为字符串类型。如果您的数据是 unicode,那么它只是 NTEXT 到 WSTR 的转换,但我是一个愚蠢的美国人。

在这里,您可以看到我的 OLE DB 源的输出元数据表明 Absent_Date 是 NTEXT。最后一步(位桶)将显示长度为 10 的新列 STR_Absent_Date,数据类型为 DT_STR(代码页 1252)

在此处输入图像描述

采用这种方法应该允许您将 NTEXT 数据转换为与平面文件目标兼容的内容。

于 2012-06-21T22:33:07.090 回答