2012-08-22 57 views
0

可能重复阅读:
IErrorInfo.GetDescription failed with E_FAIL(0x80004005).System.Data while data adapter Fill()错误从Access数据库在SSIS脚本任务(C#)

下面是我必须连接到在C#中的Access数据库的代码。连接似乎打开很好(conn.Open()命令不会引发异常),但是当它到达cmd.ExecuteReader()时,会出现以下错误消息:

“IErrorInfo.GetDescription failed with E_FAIL(0x80004005的)。”

我已检查并进行了双重检查,以确保拼写在我正试图从中拉出的表上正确。

 System.Data.OleDb.OleDbConnection conn = new 
     System.Data.OleDb.OleDbConnection(); 
     conn.ConnectionString = @"Provider=Microsoft Office 12.0 Access Database Engine OLE DB Provider;" + 
           @"Data source= C:\Users\nearod\Desktop\ImportDB.accdb"; 
     try 
     { 
      conn.Open(); 
      OleDbCommand cmd = new OleDbCommand("SELECT * FROM SQL ID Test Load", conn); 

      OleDbDataReader reader = cmd.ExecuteReader(); 


      // Insert code to process data. 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show("Failed to connect to data source"); 
     } 
     finally 
     { 
      conn.Close(); 
     } 
+0

http://stackoverflow.com/questions/6455909/ierrorinfo-getdescription-failed-with-e-fail0x80004005-system-data -while-data – SeanC

+0

为什么使用SSIS标签?如果您使用的是SSIS,则可以使用该代码而不是编写C#代码 – msmucker0527

+0

这不是对链接问题的重复,该问题针对的是使用文件名作为select中的表的csv文件。这是一个访问数据库,其中包含文件中的命名表... – msmucker0527

回答

1

尝试改变

OleDbCommand cmd = new OleDbCommand("SELECT * FROM SQL ID Test Load", conn); 

OleDbCommand cmd = new OleDbCommand("SELECT * FROM [SQL ID Test Load]", conn);