我现在一直在努力解决这个错误已经好几天了,并且已经尝试了我所知道的一切。我有一个SQL语句,将数据从几个表拉入另一个表。有问题的字段是来自SQL 2000数据库的NTEXT字段,我现在将其导入到NVARCHAR(MAX)数据类型的SQL 2008 R2表中,因为我虽然问题是NTEXT数据类型。但是,只是一个OLE DB源(带有1个字段)到Excel目标中的SSIS包仍然给我Unicode和非Unicode错误!几行数据的长度超过8000个字符。请帮忙......
答案 0 :(得分:1)
经过很多痛苦后我终于得出结论,导出到EXCEL是不可能的,所以我转向CSV。我使用了“平面文件目标”对象,指向我用Headers创建的CSV。文本限定符设置为双引号。在Columns部分中,我将Row分隔符设置为{CR} {LF},将Column分隔符设置为逗号{,},因为它是CSV!拼图的最后一部分是删除和双引号,回车和换行。我还必须将NTEXT字段转换为VARCHAR(MAX),因为REPLACE不能与NTEXT一起使用。这是我最终得到的具有这些“无效字符”的列。
REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(MAX),[MyNTEXTColumn]),CHAR(13),''),''',''),CHAR(10),'')AS'更正输出“
我用一个空格替换了{CR} CHAR(13),我们可以将它格式化为消费者。我希望有一天能帮助别人。