背景:我正在将我的应用程序从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)类似的问题?
答案 0 :(得分:10)
我遇到了同样的问题。解决方案是关闭连接池。在从c#app
连接到数据库之前,请在连接字符串中执行此操作在你的连接字符串中:
Pooling=false;