SQL SERVER 2008及以後版本不支援UTF8格式,那麼怎麼樣能匯入utf8格式的文字不出現亂碼呢?可以先將utf8格式檔案改變編碼改成GBK格式另存,然後再匯入。
工具/原料
SQLSEVER2008
UNIX UTF8格式資料檔案
方法/步驟
UNIX UTF8資料檔案從centos7系統mysql下匯出來。以tab分割欄位,以\n為行終止符。
使用BULK insert大批量匯入資料。
匯出xml的命令EXEC master..xp_cmdshell 'BCP 庫.dbo.表 format nul -f E:\SQLServer\count\表.xml -x -c -T';
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;
使用vbs指令碼讀取utf8格式的txt檔案,另存成gbk格式檔案。
使用bulk inset 命令匯入,1分鐘能匯入80萬+資料。
如果是多個檔案批量匯入,可以把sql儲存到文字中。使用osql命令執行該文字。osql -E -S -i bulktest