Home  >  Article  >  Database  >  Oracle 连接Io exception : The Network Adapter could not

Oracle 连接Io exception : The Network Adapter could not

WBOY
WBOYOriginal
2016-06-07 17:46:273550browse

今天碰到,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";

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn