java.sql.SQLException: Io 异常: The Network Adapter could not establish the conn
ection
        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.T4CConnection.logon(T4CConnection.java:386)
        at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:
413)
        at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:164)
        at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtensio
n.java:34)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:752)
        at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManag
erDataSource.java:68)
        at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnecti
on(WrapperConnectionPoolDataSource.java:87)
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1.acquireResource(C
3P0PooledConnectionPool.java:83)
        at com.mchange.v2.resourcepool.BasicResourcePool.assimilateResource(Basi
cResourcePool.java:884)
        at com.mchange.v2.resourcepool.BasicResourcePool.acquireUntil(BasicResou
rcePool.java:601)
        at com.mchange.v2.resourcepool.BasicResourcePool.access$400(BasicResourc
ePool.java:31)
        at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicRe
sourcePool.java:1079)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(Thre
adPoolAsynchronousRunner.java:354)
一台服务器上部署了两个项目,每个项目都用的c3p0连接池,而调用存储过程则使用的connection配置文件新建连接。    有时候出现c3p0可以使用,但是存储过程不能调用。 报错信息也是 java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection。   今天出现上面这个错误,是连接池不能用。  没有重新,现在又可以用了。  
SSH2c3p0

解决方案 »

  1.   

    你的url用的是localhost还是127.0.0.1
      

  2.   


    我用的是 局域网地址,192.168.0.253,服务器地址是252,数据库地址是253.  我数据源里面配置的是253,tnsnames.ora中配置的也是253. 首先,应该不是网络配置的问题吧。它不是启动时就出现问题,而是运行一段时间后出现的。 本来我以为连接池可用,普通存储过程用新建连接的方式构建参数出现问题的原因是找不到可用连接了,但是一查发现总共的数据库会话才七十多个,也没超过总数150啊,奇怪了。   
      

  3.   

    网上好多说法都是 tnsnames.ora配置以及数据源url的ip、主机名设置的不对。  这个问题应该连启动都启动不起来,而我项目的问题是启动可以,刚开始一切正常;运行一段时间后就出现这个问题;连接池可以用,但不能通过新建连接给存储过程构建参数。 这个是之前用的hibernate时出现的,昨天我把连接池换成了c3p0;结果早上来公司后出现这个问题。  
      

  4.   

    你先看能不能ping通,然后 用客户端连接数据库 是否有问题,,没有那就是项目配置的问题了
      

  5.   

    ping 可能ping通,这个错误每次我去服务器上看的时候,就又好了。   不知道是不是服务器网络不稳定造成的。