与数据库无关的 SQL 连接测试查询
数据库连接池库通常包含用于测试 SQL 连接空闲状态的功能。但是,许多推荐的测试查询(例如“SELECT 1;”)特定于某些数据库,并且可能会因其他数据库而失败。
是否存在真正与数据库无关的测试查询?
不幸的是,没有一个查询可以跨所有 SQL 数据库工作。
特定于数据库查询
如果您需要全面的方法,请考虑使用针对不同数据库提供商定制的多个查询:
-
MySQL、H2、PostgreSQL、SQLite、Hive: 选择 1
-
Oracle: 从以下位置选择 1 DUAL
-
HSQLDB:从任何_现有_表中选择 1,其中 1=0
从 INFORMATION_SCHEMA.SYSTEM_USERS 选择 1
立即调用()
-
Apache Derby : 价值观1 或 SELECT 1 FROM SYSIBM.SYSDUMMY1
-
DB2: SELECT 1 FROM SYSIBM.SYSDUMMY1
-
Informix: select count(*) from systables
注意:
- 如果在 HSQLDB 中使用 WHERE 1=0,请确保它返回 Apache Commons DBCP 的验证查询的行。
- 考虑使用编程技术根据数据库提供者确定并执行适当的查询配置。
以上是是否存在真正与数据库无关的 SQL 连接测试查询?的详细内容。更多信息请关注PHP中文网其他相关文章!