BULK INSERT导入文本文件

时间:2015-04-01 03:31:16

标签: database csv bulkinsert arabic

当我导入CSV或文本文件并将其批量插入我的数据库时,该过程会成功地将所有记录添加到表中。

我的问题是插入的字符串是阿拉伯语,在我的数据库表中显示为符号。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用查询

插入

您需要为varchar / char列选择阿拉伯语排序规则或使用Unicode(nchar / nvarchar)。

CREATE TABLE MyTable
(
    MyArabicColumn VARCHAR(100) COLLATE Arabic_CI_AI_KS_WS,
    MyNVarCharColumn NVARCHAR(100)
)

两列都应该有用。

批量插入文件

This article解释了如何批量插入unicode字符。

测试表

USE AdventureWorks2012;
GO
CREATE TABLE myTestUniCharData (
   Col1 smallint,
   Col2 nvarchar(50),
   Col3 nvarchar(50)
   ); 

批量插入

DATAFILETYPE='widechar'允许在批量导入数据时使用Unicode字符格式。

USE AdventureWorks2012;
GO
BULK INSERT myTestUniCharData 
   FROM 'C:\myTestUniCharData-w.Dat' 
   WITH (
      DATAFILETYPE='widechar',
      FIELDTERMINATOR=','
   ); 
GO
SELECT Col1,Col2,Col3 FROM myTestUniCharData;
GO