从另一个通过局域网连接的系统连接到本地Oracle数据库(LOCALHOST)



我需要从另一个系统连接到我的本地oracle数据库,但我不知道在主机名中给出什么。我之前给的是localhost,但这不起作用,因为系统的主机名不起作用。

我们可以从另一个系统连接到本地数据库吗?

public static Connection local_loginConnection() {
    try{
        Class.forName("oracle.jdbc.driver.OracleDriver");
        Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@10.152.96.208:1521:XE","root","root");
        return conn;
    }catch(Exception e){
        System.out.println(e);
        return null;
    }
}

有解决这个问题的方法吗?

如果您的主机的ip地址可以从其他主机访问,这是可能的(您还必须配置您的主机以允许连接到数据库(调整防火墙),并且您必须确保db-server也侦听外部接口)。如果您在任何网络上公开您的服务器(实际上是任何东西),请确保确保适当的身份验证/访问控制,而不是像这样的直接链接。

您的地址(10.x.x.x)表明您在专用网络上,因此您将无法从外部(Internet)访问它,而只能从该网络内的另一台主机访问,除非您在网络边界处设置了dnat或类似的东西。

如果你想使用一个dns名称,你当然必须有一个dns服务器映射这个名称到你的主机的ip地址。

但是,也应该可以使用ip地址而不是主机名。当然,您必须在每次更改ip地址时对其进行调整,但我假设您的ip地址是一个纯测试设置,因此这可能是可以接受的。