针对阿拉伯数据的MVC批量上传

时间:2013-10-03 07:12:23

标签: asp.net-mvc asp.net-mvc-3

我使用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);

1 个答案:

答案 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"""

在这里找到: http://social.msdn.microsoft.com/Forums/windows/en-US/34efad11-bf82-4484-9904-107c3c39a302/reading-from-a-csv-or-a-txt-file-in-unicode-format