问题描述
我正在尝试通过Java代码手动连接到Oracle数据库,但出现此错误。
Java代码
public static void main(String[] args) throws Exception {
//database info
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@//HOST:1521/SERVICE"
String username = "*******";
String password = "*******";
//Connect
try{
Connection conn = DriverManager.getConnection(url,username,password);
} catch (Exception e){
System.out.println("convertStackTracetoString(e---------------------------------------");
System.out.println(convertStackTracetoString(e));
System.out.println("printstacktrace(e---------------------------------------");
Thread.sleep(100); // Avoids timing side effect with println and printstacktrace
e.printstacktrace();
}
Java堆栈跟踪
java.sql.sqlRecoverableException: IO Error: The Network Adapter Could not establish the connection
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:858)
at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:793)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:57)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:747)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:562)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
at Main.main(Main.java:33)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at jdk.compiler/com.sun.tools.javac.launcher.Main.execute(Main.java:404)
at jdk.compiler/com.sun.tools.javac.launcher.Main.run(Main.java:179)
at jdk.compiler/com.sun.tools.javac.launcher.Main.main(Main.java:119)
Caused by: oracle.net.ns.NetException: The Network Adapter Could not establish the connection
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:571)
at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:548)
at oracle.net.ns.nsprotocol.establishConnection(nsprotocol.java:682)
at oracle.net.ns.nsprotocol.establishConnection(nsprotocol.java:661)
at oracle.net.ns.nsprotocolNIO.negotiateConnection(nsprotocolNIO.java:202)
at oracle.net.ns.nsprotocol.connect(nsprotocol.java:340)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1600)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:591)
... 14 more
Caused by: java.io.IOException: Connection refused,socket connect lapse 2 ms. /SCRUB.SCRUB.SCRUB.SCRUB 1521 0 1 true
at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:233)
at oracle.net.nt.Connoption.connect(Connoption.java:174)
at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:510)
... 21 more
Caused by: java.net.ConnectException: Connection refused
at java.base/sun.nio.ch.Net.connect0(Native Method)
at java.base/sun.nio.ch.Net.connect(Net.java:482)
at java.base/sun.nio.ch.Net.connect(Net.java:474)
at java.base/sun.nio.ch.socketChannelImpl.connect(SocketChannelImpl.java:694)
at java.base/java.nio.channels.socketChannel.open(SocketChannel.java:194)
at oracle.net.nt.TimeoutSocketChannel.connect(TimeoutSocketChannel.java:99)
at oracle.net.nt.TimeoutSocketChannel.<init>(TimeoutSocketChannel.java:77)
at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:192)
... 23 more
我已经检查了凭据和URL,它们似乎在不同的系统/网络上工作。 我没有访问实际数据库本身的权限,只有凭证和URL可以使用。 我还可以确认服务器和端口之间的连接。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)