小编use*_*230的帖子

与Oracle DB连接时,网络适配器无法建立连接

尝试通过JDBC连接远程Oracle数据库时,我收到以下异常:

java.sql.SQLRecoverableException: IO-fout: The Network Adapter could not establish the connection
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:419)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:536)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:228)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
at java.sql.DriverManager.getConnection(DriverManager.java:322)
at java.sql.DriverManager.getConnection(DriverManager.java:358)
Run Code Online (Sandbox Code Playgroud)

以下是我的设置:

Database: Oracle 10g Release 2 Standard Edition

JDBC library: ojdbc6.jar
JDBC driver: oracle.jdbc.driver.OracleDriver
JDBC URL: jdbc:oracle:thin:@9.2.2.2:1521:ORCL where ORCL is database's SID
JDBC User/pwd: Correct username / password
Run Code Online (Sandbox Code Playgroud)

关于这个问题的奇怪之处在于,当我在工作时,连接工作正常.当我尝试通过AT&T VPN连接从家里连接时,它不起作用.

我已经确认我可以到达IP地址,并且还在端口1521上telnet了ip,这很好用.从本地WebLogic Application Server连接到数据源也可以正常工作.此外,当尝试通过sqldeveloper连接到数据库时,我也可以访问数据库.

但我需要从独立的应用程序(出于测试目的)访问数据库.有谁知道为什么会出现这个问题?是否有替代方案可以连接到远程Oracle数据库,sqldeveloper和weblogic可能使用的替代方案?

以下是尝试连接数据库的代码的摘录:

public static void main(String args[]) throws ClassNotFoundException, SQLException {
    Class.forName("oracle.jdbc.driver.OracleDriver");
    Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@9.2.2.2:1521:ORCL", "user", "pwd");
}
Run Code Online (Sandbox Code Playgroud)

java oracle exception jdbc

18
推荐指数
2
解决办法
16万
查看次数

标签 统计

exception ×1

java ×1

jdbc ×1

oracle ×1