栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

ojdbc连接oracle报错:IO 错误: The Network Adapter could not establish the connection

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ojdbc连接oracle报错:IO 错误: The Network Adapter could not establish the connection

ojdbc连接oracle报错:IO 错误: The Network Adapter could not establish the connection 1、报错日志内容
java.sql.SQLRecoverableException: IO 错误: The Network Adapter could not establish the connection
	at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:458) ~[ojdbc6-11.2.0.3-11.2.0.3.jar:11.2.0.3.0]
	at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:546) ~[ojdbc6-11.2.0.3-11.2.0.3.jar:11.2.0.3.0]
	at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:236) ~[ojdbc6-11.2.0.3-11.2.0.3.jar:11.2.0.3.0]
	at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) ~[ojdbc6-11.2.0.3-11.2.0.3.jar:11.2.0.3.0]
	at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521) ~[ojdbc6-11.2.0.3-11.2.0.3.jar:11.2.0.3.0]
	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1643) ~[druid-1.2.11.jar:1.2.11]
	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1709) ~[druid-1.2.11.jar:1.2.11]
	at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2813) ~[druid-1.2.11.jar:1.2.11]
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection
	at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:392) ~[ojdbc6-11.2.0.3-11.2.0.3.jar:11.2.0.3.0]
	at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:434) ~[ojdbc6-11.2.0.3-11.2.0.3.jar:11.2.0.3.0]
	at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:687) ~[ojdbc6-11.2.0.3-11.2.0.3.jar:11.2.0.3.0]
	at oracle.net.ns.NSProtocol.connect(NSProtocol.java:247) ~[ojdbc6-11.2.0.3-11.2.0.3.jar:11.2.0.3.0]
	at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1102) ~[ojdbc6-11.2.0.3-11.2.0.3.jar:11.2.0.3.0]
	at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:320) ~[ojdbc6-11.2.0.3-11.2.0.3.jar:11.2.0.3.0]
	... 7 common frames omitted
Caused by: java.net.ConnectException: Connection refused: connect
	at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_331]
	at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:81) ~[na:1.8.0_331]
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:476) ~[na:1.8.0_331]
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:218) ~[na:1.8.0_331]
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:200) ~[na:1.8.0_331]
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:162) ~[na:1.8.0_331]
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:394) ~[na:1.8.0_331]
	at java.net.Socket.connect(Socket.java:606) ~[na:1.8.0_331]
	at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:150) ~[ojdbc6-11.2.0.3-11.2.0.3.jar:11.2.0.3.0]
	at oracle.net.nt.ConnOption.connect(ConnOption.java:133) ~[ojdbc6-11.2.0.3-11.2.0.3.jar:11.2.0.3.0]
	at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:370) ~[ojdbc6-11.2.0.3-11.2.0.3.jar:11.2.0.3.0]
	... 12 common frames omitted
2、报错原因

application.yml中datasource的url设置有问题。

3、我的解决方案 (1)控制台获取oracle数据库IP地址和端口号

WIN+R 运行 cmd 打开命令行 ==》lsnrctl status ==》获取oracle数据库IP地址和端口号

(2)使用SQL Plus或PLSQL Developer获取oracle数据库名称。

新建SQL语句并运行,运行的SQL语句为 SELECt name FROM v$database;

得到数据库名称为ORCL,orcl也可以,不区分大小写。如果没有修改过数据库名称,数据库名称默认就为ORCL/orcl。

(3)根据前两步拼接新url替换application.yml中datasource的url设置。

url: jdbc:oracle:thin:@IP地址:端口号:数据库名称
例子:
url: jdbc:oracle:thin:@192.168.50.169:1521:orcl

博主一开始用的是@localhost,但实际上oracle默认的IP地址不是127.0.0.1,所以报错了。希望这篇文章能帮到你。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1027632.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号