Java 当我使用我的计算机名与oracle建立连接时,会显示错误

Java 当我使用我的计算机名与oracle建立连接时,会显示错误,java,oracle,oracle11g,Java,Oracle,Oracle11g,当我使用我的计算机名与oracle建立连接时,它显示错误,我知道我可以使用术语localhost,但我想使用我的计算机名,我该怎么办 代码: 例外情况: Exception in thread "main" java.sql.SQLException: Io exception: The Network Adapter could not establish the connection Oracle应该能够将您的计算机名解析为您的I

当我使用我的计算机名与oracle建立连接时,它显示错误,我知道我可以使用术语localhost,但我想使用我的计算机名,我该怎么办

代码:

例外情况:

Exception in thread "main" 
              java.sql.SQLException: 
              Io exception: The Network Adapter could not establish the connection

Oracle应该能够将您的计算机名解析为您的IP。因此,请为您的计算机添加DNS记录,或者如果oracle是本地的,请在您的/etc/hosts中添加条目。当然,这里我假设您使用的是linux机器。如果您在windows上,请将该记录添加到c:\windows\system32\drivers\etc\hosts文件中

原因有两种:

DNS服务无法将的名称解析为IP 如果解析正确,则任何一个ip/端口都不可访问。 有多种方法可以将DNS检查到IP,但您可以尝试遵循更多java方法

InetAddress addr = InetAddress.getByName("Fozhan_PC");
System.out.println(addr.getHostAddress());
或者还有许多其他实用程序,如nslookup/dig/resolve等

如果您不想依赖DNS服务进行解析,那么我建议您使用IP/向/etc/hosts添加一个静态条目

可通过以下方式测试连接性:

ping <IP>
telnet <IP> <PORT>
nc -z <IP> <PORT>
如果连接出现问题,请检查您的网络设置和防火墙设置,并允许数据库服务器上的1521端口tcp连接或简单的禁用/停止防火墙


希望这能帮助您解决这个问题:。

我使用的是windows 8,请您解释一下我在这个地址c:\windows\system32\drivers\etc\hosts中应该做什么,感谢以管理员身份打开该文件,并添加一条记录,如下所示:当然,请更改ip和机器名192.168.122.133 mymachine mymachine.madomain.com
ping <IP>
telnet <IP> <PORT>
nc -z <IP> <PORT>