Database 批量插入导入文本文件

Database 批量插入导入文本文件,database,csv,bulkinsert,arabic,Database,Csv,Bulkinsert,Arabic,当我导入CSV或文本文件并将其大容量插入数据库时,该过程会成功地将所有记录添加到表中 我的问题是插入的字符串是阿拉伯语,在我的数据库表中显示为符号。如何解决此问题?使用查询插入 您需要为varchar/char列选择阿拉伯语排序规则,或者使用Unicode(nchar/nvarchar) 这两列都应该工作 从文件批量插入 说明如何大容量插入unicode字符 试验台 批量插入 DATAFILETYPE='widechar'允许在批量导入数据时使用Unicode字符格式 USE Adventure

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


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

使用查询插入

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

这两列都应该工作

从文件批量插入

说明如何大容量插入unicode字符

试验台

批量插入

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

您使用的是哪个数据库?我使用Sql DB,请注意,当我插入cmd nonquery时,它会正确地存储在DB中,但当我使用bulk insert时,会出现此问题。我添加了一些更多信息,如果仍不起作用,请准确指定当前正在执行的操作。
//从txt文件中读取数据并将其插入DB//textBox1.Text中的选项卡的查询。Text是包含.txt文件的路径和名称//comboBox1是包含所有选项卡im DB cmd=new SqlCommand(@“大容量插入”+comboBox1.SelectedValue+“from”+textBox1.Text+@“'WITH(DATAFILETYPE='widechar',KEEPIDENTITY,Keepnulls,FIRSTROW=2,fieldterminator=“++”,\t',rowtterminator=“++”\n')”,cn);cmd.ExecuteNonQuery();
您能用正确的格式将其添加到您的问题中吗?”?
USE AdventureWorks2012;
GO
CREATE TABLE myTestUniCharData (
   Col1 smallint,
   Col2 nvarchar(50),
   Col3 nvarchar(50)
   ); 
USE AdventureWorks2012;
GO
BULK INSERT myTestUniCharData 
   FROM 'C:\myTestUniCharData-w.Dat' 
   WITH (
      DATAFILETYPE='widechar',
      FIELDTERMINATOR=','
   ); 
GO
SELECT Col1,Col2,Col3 FROM myTestUniCharData;
GO