我有一个奇怪的问题。我需要将日语字符从表格导出到原始文本文件。当我在SQL中运行select语句时,我能够看到正确显示的字符。但是,当我运行SSIS包将这些值导出到文本文件时,它们显示为 ?
。
该字段的数据类型为 NTEXT 。有没有人遇到过这个问题?
SQL语句:
select cast(body as nvarchar(max)) as body from msgsMarket
在SSIS包的平面文件连接管理器中,我已将输出编码设置为使用 932
答案 0 :(得分:3)
这不是解决方案,但可能有助于您确定案例中的问题。
使用带有UTF-8
和Unicode
编码的SSIS 2008 R2创建了一个示例SSIS包,并将SQL Server数据正确导出到平面文件。
文件中的示例SQL数据。 说明字段的数据类型为 NVARCHAR
。通过将“描述”字段的数据类型更改为 NTEXT
并且仍然正确导出平面文件,尝试了该示例。
SSIS包是使用数据流任务创建的,其中包含 UTF-8 和 Unicode 的两个输出。
第一个使用编码 UTF-8 生成平面文件的平面文件连接管理器。
使用 UTF-8 编码生成的输出文件。
第二个平面文件连接管理器,用于生成带有 Unicode 编码的平面文件。
使用 Unicode 编码生成的输出文件。