2010-11-26 111 views
3

我试图从我的Java应用程序连接到Oracle数据库。我正在使用oracle.jdbc.driver.OracleDriver版本:0/1连接到数据库。但DriverManager.getConnection()给我“网络适配器无法建立连接”。这不是发生在加时。它有时只发生,可能会在8-10次。堆栈跟踪我得到的是:IOException:网络适配器无法建立连接

Driver Class : oracle.jdbc.driver.OracleDriver, version 0/1 
java.sql.SQLException: Io exception: The Network Adapter could not establish the connection 
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) 
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179) 
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334) 
at oracle.jdbc.ttc7.TTC7Protocol.handleIOException(TTC7Protocol.java:3678) 
at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:352) 
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:365) 
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:547) 
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:347) 
at java.sql.DriverManager.getConnection(DriverManager.java:316) 
at java.sql.DriverManager.getConnection(DriverManager.java:297) 

因为我没有得到这个每次,我不能猜测有任何连接问题。我可以看到很多开发者都有同样的问题,但对他们来说每次都会发生。请帮助我,因为我坚持解决这个问题。

+0

看来你的网络是一直下降的连接。 – 2010-11-26 06:34:45

+0

你有没有想过这个?我遇到了与Cisco UCCX相同的事情。它从一天随机开始,没有对应用程序进行任何更改。 – AsherMaximum 2012-04-06 08:22:44

+0

@AsherMaximum,我没有得到解决。我偶尔会遇到这个错误,因此我做了多次连接尝试,到目前为止它的工作没有问题。 – Anoop 2012-04-09 12:31:57

回答

-1

我会仔细看看,也许设置一个断点在

at oracle.jdbc.ttc7.TTC7Protocol.handleIOException(TTC7Protocol.java:3678) 

看到处理的精确IOException异常。这会告诉你潜在的原因,这可以帮助诊断问题。

+0

Thnks man,但是我在Lotus Domino服务器上运行这个程序,并且我不能在那里插入中断点:( – Anoop 2010-11-26 09:04:03

2

这可能是网络问题:

  • 有没有传给你的麻烦了防火墙?尝试telnet到端口。防火墙是否有状态?

  • 是DNS太慢(使用IP地址而不是主机名,DNS尝试查找)

  • 你关闭连接?你是否在重载Listener?

2

我有一个类似的问题,我尝试使用IP地址,而不是数据库URL中的主机名,它对我有效。

例JDBC:

...(DESCRIPTION=(ADDRESS.....(HOST=1.1.1.1)..) 
相关问题