2012-09-20 26 views
2

我導入Excel使用SqlBulkCopy讓不同的錯誤,同時導入Excel文件通過使用SqlBulkCopy

但每次我得到歧這樣的錯誤

時間無法更新文件導入到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); 

此外,我需要這個compitable代碼,任何版本的Excel。

我該怎麼做,解決我的錯誤?

回答

0

我有類似的問題。檢查文件路徑是正確的

不喜歡

C:\\file.xls 

進行測試。

並檢查版本是否正確。 8.0是相當古老我認爲這就像辦公室2000,不是嗎?