System.Data.OleDb.OleDbException:超出系统资源

Posted

技术标签:

【中文标题】System.Data.OleDb.OleDbException:超出系统资源【英文标题】:System.Data.OleDb.OleDbException: System resource exceeded 【发布时间】:2017-08-31 14:47:58 【问题描述】:

我在尝试使用 OleDb 从 excel 文件中读取数据时遇到此问题。

这在我的测试服务器 (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);
        
    

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

【问题讨论】:

【参考方案1】:

希望这对其他人有帮助。

我浏览了有关此问题的大量资源并找到了许多解决方案 - 以编程方式和基于配置的答案,不幸的是,没有一个解决方案对我有用,最后,我决定使用 CSV 文件而不是 excel。 现在一切正常。

如果有人找到此问题的任何答案,请告诉我。

谢谢

【讨论】:

以上是关于System.Data.OleDb.OleDbException:超出系统资源的主要内容,如果未能解决你的问题,请参考以下文章