【问题标题】:TableAdapter error only during high traffic仅在高流量期间出现 TableAdapter 错误
【发布时间】:2009-03-04 20:07:26
【问题描述】:

我正在处理其他人的大量使用 tableAdapters 的项目。该网站正常运行,但它经常在事件日志中添加一个条目:

"ExecuteReader 需要一个打开且 可用的连接。连接的 当前状态正在连接。 "

该站点不会抛出异常,但除非有高流量(每秒 5 次以上的请求),否则异常是相同的,指向这行代码:

this.Adapter.Fill(dataTable);

堆栈跟踪:在 System.Data.SqlClient.SqlConnection.GetOpenConnection(字符串 方法)在 System.Data.SqlClient.SqlConnection.ValidateConnectionForExecute(字符串 方法,SqlCommand 命令)

我怎样才能停止这个错误?谢谢。

原来我只得到了一半的图片,错误,当它会抛出一个错误是:

"已经有一个打开的DataReader 与此命令相关联 必须先关闭。”

【问题讨论】:

    标签: .net sql tableadapter web-traffic


    【解决方案1】:

    我会说您可能出于多种目的使用同一个连接,其中一个正在被另一个线程关闭。

    我建议添加一些跟踪来弄清楚发生了什么。这种错误很难调试,只有在生产环境中才会出现:(

    【讨论】:

      【解决方案2】:

      如果您似乎超出了与数据库的允许打开连接数。这可以通过提供 Min Pool Size 和 Max Pool Size 值在连接字符串中进行设置。我认为 Min Pool Size 的默认值为 0,Max Pool Size 的默认值为 100,但我不确定。

      尝试更改它们,看看是否有帮助。

      【讨论】:

        猜你喜欢
        • 2017-07-04
        • 2019-12-25
        • 2023-01-23
        • 2018-07-19
        • 1970-01-01
        • 1970-01-01
        • 2023-01-02
        • 2019-03-25
        • 1970-01-01
        相关资源
        最近更新 更多