0

我有一个奇怪的问题。我需要将日文字符从表中导出到原始文本文件。当我在 SQL 中运行 select 语句时,我能够看到正确显示的字符。但是,当我运行 SSIS 包以将这些值导出到文本文件时,它们显示为?'s.

该字段的数据类型是NTEXT。有没有人遇到过这个问题?

SQL 语句

select cast(body as nvarchar(max)) as body from msgsMarket

在 SSIS 包的平面文件连接管理器中,我已将输出编码设置为使用932

4

1 回答 1

3

这不是解决方案,但可能会帮助您确定您的案例中的问题。

UTF-8使用带有和编码的SSIS 2008 R2 创建了一个示例 SSIS 包Unicode,并将 SQL Server 数据正确导出到平面文件。

文件中的示例 SQL 数据。描述字段是数据类型NVARCHAR。该示例还通过将描述字段的数据类型更改为NTEXT并且仍然正确导出平面文件来尝试。

示例 SQL 数据

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

数据流任务

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

UTF-8 编码

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

UTF-8 输出文件

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

Unicode 编码

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

Unicode 输出文件

于 2012-04-23T16:00:43.840 回答