Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过SqlBulkCopy导入Excel文件时出现不同错误_C#_Sql_Excel - Fatal编程技术网

C# 通过SqlBulkCopy导入Excel文件时出现不同错误

C# 通过SqlBulkCopy导入Excel文件时出现不同错误,c#,sql,excel,C#,Sql,Excel,我正在使用SqlBulkCopy将Excel文件导入SQL Server 但每次我都会犯不同的错误,比如 无法更新。数据库或对象是只读的 或 找不到可安装的ISAM 或 Microsoft Jet数据库引擎找不到该对象。确保对象存在,并且正确拼写其名称和路径名 请检查下面的代码 String strConnection = ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString; string excelCo

我正在使用SqlBulkCopy将Excel文件导入SQL Server

但每次我都会犯不同的错误,比如

无法更新。数据库或对象是只读的

找不到可安装的ISAM

Microsoft Jet数据库引擎找不到该对象。确保对象存在,并且正确拼写其名称和路径名

请检查下面的代码

String strConnection = ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString;
string excelConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+filepath+";Extended Properties=Excel 8.0;HDR=YES;";

//Create Connection to Excel work book
OleDbConnection excelConnection = new OleDbConnection(excelConnectionString);

//Create OleDbCommand to fetch data from Excel
OleDbCommand cmd = new OleDbCommand
("Select * from [Sheet1$]",
excelConnection);
MessageBox.Show("ss");
excelConnection.Open();
MessageBox.Show("ss2");
OleDbDataReader dReader;
dReader = cmd.ExecuteReader();
MessageBox.Show("ss1");
SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnection);
sqlBulk.DestinationTableName = "RecExcelTable";
//sqlBulk.ColumnMappings.Add("ID", "ID");
//sqlBulk.ColumnMappings.Add("Name", "Name");
sqlBulk.WriteToServer(dReader);
我还需要为任何版本的Excel编译此代码


我如何才能做到这一点并解决我的错误?

我也有类似的问题。检查文件路径是否正确

喜欢

C:\\file.xls
作为测试


并检查版本是否正确。8.0已经很老了,我想这就像office 2000一样,不是吗?

我也有类似的问题。检查文件路径是否正确

喜欢

C:\\file.xls
作为测试

并检查版本是否正确。8.0已经很老了,我想这就像office 2000,不是吗