已达到 c# SQL 最大池大小

本文关键字:SQL | 更新日期: 2023-09-27 17:56:16

>我有一个简单的while循环来检查数据库中的插入。如果它在循环中的时间太长,我的尝试捕获会收到"已达到最大池大小"错误。所以在循环的底部我有一个连接clearallpools();但这仍然不能解决它。

while (!quit)
{
connection to database strings timeout=400
read from database

connection.clearallpools();
}

已达到 c# SQL 最大池大小

可能你没有关闭你的连接...您可能想使用

while(!quit){
    //do something here
    using(var connection = GetMyConnection()){
        //do your db reads here
    }
    //do validations and something more here
}

这将确保您的连接得到正确处理/关闭。

此外,您无需清除池。

SQLConnection/DBConnection objects implements IDisposable.你可能想通过这些

  • 挖掘 IDisposable
  • C# 使用语句与 SQL 连接

您很可能会在循环中不断打开新连接

在循环上方打开连接是一个using语句,然后在循环中使用它。另请注意删除clearallpools

using(create new connection)
{
    while (!quit)
    {
    connection to database strings timeout=400
    read from database

    // connection.clearallpools(); REMOVE THIS!!!!
    }
}

正在耗尽连接池。每次读取后,您应该关闭连接,将其释放回池。

相关文章:
  • 没有找到相关文章