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

SSIS 包是使用具有UTF-8和Unicode两个输出的数据流任务创建的。

第一个平面文件连接管理器,用于生成编码为 UTF-8 的平面文件。

使用UTF-8编码生成的输出文件。

第二个平面文件连接管理器,用于生成编码为Unicode的平面文件。

使用Unicode编码生成的输出文件。
