![如何在java中连接oracle服务器?](https://linux22.com/image/505716/%E5%A6%82%E4%BD%95%E5%9C%A8java%E4%B8%AD%E8%BF%9E%E6%8E%A5oracle%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%9F.png)
我正在尝试连接到我朋友的 Oracle 服务器。但在连接时我收到错误,请帮忙......
JDBC 代码
Class.forName(oracle.jdbc.driver.OracleDriver).newInstance();
conn=DriverManager.getConnection(jdbc:oracle:thin:@<IPaddress>:<SID>,userName,password);
conn.close();
错误信息
java.sql.SQLException: The Network Adapter could not establish the connection
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:412)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:531)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:221)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.wipro.sample.min.main(min.java:28)
Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:359)
at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:422)
at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:672)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:237)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1042)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:301)
... 7 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:141)
at oracle.net.nt.ConnOption.connect(ConnOption.java:123)
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:337)
... 12 more
答案1
看起来 Oracle 服务器没有在监听......
连接到存在 oracle 的机器..
跑步苏-甲骨文
lsnrctl 状态
如果监听器未处于活动状态,则执行lsnrctl 启动
答案2
似乎您无法连接到 Oracle 服务器。首先尝试使用 Oracle 的端口远程登录 Oracle 服务器。
前任: telnet <Oracle Serrver IP> 1521
答案3
当您执行以下操作时可能会发生此错误:
- 尝试连接到不同的主机:端口。仔细检查您的设置。
- Oracle 服务器已关闭。您需要启动它。
- 您的防火墙阻止了您与 Oracle 的连接。您需要允许您的应用程序访问。
答案4
角撑板执行以下操作:
- ping ip 地址。如果超时,则表示网络连接有问题。
- 如果 ping 结果表明连接正常,但仍然出现相同的异常,则执行以下操作:使用命令 tracert Ip Address 来 gat 域名。
在连接字符串中使用域名而不是 IP 地址:
conn=DriverManager.getConnection(jdbc:oracle:thin:@<IPaddress>:<SID>,userName,password); conn=DriverManager.getConnection(jdbc:oracle:thin:@<domain Name>:<SID>,userName,password);
- 使用
DriverManager.registerDriver (new oracle.jdbc.OracleDriver());
而不是Class.forName(oracle.jdbc.driver.OracleDriver).newInstance();