sql server 2014前的版本的bcp 不支援匯出utf-8格式。
但sql server 2016的bcp則已有支援,以下是MSDN上的說明
13 版之前的版本 (SQL Server 2016) 不支援字碼頁 65001 (UTF-8 編碼)。 開頭為 13 的版本可以將 UTF-8 編碼匯入舊版的 SQL Server。
測了一下,DB仍是用SQL 2014,然後去下載sql 2016的odbc driver 13及command line utilities 13,可轉出UTF-8格式資料。
Microsoft® ODBC Driver 13
(Preview) for SQL Server® – Windows
Microsoft® Command Line Utilities 13 for SQL Server®
安裝後,使用C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\下的bcp 來進行資料轉出,如不確定bcp版本,可執行
bcp -v
最後指定code page完成UFT-8檔的轉出囉.
"C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\bcp" "exec zspTest 123" queryout "c:\temp\test.csv" -cC65001 -T -StestServer

沒有留言:
張貼留言