当我导入CSV或文本文件并将其批量插入到我的数据库时,该过程成功将所有记录添加到表中。BULK INSERT导入文本文件
我的问题是插入的字符串是阿拉伯语,在我的数据库表中显示为符号。我怎么解决这个问题?
当我导入CSV或文本文件并将其批量插入到我的数据库时,该过程成功将所有记录添加到表中。BULK INSERT导入文本文件
我的问题是插入的字符串是阿拉伯语,在我的数据库表中显示为符号。我怎么解决这个问题?
插入使用查询
你需要选择一个阿拉伯语的排序规则的VARCHAR/CHAR列或使用Unicode(NCHAR/NVARCHAR)。
CREATE TABLE MyTable
(
MyArabicColumn VARCHAR(100) COLLATE Arabic_CI_AI_KS_WS,
MyNVarCharColumn NVARCHAR(100)
)
这两列应该工作。从文件
批量插入解释插入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
//query to read data from txt file and insert it in the tabel in DB //textBox1.Text is contain the path and name of .txt file //comboBox1 is contain all tabels im DB cmd = new SqlCommand(@"BULK INSERT " + comboBox1.SelectedValue + " FROM '" + textBox1.Text + @"' WITH (DATAFILETYPE='widechar',KEEPIDENTITY,Keepnulls,FIRSTROW = 2, fieldterminator = "[email protected]"',\t', rowterminator =" + @" '\n')", cn); cmd.ExecuteNonQuery();
–
2015-04-17 04:28:41
你能否用适当的格式将此添加到你的问题? – Nicholas 2015-04-21 05:14:01
您使用的数据库是? – Nicholas 2015-04-01 03:45:15
我使用Sql DB,请注意,当我插入cmd nonquery它正确存储在数据库中,但是当我使用批量插入时出现此问题。 – 2015-04-01 12:07:46
我已经添加了一些更多的信息,如果它仍然无法正常工作,请详细说明您目前的工作。 – Nicholas 2015-04-01 21:44:39