2017-08-31 705 views
0

我在尝试从使用OleDb的Excel文件读取数据时遇到此问题。System.Data.OleDb.OleDbException:超出系统资源

这对我的测试服务器(Window Server 2008)正常工作,但不能在具有相同配置的UAT服务器中工作。

它曾经在UAT服务器上工作,但突然停止工作。

我试图从这些来源的解决方案,但是毫无效果:

Intermittent "System resource exceeded" exception for OleDB connection to Microsoft Access data file

OleDbException System Resources Exceeded

System resource exceeded

using (OleDbConnection conn = new OleDbConnection(connectionString)) 
{ 
    using (OleDbCommand cmd = new OleDbCommand()) 
    { 
     using (OleDbDataAdapter dataAdapter = new OleDbDataAdapter()) 
     { 
      cmd.Connection = conn; 
      //Fetch 1st Sheet Name 
      //conn.Open(); 

      DataTable dtSchema; 
      dtSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); 
      string ExcelSheetName = dtSchema.Rows[0]["TABLE_NAME"].ToString(); 

      //conn.Close(); 

      ////Read all data of fetched Sheet to a Data Table 
      //conn.Open(); 
      cmd.CommandText = "SELECT * From [" + ExcelSheetName + "] Where (F3 = 'Reconstructive' OR F3 = 'Neurovascular' OR F3 = 'Orthobiologics') AND F2 = '"+ SterileProduct.CatalogNumber +"'"; 
      dataAdapter.SelectCommand = cmd; 
      dataAdapter.Fill(dt); 
     } 
    } 
} 

任何帮助,将不胜感激。 谢谢

回答

0

希望这会对其他人有所帮助。

我经历了许多关于这个问题的资源,并发现了许多解决方案 - 基于程序和基于配置的答案,不幸的是,没有任何解决方案为我工作,最后,我决定使用CSV文件,而不是Excel。 现在一切正常。

让我知道是否有人发现这个问题的任何答案。

谢谢