日期:2014-05-18  浏览次数:21071 次

如何关闭连接池(快过年了,顶有分)
一个三层系统,remoting服务作为一个数据库访问层。
客户端通过remoting访问数据库,使用ADO连接池!

现在遇到了一个问题,有的时候客户端总是无法连接到oralce,报错:Ora-03114,但实际上通过toad,以及其他工具是可以连接的(证明数据库是没有问题的)

找了一些资料,怀疑是:
连接池中存放了一些无效的连接,后来程序又取用了这些无效的连接就会出错。 
于是:我想到了解决方法是关闭连接池;

这样做:在客户端再遇到这中连接不上时,我就关闭这个连接池,然后再去创建一个连接池。

问题一:这种做法对不对?
问题二:如何通过连接字符串关闭该连接池?
(Data Source=RESCS;User ID=suining;Password=suining;Pooling =true;Min Pool Size=20;Max Pool Size = 80)

求各位指点指点...
 



------解决方案--------------------
接分
------解决方案--------------------
关注
------解决方案--------------------
如果是连接oracle数据库,不需要在连接串中指定连接池,连接时,会自动指定连接池,让系统去给你做这件事情

如果要关闭连接池,只要你连接串中修改就行:Pooling=false;

http://msdn.microsoft.com/zh-cn/library/ms254502.aspx
------解决方案--------------------

------解决方案--------------------
期待高手,顶.
------解决方案--------------------
应该和连接池没有什么关系
因为平时连接ORACLE从来都不考虑这个问题
------解决方案--------------------
接个分可以吗...
------解决方案--------------------
mark
------解决方案--------------------
mark ....
------解决方案--------------------
接分
------解决方案--------------------
帮顶.
------解决方案--------------------
检查下代码是否有漏洞?
------解决方案--------------------
不会 帮顶
------解决方案--------------------
先学习!!!
------解决方案--------------------
帮你顶上去
------解决方案--------------------
学习,顶

------解决方案--------------------
参考
------解决方案--------------------
顶顶顶,并学习
------解决方案--------------------
看看程序中是否存在疏漏,DB连接在用完之后应该及时关掉。
------解决方案--------------------
顶一下
------解决方案--------------------
有可能是使用过的连接没有关掉......
------解决方案--------------------
探讨
引用:
如果是连接oracle数据库,不需要在连接串中指定连接池,连接时,会自动指定连接池,让系统去给你做这件事情 

如果要关闭连接池,只要你连接串中修改就行:Pooling=false; 

http://msdn.microsoft.com/zh-cn/library/ms254502.aspx 
 

我确实也是这么做的: 
(Data Source=RESCS;User ID=suining;Password=suining;Pooling =false;Min Pool Size=20;Max Pool Size = 80) 
但是,后面我再使用这个字符串时,还是爆oralce错误! 
(Data Source=RESCS;User ID=suining;Password=suining;Pooling =true;Min Pool Size=20;Max Pool Size = 80) 

------解决方案--------------------
探讨
引用:
看看程序中是否存在疏漏,DB连接在用完之后应该及时关掉。




都是关闭了的,诸如:
using (OracleConnection conn = new OracleConnection(connectionString))这种的写法!