2014-04-06 79 views
0

我有一個管道分隔文本文件我使用BULK INSERT導入到SQL Server中的表中。SQL Server批量導入 - 字符翻譯?

我遇到了某些字符的實際問題。例如,文本文件中顯示爲「傾斜30º和80º」的文本被導入爲「傾斜30°和80°」

現在,文本文件中的數據實際上是從另一個SQL服務器數據庫,並在原始表中字符串顯示爲「30º傾斜和80º」,所以我有點困惑。

兩個數據庫都有相同的排序規則。我用做批量插入的SP是:

DECLARE @sql nvarchar(4000) = 'BULK INSERT ' + @TempTable + ' FROM '''[email protected]+''' WITH (FIELDTERMINATOR=''|'',ROWTERMINATOR=''\n'');' 
EXEC(@sql) 

這在所有其他方面正常工作

感謝

+0

試圖強制大容量插入命令的代碼頁到數據庫使用的排序規則的代碼頁 - 這將結果更改爲「30º的傾斜和80º」 –

回答

0

假設@sourcefile是ANSI編碼,這應該工作:

DECLARE @sql nvarchar(4000) = 'BULK INSERT ' + @TempTable + ' FROM '''[email protected]+''' WITH (FIELDTERMINATOR=''|'',ROWTERMINATOR=''\n'', CODEPAGE=''ACP'');' 
EXEC(@sql) 
+0

謝謝 - 我應該提到我已經嘗試過沒有成功 –

0

想象它

該文本文件不是unicode編碼的。更改此排序問題