通过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,不是吗?