所以我使用以下代码将日期转换为MMDDYYYY:
replace(convert(varchar(10), Absent_Date, 101), '/', '') as Absent_Date
当我在Navicat中运行它运行正常,但是当我使用SSIS从存储过程导出到平面文件时,它会收到以下错误消息
我已经从这里和其他论坛网站上阅读了大约20个不同的帖子,但没有找到一个对我有用的帖子。我试图使用数据转换对象,但我无法让它工作。老实说,只要SSIS让我导出到一个平面文件,我就不在乎它是什么格式我有大约20个文本文件,其中包含日期,需要采用相同的格式。非常感谢任何帮助!
我在使用Sql Server 2008 R2
答案 0 :(得分: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数据转换为与平面文件目标兼容的内容。