bug*_*gs_ 78 java connection-pooling apache-commons-dbcp
我使用DBCP池,我想使用testOnBorrow和testOnReturn来测试连接是否仍然有效.
不幸的是,我必须设置属性validationQuery以使其工作.
问题:validationQuery应该有什么价值?
我知道,那个:validationQuery必须是一个SQL SELECT语句,至少返回一行.
问题是我们使用各种数据库(DB2,Oracle,hsqldb).
bug*_*gs_ 191
所有数据库不仅有一个validationQuery.在每个数据库上,您必须使用不同的validationQuery.
经过几个小时的谷歌搜索和测试后,我收集了这张表:
数据库验证查询说明
select 1 from INFORMATION_SCHEMA.SYSTEM_USERSselect 1 from dualselect 1 from sysibm.sysdummy1select 1select 1(在SQL-Server 9.0上测试,10.5 [2008])select 1select 1values 1select 1select 1 from rdb$database我在我的博客上写了一篇关于各种数据库的验证查询.
事先有一个类的例子,它根据JDBC驱动程序返回validationQuery.
或者有人有更好的解决方案吗?
yos*_*sis 13
对于带有Connector/J驱动程序的MySQL,有一个轻量级验证查询,它只是向服务器发送一个ping并返回一个虚拟结果集.验证查询可以(或应该以)开头,完全是以下字符串:
/* ping */
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅MySQL驱动程序手册中的验证连接
| 归档时间: |
|
| 查看次数: |
57783 次 |
| 最近记录: |