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

Jus*_*ner 0 sql-server bcp

我正在阅读此页面,它描述了bcp实用程序。它指出:

本节包含以下示例,这些示例说明如何使用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
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢。

Rem*_*anu 5

有两个维度:

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

  • Unicode与非Unicode。Unicode将以宽格式(Unicode编码)存储字符串。非Unicode将以指定的代码页编码(-C参数)存储它们。如果不关心空间,除非痛苦,否则请使用Unicode。

您必须意识到,您所看到的产品具有+20年的发展历史,并且存在路径依赖。如今,除非有特殊原因,否则我始终使用本机Unicode(-n -w)。