大容量导入或导出的数据格式 -- Unicode字符格式
應用場景
使用包含擴展/DBCS 字符的數據文件在多個 SQL Server 實例之間大容量傳輸數據時,建議使用 Unicode 字符格式。
?
從服務器導出數據時,Unicode 字符數據格式允許使用與執行該操作的客戶端不同的代碼頁。
?
在這種情況下,使用 Unicode 字符格式有下列優點:
1. 如果源數據和目標數據的類型為 Unicode,則使用 Unicode 字符格式可以保留所有的字符數據。
2. 如果源數據和目標數據的類型不為 Unicode,則使用 Unicode 字符格式可以盡可能減少丟失源數據中無法在目標數據中表示的擴展字符。
?
Unicode 字符格式數據文件遵循 Unicode 文件的約定。該文件的前兩個字節為十六進制數字 0xFFFE。 這兩個字節用作字節順序標記,指定在文件中高位字節是存儲在前面還是后面。
?
| 重要提示 |
| 對于用于 Unicode 字符數據文件的格式化文件,所有輸入字段必須為 Unicode 文本字符串(即固定大小 Unicode 字符串或字符終止 Unicode 字符串)。 |
?
Unicode 字符格式數據文件中存儲的 sql_variant 數據的操作方式與字符格式數據文件中的同類數據的操作方式相同,唯一的不同是該數據存儲為 nchar 而不是 char 數據。
?
Unicode?字符格式的命令選項
您可以使用 bcp、BULK INSERT 或 INSERT ... SELECT * FROM OPENROWSET(BULK...) 將字符格式數據導入到表中。 對于 bcp 命令或 BULK INSERT 語句,您可以在命令行中指定數據格式。 對于 INSERT ... SELECT * FROM OPENROWSET(BULK...) 語句,您必須在格式化文件中指定數據格式。
?
下列命令行選項支持 Unicode 字符格式:
| 命令 | 選項 | 說明 |
| bcp | -w | 使用 Unicode 字符格式。 |
| BULK INSERT | DATAFILETYPE?='widechar' | 大容量導入數據時使用 Unicode 字符格式。 |
?
參考:
https://msdn.microsoft.com/zh-cn/library/ms188289.aspx
本文轉自UltraSQL51CTO博客,原文鏈接:http://blog.51cto.com/ultrasql/1628101?,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的大容量导入或导出的数据格式 -- Unicode字符格式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决MSDTC 53258故障
- 下一篇: 探索Elasticsearch集群API