sybase中的连接池

时间:2013-04-30 16:26:34

标签: ado.net sybase sybase-ase

如果进程/连接关闭后如何从dotnet(C#)清除连接池? 我正在使用sybase aseconnection,即使从ado.net关闭连接后,我也可以在池中看到一些打开的连接。有没有办法从dotnet代码中清除它们。任何人都可以帮助我。

我正在使用sybase版本(" Adaptive Server Enterprise / 15.5 / EBF 19397 SMP ESD#5 / P / ia64 / HP-UX B.11.23 / asear155 / 2568/64-bit / FBO / Fri&#34 )。

1 个答案:

答案 0 :(得分:9)

根据Sybase页面上的API文档,您可以通过在连接字符串中设置Connection Lifetime属性来控制池中连接的生命周期。它默认为0,这意味着无限期。

来自AseConnection docs

  

连接生命周期

     

连接可以保持打开的时间(以秒为单位)。当一个客户   关闭已达到或超过定义的连接   连接生命周期,在驱动程序关闭连接之前   将其返回到连接池。空闲连接已关闭   一旦到达定义的连接池,就从连接池中删除   连接生命周期。

     

Connection Lifetime的默认值为0,表示该值   连接可以无限期地保持打开状态。

第二个有趣的属性是:

  

连接空闲超时

     

在驱动程序关闭连接之前,连接在连接池中保持空闲的时间(以秒为单位)。值为0允许连接在无限期的时间内保持空闲状态。

您应该能够使用此连接字符串设置它们(1分钟生命周期和空闲超时):

"Server=srv;Port=5000;uid=u;pwd=p;Connection Lifetime=60;Connection Idle Timeout=60;"