SQLSERVER2008?

SQL SERVER 2008及以後版本不支援UTF8格式,那麼怎麼樣能匯入utf8格式的文字不出現亂碼呢?可以先將utf8格式檔案改變編碼改成GBK格式另存,然後再匯入。

工具/原料

SQLSEVER2008

UNIX UTF8格式資料檔案

方法/步驟

UNIX UTF8資料檔案從centos7系統mysql下匯出來。以tab分割欄位,以\n為行終止符。

SQLSERVER2008 BULK如何導UNIX UTF8大資料文字

使用BULK insert大批量匯入資料。

SQLSERVER2008 BULK如何導UNIX UTF8大資料文字

匯出xml的命令EXEC master..xp_cmdshell 'BCP 庫.dbo.表 format nul -f E:\SQLServer\count\表.xml -x -c -T';

SQLSERVER2008 BULK如何導UNIX UTF8大資料文字

xp_cmdshell預設未啟用要先啟用,用完關閉。生成的xml行分隔符是\r\n,需要修改成\n。

EXEC sp_configure 'show advanced options', 1; RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1; EXEC sp_configure 'show advanced options', 0; RECONFIGURE;

SQLSERVER2008 BULK如何導UNIX UTF8大資料文字

SQLSERVER2008 BULK如何導UNIX UTF8大資料文字

使用vbs指令碼讀取utf8格式的txt檔案,另存成gbk格式檔案。

SQLSERVER2008 BULK如何導UNIX UTF8大資料文字

使用bulk inset 命令匯入,1分鐘能匯入80萬+資料。

SQLSERVER2008 BULK如何導UNIX UTF8大資料文字

如果是多個檔案批量匯入,可以把sql儲存到文字中。使用osql命令執行該文字。osql -E -S -i bulktest

SQLSERVER2008 BULK如何導UNIX UTF8大資料文字

相關問題答案