将GUID导出为非unicode中的文本文件

时间:2014-02-07 11:57:06

标签: ssis

我将数据从MS Dynamics CRM 2011数据库表导出到文本文件。最初我只是导出字符串数据 - 即定义为nvarchar的列,它工作正常。但是当我添加主键列 - uniqueidentifier / guid时,SSIS只输出unicode到文本文件。

我明确地将我的SQL查询中的所有列都转换为VARCHAR,并确保所有源/目标列都定义为非unicode字符串,即DT_STR,但仍然在文件中获得unicode。

有趣的是,只有当我在具有SSIS 2008 / Windows 2008 Server 64位的服务器上运行SSIS包时,才会发生这种情况。我们的数据库也是SQL 2008 64位,也是在单独的Windows 2008服务器上。该软件包在我的电脑上工作正常 - Win7 64位。

为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用bcp实用程序进行导出。

http://technet.microsoft.com/en-us/library/ms162802.aspx

“bcp实用程序在Microsoft SQL Server实例和用户指定格式的数据文件之间批量复制数据”

-N参数记录为“使用非字符数据的数据的本机(数据库)数据类型和字符数据的Unicode字符执行批量复制操作。”这意味着通过省略此arg,您将不会在输出中获取Unicode。