如何将日语字符从SQL Server 2008数据库导出到文本文件?

时间:2012-04-23 13:36:07

标签: sql sql-server-2008 ssis

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

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

SQL语句

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

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

1 个答案:

答案 0 :(得分:3)

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

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

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

Sample SQL data

SSIS包是使用数据流任务创建的,其中包含 UTF-8 Unicode 的两个输出。

Data flow task

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

UTF-8 encoding

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

UTF-8 output file

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

Unicode encoding

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

Unicode output file