2014-09-29 74 views
-1

我不明白我在哪裏錯了。「Microsoft.ACE.OLEDB.12.0」提供程序未在本地機器錯誤消息中註冊

當我使用本地機器程序成功運行。 但是當我在服務器上上傳它會給喜歡的「Microsoft.ACE.OLEDB.12.0」供應商的錯誤未註冊在本地計算機上

  protected void btnImport_Click(object sender, EventArgs e) 
      { 
     // try{ 
      string connectionstring = ""; 
      string filename = Path.GetFileName(FileUpload1.PostedFile.FileName); 
     string fileextension = Path.GetExtension(FileUpload1.PostedFile.FileName); 
     string filelocation = Server.MapPath("~/file/") + filename; 
     FileUpload1.SaveAs(filelocation); 
     if (fileextension == ".xlsx") 
     { 
      connectionstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filelocation + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=2\""; 
      OleDbConnection conn = new OleDbConnection(connectionstring); 
      OleDbCommand cmd = new OleDbCommand(); 
      cmd.CommandType = System.Data.CommandType.Text; 
      cmd.CommandText = "select * from [Sheet1$]"; 
      cmd.Connection = conn; 
      OleDbDataAdapter oda = new OleDbDataAdapter(cmd); 
      System.Data.DataTable dt = new System.Data.DataTable(); 
      oda.Fill(dt); 
      grvExcelData.DataSource = dt; 
      Session["TaskTable"] = dt; 
      grvExcelData.DataBind(); 
     } 
     // }catch(Exception ex){Response.Write(ex.Message); } 
    } 

錯誤圖像 enter image description here

+0

似乎是一個非常確鑿的錯誤信息。建議您註冊它。 – 2014-09-29 09:56:25

+0

服務器上是否安裝了Microsoft.ACE.OLEDB.12.0驅動程序?如果不是,我認爲你需要安裝這個http://www.microsoft.com/en-za/download/details.aspx?id=13255 – 2014-09-29 09:57:05

+0

@ Ben Robinson: - 它是一個在線視域http://dmkgcollege.in/ whitecode/index.aspx請參閱此鏈接以及如何在服務器上安裝Microsoft.ACE.OLEDB.12.0。指導我 – Datta 2014-09-29 10:00:28

回答

0

安裝32bit服務器上的OLEDB 12.0驅動程序,你可以找到它here。或者,如果您想在基於(基於xml的)excel文件中使用而不在服務器上安裝內容,則可以使用類似優秀EPPlus的內容。

相關問題