當我使用批量插入選項卡分隔文件(從UNIX SAP系統導出)到SQL Server 2008 R2時,Short_text
字段會變成象形文字(如果它們是俄語等擴展字符)。批量將俄語及其他國際字符插入到SQL Server 2008中
我的代碼是:
BULK INSERT ProcureDB.dbo.tbl_SAP_PO_Load
FROM \\Path\'Bulk_Insert_test.txt'
WITH
(
FIELDTERMINATOR = '\t'
,FIRSTROW=2
,ROWTERMINATOR = '0x0a')
這是短文本字段的外觀:
Short_Text
стаканы одноразовые
чай черный
Dell 22" Touch screen
Dell 3 yr advanced exchange svc
的前兩行是俄語。如果我導入到Excel此使用文本導入嚮導,它在默認情況下(65001使用代碼頁65001:的Unicode(UTF-8)和俄文本在Excel工作表
Short_Text (in excel sheet)
стаканы одноразовые
чай черный
Dell 22" Touch screen
Dell 3 yr advanced exchange svc
之一出來OK在網絡上的建議是在批量插入使用代碼頁65001
因此,代碼:
BULK INSERT ProcureDB.dbo.tbl_SAP_PO_Load
FROM \\Path\'Bulk_Insert_test.txt'
WITH
(
**CODEPAGE = '65001'**
,FIELDTERMINATOR = '\t'
,FIRSTROW=2
,ROWTERMINATOR = '0x0a')
但是這會產生錯誤:
Msg 2775, Level 16, State 13, Line 3
The code page 65001 is not supported by the server.
我如何獲得代碼頁65001被服務器支持?
另一個建議是使用CODEPAGE ='ACP'。然而,這種方法有效,但俄文字符已被破壞,但方式不同。
Short_Text
Ñтаканы одноразовые
чай черный
Dell 22" Touch screen
Dell 3 yr advanced exchange svc
版本信息。低於:
- 的Microsoft SQL Server標準版(64位)10.50.6000.34
- 的Microsoft Windows NT 6.1(7601)NT x64的
- 英語(美國)
- SQL_Latin1_General_CP1_CI_AS
非常不好格式化 –
請把這個弄清楚,這樣你想說的就可以理解了。 – thesecretmaster
我試圖格式化這個答案,編輯器將不允許在所有代碼放入代碼塊時保存它。 –