我使用sqlbulkupload上传excel文件
该文件包含阿拉伯数据,因此它被插入数据库中,如'??????'
我该如何解决这个问题?这是我的代码
OleDbConnection excelConnection = new OleDbConnection(excelConnectionString);
//Create OleDbCommand to fetch data from Excel
OleDbCommand cmd = new OleDbCommand("Select * from [Sheet1$]", excelConnection);
excelConnection.Open();
OleDbDataReader dReader;
dReader = cmd.ExecuteReader();
SqlBulkCopy sqlBulk = new SqlBulkCopy(sqlConnectionString);
sqlBulk.DestinationTableName = "StudentInfo";
sqlBulk.WriteToServer(dReader);
答案 0 :(得分:0)
最明显的答案是将数据库列转换为nvarchar类型。如果它们是varchar,它们将无法在ascii范围之外保存unicode字符。
如果数据库中已经是nvarchar,请尝试更改连接字符串。此示例来自vb6应用程序,但可能会有所帮助:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & ";Extended Properties=""Text;HDR=YES;CharacterSet=Unicode"""