连接oracle数据库显示The Network Adapter could not establish the connection

lzl__lzl 2016-05-18 03:00:12
我是在Eclipse中编写连接数据库的代码的,数据库连接地址是这样的:
String url="jdbc:oracle:thin:@localhost:1521:orcl";


大部分时间连接数据库是正常的,但是有时候在电脑有更新,或者感觉长时间不关电脑后,再次连接就有可能会出现如下错误:
java.sql.SQLRecoverableException: IO 错误: The Network Adapter could not establish the connection
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:458)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236)
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:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at edu.seu.database.drivers.DatabaseConnection.<init>(DatabaseConnection.java:35)
at edu.seu.database.drivers.DatabaseTableSelector.getDBGroupMember(DatabaseTableSelector.java:97)
at edu.seu.database.drivers.DatabaseTableSelector.getData(DatabaseTableSelector.java:42)
at edu.seu.lizhenglong.mylabperspective.MyLabPerspectiveTopComponent$MySwingWorker.doInBackground(MyLabPerspectiveTopComponent.java:239)
at edu.seu.lizhenglong.mylabperspective.MyLabPerspectiveTopComponent$MySwingWorker.doInBackground(MyLabPerspectiveTopComponent.java:231)
at javax.swing.SwingWorker$1.call(SwingWorker.java:296)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at javax.swing.SwingWorker.run(SwingWorker.java:335)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:392)
at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:434)
at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:687)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:247)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1102)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:320)
... 17 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:150)
at oracle.net.nt.ConnOption.connect(ConnOption.java:133)
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:370)
... 22 more

这时候,用其他软件或者oracle 数据库自带的SQL PLUS都能正常登陆数据库,但是用代码却怎么也连接不上。
若选择重启电脑,则又能正常连接上数据库了。
不知道出现这种情况是因为什么原因?
...全文
6478 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
la_77 2019-12-02
  • 打赏
  • 举报
回复
监听重启了吗
可惜没如果 2019-11-21
  • 打赏
  • 举报
回复
导入jar包了吗?
Rotel-刘志东 2016-05-22
  • 打赏
  • 举报
回复
首先ping是否能ping通,如果能ping通,然后再检查一下网络,后不行再检查系统防火墙
Rotel-刘志东 2016-05-22
  • 打赏
  • 举报
回复
检查网络、还有系统防火墙
卖水果的net 2016-05-19
  • 打赏
  • 举报
回复
你尝试一下,把网卡禁用了,再启用,看看能不能解决;

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧