>  기사  >  데이터 베이스  >  Oracle 连接Io exception : The Network Adapter could not

Oracle 连接Io exception : The Network Adapter could not

WBOY
WBOY원래의
2016-06-07 17:46:273551검색

今天碰到,Tomcat 连 Oracle 数据库时出现如下异常信息,org.apache.commons.dbcp.SQLNestedException:Cannot create PoolableConnectionFactory(Io exception : The Network Adapter could not establish the connection)

今天碰到,Tomcat 连 Oracle 数据库时出现如下异常信息, org.apache.commons.dbcp.SQLNestedException:Cannot create PoolableConnectionFactory (Io exception : The Network Adapter could not establish the connection)

具体错误

java.sql.SQLRecoverableException: Io 异常: The Network Adapter could not establish the connection
 at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:101)
 at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:229)
 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:458)
 at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:411)
 at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:490)
 at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:202)
 at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
 at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:474)
 at java.sql.DriverManager.getConnection(Unknown Source)
 at java.sql.DriverManager.getConnection(Unknown Source)
 at chap6.DBUtil.getConnection(DBUtil.java:14)
 at chap6.StatementDemo.main(StatementDemo.java:15)
java.sql.SQLException: 驱动错误或连接失败!
 at chap6.DBUtil.getConnection(DBUtil.java:20)
 at chap6.StatementDemo.main(StatementDemo.java:15)

解决办法一

后来在防火墙开了3个端口, 8080, 8009, 8005, 问题搞定


解决办法二

oracle的thin连接分为两种,一个是SID,一个是SERVICE NAME,而这两个的差别就在于服务器如何是配置SID,还是SERVICE NAME,配置完数据库后,可以在

 代码如下 复制代码

D:oracleproduct10.2.0db_1NETWORKADMIN

目录下查找,tnsnames.ora 文件,看看里面的参数

根据上面的数据配置确认是哪个方式

A,如果是SID模式,JDBC连接数据库的形式是

 代码如下 复制代码

String url = "jdbc:oracle:thin:@//192.168.10.105:1522:uportal";

请注意在连数据实例的时候,是使用 英文冒号  :

B,如果是SERVICE 模式,JDBC连接数据的形式是

 代码如下 复制代码

String url = "jdbc:oracle:thin:@//192.168.10.105:1522/uportal";

请注意在连数据实例的时候,是使用 英文斜杠  /

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.