C#和#x2B;Mysql没有连接了。我正在使用';使用';并立即关闭所有连接

C#和#x2B;Mysql没有连接了。我正在使用';使用';并立即关闭所有连接,c#,mysql,connection-pooling,C#,Mysql,Connection Pooling,在我现在制作的应用程序中,我遇到以下错误: 连接错误:超时已过期。 在此之前已过超时时间 正在从池中获取连接。 这可能是因为 池连接正在使用中,最大 已达到池大小 显然,我正在接触连接池中的最大计数。我尽职尽责地对所有连接对象使用“using”,并在使用完函数后立即释放它们 这是在C#上,我正在使用MySql数据Dll MySql的dotnet连接器是否有问题?有解决办法吗?首先要检查几件事: 您是否已验证应用程序正在尝试同时使用的连接数没有超过连接池允许的数量? 如果您在使用连接时所做的操作

在我现在制作的应用程序中,我遇到以下错误:

连接错误:超时已过期。 在此之前已过超时时间 正在从池中获取连接。 这可能是因为 池连接正在使用中,最大 已达到池大小

显然,我正在接触连接池中的最大计数。我尽职尽责地对所有连接对象使用“using”,并在使用完函数后立即释放它们

这是在C#上,我正在使用MySql数据Dll


MySql的dotnet连接器是否有问题?有解决办法吗?

首先要检查几件事:

  • 您是否已验证应用程序正在尝试同时使用的连接数没有超过连接池允许的数量? 如果您在使用连接时所做的操作寿命很长(无论如何都要避免),则很容易发生这种情况

  • 您是否正在传递数据读取器,而不是在处理完数据读取器后正确地处理它。那可能是保持连接

作为权宜之计,您可以尝试在连接字符串中设置“pooling=false”,尽管这会降低性能


有关使用连接池的更多信息,请参阅要首先检查的一些事项:

  • 您是否已验证应用程序正在尝试同时使用的连接数没有超过连接池允许的数量? 如果您在使用连接时所做的操作寿命很长(无论如何都要避免),则很容易发生这种情况

  • 您是否正在传递数据读取器,而不是在处理完数据读取器后正确地处理它。那可能是保持连接

作为权宜之计,您可以尝试在连接字符串中设置“pooling=false”,尽管这会降低性能


有关使用连接池的更多信息,请参见

否我不是在传递数据读取器,而是在使用“using”来处理它。我正在传递一个命令对象。没有长操作,但有许多短操作,我每次都会处理对象。很难想象这会导致连接池溢出。您能将有问题的行为隔离到简单的代码示例中并发布到这里吗?您正在运行哪个版本的.net连接器?我不认为这是由于任何特定的代码,但可能是由于我使用DLL的总体方式。我还没有在一个早期的应用程序中遇到过这个问题,这个应用程序的db密集度并没有降低,并且基于相同的结构。MySQL dll的版本是5.0.9.0,只需重新阅读您之前的评论-您正在传递命令对象-mySqlCommand对象具有连接属性。有可能是你通过命令对象泄漏的吗?有可能是弗雷德里克。我已经发布了一个相关的问题。不,我不是在传递数据阅读器,我确实在使用“使用”来处理它。我正在传递一个命令对象。没有长操作,但有许多短操作,我每次都会处理对象。很难想象这会导致连接池溢出。您能将有问题的行为隔离到简单的代码示例中并发布到这里吗?您正在运行哪个版本的.net连接器?我不认为这是由于任何特定的代码,但可能是由于我使用DLL的总体方式。我还没有在一个早期的应用程序中遇到过这个问题,这个应用程序的db密集度并没有降低,并且基于相同的结构。MySQL dll的版本是5.0.9.0,只需重新阅读您之前的评论-您正在传递命令对象-mySqlCommand对象具有连接属性。有可能是你通过命令对象泄漏的吗?有可能是弗雷德里克。我发布了一个相关的问题。你有没有得到过答案?没有,但我可以通过关闭连接池来解决这个问题,而且效果非常好。我知道这是一个黑客行为。你有没有找到答案?没有,但我可以通过关闭连接池来解决这个问题,而且效果非常好。我知道,这是一次黑客攻击。