Npgsql:从池中获取连接时超时

时间:2012-04-05 12:33:55

标签: connection connection-pooling npgsql postgresql-9.1

背景:我正在将我的应用程序从mssql移动到npgsql v2.0.11.92。 运行我的应用程序几分钟或几小时后,我得到一个 System.Exception:从池中获取连接时超时

我在x64平台的x86环境中使用lib版本2.0.11.92。最迟关闭所有连接并将其置于finally块中,但过了一段时间后,我收到错误。所以,它应该是Npgsql库的一个问题。

在我的应用程序中,每隔几秒就会在后台发生很多查询,但大多数时候,它们只是按顺序运行,而不是在并行运行。

我用过的连接字符串是: SERVER = mydbserver; MINPOOLSIZE = 3; MaxPoolSize = 15; ConnectionLifeTime = 7; DATABASE =测试数据库; UID =用户; PWD =传递

我正在尝试诊断npgsql中泄漏的postgres连接。

仅供参考: Npgsql库已经出现了泄漏问题,已在最新版本2.0.11.92中修复。但我认为仍有一些问题。

是否有人遇到过与当前库版本(npgsql v2.0.11.92)类似的问题?

1 个答案:

答案 0 :(得分:10)

我遇到了同样的问题。解决方案是关闭连接池。在从c#app

连接到数据库之前,请在连接字符串中执行此操作

在你的连接字符串中:

Pooling=false;