接收了一个其他项目。这个项目用的oracle11g,我之前项目用的mysql。在启动项目时,数据库的初始化链接出现错误,如下:
2021-09-18 11:16:13.724 INFO 15976 --- [main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource
java.sql.SQLRecoverableException: IO 错误: The Network Adapter could not establish the connection
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:673) ~[ojdbc7-12.2.0.1.jar:12.1.0.1.0]
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:715) ~[ojdbc7-12.2.0.1.jar:12.1.0.1.0]
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:385) ~[ojdbc7-12.2.0.1.jar:12.1.0.1.0]
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:30) ~[ojdbc7-12.2.0.1.jar:12.1.0.1.0]
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:564) ~[ojdbc7-12.2.0.1.jar:12.1.0.1.0]
at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:156) ~[druid-1.2.5.jar:1.2.5]
at com.alibaba.druid.filter.FilterAdapter.connection_connect(FilterAdapter.java:787) ~[druid-1.2.5.jar:1.2.5]
at com.alibaba.druid.filter.FilterEventAdapter.connection_connect(FilterEventAdapter.java:38) ~[druid-1.2.5.jar:1.2.5]
。。。
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:445) ~[ojdbc7-12.2.0.1.jar:12.1.0.1.0]
at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:464) ~[ojdbc7-12.2.0.1.jar:12.1.0.1.0]
at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:594) ~[ojdbc7-12.2.0.1.jar:12.1.0.1.0]
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:229) ~[ojdbc7-12.2.0.1.jar:12.1.0.1.0]
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1360) ~[ojdbc7-12.2.0.1.jar:12.1.0.1.0]
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:486) ~[ojdbc7-12.2.0.1.jar:12.1.0.1.0]
... 51 common frames omitted
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.TwoStacksPlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_181]
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_181]
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_181]
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_181]
这个项目在其他同事电脑上正常开发运行,所以考虑是自己电脑环境问题。我能正常ping 通oracle库,也能telnet到其端口,用navicat使用用户名/密码也能正常链接到。但是就是项目链接不上。排查一个上午。。。淡疼的发现了这么个情况,如下:
我使用的是公司的无线网,而且有两个虚拟适配器【2、3】在启用状态。我试着将2、3禁用,然后重启项目,发现项目正常启动。