【发布时间】:2017-05-21 07:26:37
【问题描述】:
我正在使用 BCP 将数据从 CSV 文件批量上传到 SQL Azure(因为不支持 BULK INSERT)。此命令运行并上传行:
bcp [resource].dbo.TableName in C:\data.csv -t "," -r "0x0a" -c -U bcpuser@resource -S tcp:resource.database.windows.net
但是 data.csv 是 UTF8 编码的并且包含非 ASCII 字符串。这些被破坏了。我尝试将 -c 选项更改为 -w:
bcp [resource].dbo.TableName in C:\data.csv -t "," -r "0x0a" -w -U bcpuser@resource -S tcp:resource.database.windows.net
然后我得到“复制了 0 行”。
我做错了什么以及如何使用 BCP 批量插入 Unicode 字符?
【问题讨论】:
-
只是检查,但您在目标表中使用
nvarchar数据类型,对吗?varchardata 类型不支持 unicode,而nvarchar支持。nchar与char和ntext与text相同 -
@SqlZim 是的,我正在使用 NVARCHAR。在本地数据库实例上使用 BULK INSERT 插入相同的 CSV 文件没有相同的问题。
标签: sql-server unicode azure-sql-database bulkinsert bcp