使用SSIS导出长列到平面文件时遇到问题

我们有一个SSIS包,将生成供Google Big Query使用的文件。这些文件将是经过gzip压缩的.tsv文件。 其中一个要求是文件必须是UTF-8编码。我们已经在平面文件目标中设置了65001 - UTF-8。之后,生成的gzip文件可以正确地被Big Query消费。 现在的问题是,某些字段的字符长度可达到21,000个字符。DT_WSTR不支持这么大的大小。 将平面文件目标字段更改为DT_NTEXT会出现以下错误消息: 错误:0xC020802E at 14_3 Data Flow into MyTSV,Flat File Destination MyDestination [12]:数据类型“Flat File Destination MyDestination.Inputs[Flat File Destination Input].Columns[Value]”为DT_NTEXT,不支持ANSI文件。请改用DT_TEXT,并使用数据转换组件将数据转换为DT_NTEXT。 我阅读过的所有解决方案都涉及将其转换回DT_WSTR或将代码页更改回1252,但由于Big Query的代码页要求和数据的长度,这些都不是可行的选择。是否有其他解决方案来解决这个问题?
1个回答

试试点击Unicode复选框

尝试使用65001代码页和Unicode复选框,这对我来说消除了错误信息。希望我们使用的是相似版本的SSDT。我的版本是15。

但首先,双击你的扁平文件目标,然后点击更新按钮...

enter image description here

enter image description here


这对我有效。我已经检查了Unicode,但没有将代码页更改为65001(UTF-8)。谢谢! - Stephen Pace
这是一个很好的建议。谢谢你的分享。 - Laurie