0

我有一个需要连接到外部 MySQL 数据库的 Java 应用程序。但是,我们有一个能够登录计算机的 IP 地址的受限列表。问题是我们的一位客户旅行,因此有一个动态 IP 地址。我们选择了使用http://www.noip.com的路由来考虑动态 IP 地址。但是,如何将两个程序链接在一起存在问题。Java 应用程序仍然引用 [ip address].hlrn.qwest.net 而不是 [sub-domain].no-ip.biz。

有没有我可以在 Java 中使用的函数来覆盖我用于连接数据库的 IP 地址?

谢谢。

4

2 回答 2

0
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


public class Conne {
    public static Connection GetConnection() throws ClassNotFoundException,SQLException
    {

        Class.forName("com.mysql.jdbc.Driver");
        Connection connection = DriverManager.getConnection("jdbc:mysql://ip address /database name","username","password");
        return connection;
    }
}

创建此类后,您可以将此类的引用或对象用于连接目的....我认为这对您有帮助.... :) :)

于 2013-06-18T13:53:10.987 回答
0

理想情况下,连接字符串应该已经外部化,以便可以轻松修改。如果这更多的是对 IP 的政策限制,那么我认为无论我们采取哪种方式;它仍然可以被视为违规行为。无论如何,我假设你已经考虑过了。

在任何操作系统上,您都有一个可用于覆盖 DNS 名称解析的 HOSTS 文件。唯一的限制是您只能将 IP 而非主机名映射到另一个主机名。但是,您可以为已映射到 IP 的主机名设置别名。例如,如果您添加以下内容

127.0.0.1    [ip address].hlrn.qwest.net

到您的 HOSTS 文件(顺便说一下,它位于C:\WINDOWS\system32\drivers\etc\hostsWindows 上),您的 Java 应用程序将开始仅与 localhost 建立连接。因此,您可以添加以下内容来重定向并让您的 Java 应用程序连接到no-ip.biz

ip.add.re.ss    [sub-domain].no-ip.biz    [ip address].hlrn.qwest.net

要在不处理实际 IP 的情况下使这个 DNS 过程自动并重定向并不容易,并且需要摆弄您自己的 DNS 设置。

于 2013-05-21T04:52:39.873 回答