【问题标题】:my site show error我的网站显示错误
【发布时间】:2010-08-03 11:07:49
【问题描述】:

我的网站显示此错误

您也可以在线查看它只访问 4 到 5 页然后http://www.pakcarid.com/

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

来源错误:

Line 267:            OleDbDataAdapter dtt = new OleDbDataAdapter(tot);
Line 268:            DataSet dstt = new DataSet();
Line 269:            dtt.Fill(dstt);
Line 270:
Line 271:            this.totalview.Text = dstt.Tables[0

谁能告诉我如何解决它

【问题讨论】:

  • 更多上下文,例如您使用的语言/平台等。或者我们应该猜测?

标签: c# ado.net connection-pooling


【解决方案1】:

您要关闭 DataAdapter 吗?您需要显式调用 dtt.Close() 或使用 using 块(它们是 IDisposable):

DataSet dstt = new DataSet();
using(OleDbDataAdapter dtt = new OleDbDataAdapter(tot))
{
    dtt.Fill(dstt);
    dtt.Close();
}

等等。 Close() 在这里是多余的,因为using 块将调用dtt.Dispose(),但我更愿意保留它。

大多数 ADO.NET 对象都是 IDisposable;而我怀疑其中一些是否重要,无论您是否关闭和处置它们(例如命令),我希望 DataAdapters、连接等。

【讨论】:

  • 好的,抱歉没有帮助。如果您还没有看到,这里是关于连接池的 MSDN 文章:假设您对所有连接使用相同的连接字符串,它应该自动池化,但建议您在完成连接后立即关闭连接。 msdn.microsoft.com/en-us/library/ms254502.aspx。如果可以的话,可能值得尝试调试 OleDb 库以查看它用尽了哪些资源 - 我不确定源是否在 Microsoft 符号服务器上。
猜你喜欢
  • 2016-11-11
  • 2015-12-13
  • 2014-01-21
  • 1970-01-01
  • 1970-01-01
  • 2017-06-07
  • 2015-12-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多