通过SqlBulkCopy导入Excel文件时获取不同的错误

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

但每次我都会得到不同的错误

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

要么

找不到可安装的ISAM。

要么

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

检查我的代码在下面…

 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可编译此代码。

我怎么做,解决我的错误?

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

喜欢

 C:\\file.xls 

作为考验。

并检查版本是否正确。 8.0是相当古老我认为这就像办公室2000,不是吗?