SQL Server bcp参数,本机,字符,Unicode本机,Unicode字符,何时使用?

时间:2012-11-06 14:45:29

标签: sql-server bcp

我正在阅读描述bcp实用程序的this page。它声明:

  

本节包含以下示例,说明如何使用bcp   用于创建非XML格式文件的命令:

A. Creating a non-XML format file for native data

B. Creating a non-XML format file for character data

C. Creating a non-XML format file for Unicode native data

D. Creating a non-XML format file for Unicode character data
     

这些示例使用了HumanResources.Department表   AdventureWorks2012示例数据库。 HumanResources.Department   表包含四列:DepartmentID,Name,GroupName和   ModifiedDate。

我不清楚这些类型是什么意思?什么时候使用?

感谢。

1 个答案:

答案 0 :(得分:4)

有两个方面:

  • 原生与角色。本机格式创建二进制文件。字符格式创建文本文件。当您希望结果对于其他应用程序而言是人类可读且可用时(例如,在Excel中导入),请使用字符。如果源和目标都是SQL Server并且不需要/不需要人类可读性,则使用native。

  • Unicode与非Unicode。 Unicode将以宽格式(Unicode编码)存储字符串。非Unicode将它们存储在指定的代码页编码(-C参数)中。如果空间不是问题,请使用Unicode,除非您感到痛苦。

你必须意识到你看到的产品已经落后20年,有path dependence。现在我总是使用原生Unicode(-n -w),除非我有特定的理由不这样做。