相关疑难解决方法(0)

SQL批量复制"使用ASP.NET无法将数据源中String类型的给定值转换为指定目标列的类型日期时间"

我正在研究ASP.NET MVC4项目,我正在尝试使用SQL批量复制将数据从xlsx文件(Excel 2010文件)导出到我的数据库.我的Excel文件只包含2列:第一列包含数字(从1到25),第二列包含字符(连续系列"a,b,c")

这是我尝试导出数据的方法,但是我收到错误"数据源中String类型的给定值无法转换为指定目标列的int类型" :

public ActionResult Bulk()
{    
    string xConnStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\maarab\Documents\BulkCopy.xlsx;Extended Properties=Excel 12.0;";
    using (OleDbConnection connection = new OleDbConnection(xConnStr))
    {
        OleDbCommand command = new OleDbCommand("Select * FROM [Sheet1$]", connection);
        connection.Open();    
        string dbConnection = ((EntityConnection)db.Connection).StoreConnection.ConnectionString;

        // Create DbDataReader to Data Worksheet
        using (DbDataReader dr = command.ExecuteReader())
        {
            using (var bulkCopy = new SqlBulkCopy(dbConnection))
            {    
                bulkCopy.DestinationTableName = "bm_test" 
                bulkCopy.WriteToServer(dr); //here I got the error    
            }
        }

        return RedirectToAction("Index");
}
Run Code Online (Sandbox Code Playgroud)

是什么导致这个错误?

c# asp.net excel sqlbulkcopy

5
推荐指数
2
解决办法
2万
查看次数

标签 统计

asp.net ×1

c# ×1

excel ×1

sqlbulkcopy ×1