借用mysql 或者其餘數據庫 處理MSSQL 2016前處理導入特殊字符

MSSQL 2016支持了utf8編碼的文件,以前處理比較麻煩的bcp 方式導入特殊字符一會兒就方便了。mysql

可是以前的版本,處理起來仍是有一點麻煩。此次處理使用的數據庫版本是sql server 2014,sql

用於測試的例子用2個字符串shell

T3 Rénové tout Confort proche métro
Ona el Marqués Resort
首先咱們在test數據庫上面先建立一個測試表 CREATE TABLE T1 (name NVARCHAR(50))
分別使用以下幾種處理方法來進行處理
嘗試1:直接用 bcp -c 來處理 
EXEC sys.xp_cmdshell 'bcp test..T1 in D:\T1.txt -S GINLATOP\MSSQLSERVER2014 -T -c'
SELECT * FROM T1

結果是醬汁: 數據庫

嘗試2 :使用 bcp的格式導入導出來處理服務器

EXEC sys.xp_cmdshell 'bcp test..T1 format nul -f D:\format.xml -S GINLATOP\MSSQLSERVER2014 -T -x -c'
EXEC sys.xp_cmdshell 'bcp test..T1 in D:\T1.txt -f D:\format.xml -S GINLATOP\MSSQLSERVER2014 -T -x'
SELECT * FROM T1

 

 結果仍是這個圖架構

 

嘗試3: 使用數據庫自帶的數據導入功能,得出結論可行!測試

 

嘗試4: 當嘗試3 也不能導入的時候,可使用藉助mysql或者其餘數據庫做爲中轉。先把數據導入其餘數據庫,而後藉助連接服務器把數據導入到sql server編碼

能夠說,嘗試4的操做比較複雜,可是確是有用的spa

好比用MySQL作例子: 建立一個同名同架構的表code

而後用 

load data infile "D:\\T1.txt" into table T1 ;

 

而後建一個連接服務器把數據導入過來便可 

 

PS:同時向各位大佬求教這種狀況用2014 用bcp 能解決這個問題嗎?仍是我有某些參數不對呢???

但願這個方法對你們有幫助

相關文章
相關標籤/搜索