java.sql.SQLException: Io exception: Connection reset
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:254)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:987)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1061)
at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:849)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1133)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3338)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3383)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:353)
解决办法(连接池根据数据库进行配置):
数据库 | validationQuery |
---|---|
Oracle | select 1 from dual |
MySQL | select 1 |
Microsoft SQL Server | select 1 |
DB2 | select 1 from sysibm.sysdummy1 |
SQLite | select 1 |
HSQLDB | select 1 from INFORMATION_SCHEMA.SYSTEM_USERS |
postgresql | select version() |
ingres | select 1 |
Apache Derby | select 1 |
H2 | select 1 |
Informix | select count(*) from systables |
例:
1. Oracle数据库, C3P0连接池
<propertity name="validationQuery" value="select * from dual" />
2. c3p0的版本与项目环境的存在差异,不要随便升级c3p0的版本,诺升级相应底层的配置获取也需要调整;
