2013-05-21 184 views
0

我有一個需要連接到外部MySQL數據庫的Java應用程序。但是,我們有一個能夠登錄到計算機的IP地址的限制列表。問題是我們的客戶之一旅行,因此有一個動態的IP地址。我們選擇了使用http://www.noip.com的路由來考慮動態IP地址。但是,如何將這兩個程序鏈接在一起存在問題。 java應用程序仍然指[ip address] .hlrn.qwest.net,而不是[sub-domain] .no-ip.biz。Java外部MySQL數據庫連接

是否有一個函數,我可以在Java中使用,以覆蓋什麼我的IP地址是用來連接到數據庫?

謝謝。

+0

似乎這是獨立的應用程序。否則,動態IP是無關緊要的。 – AlexR

+0

這是一個獨立的應用程序。 – user2360813

回答

0

理想情況下,連接字符串應該已外部化,以便可以輕鬆修改。如果它更多是對IP的政策限制,那麼我認爲我們以任何一種方式來做;它仍然可以被視爲違規。無論如何,我假設你已經給了它一個想法。

在任何操作系統上,您都可以使用HOSTS文件來覆蓋DNS名稱解析。唯一的限制是您只能將IP而不是主機名映射到另一個主機名。但是,您可以將已映射到IP的主機名稱別名。例如,如果您添加下面

127.0.0.1 [ip address].hlrn.qwest.net 

到您的HOSTS文件(其中的方式位於C:\WINDOWS\system32\drivers\etc\hosts在Windows上)Java應用程序就開始做,只在本地主機連接。因此,您可以添加以下內容來重定向,並使您的Java應用程序連接到no-ip.biz

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

爲了使這個DNS過程自動化,無需處理實際的IP重新定向是不容易的,需要用自己的DNS設置擺弄。

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; 
    } 
} 

創建這個類,你可以使用這個類用於連接目的的參考或對象之後....我認爲,這將有助於你..... :) :)