2012-10-16 151 views
0

您好,我已經在Eatj.com上託管了一個小型網頁(JSP + Mysql),試用期爲15天。我的問題是本地主機上的數據庫連接成功,但託管我的連接字符串後發出異常。 代碼:mysql遠程主機

try{ 
    String connectionURL = "jdbc:mysql://pulicipaddress/dbname"; 

    Connection con= null; 
    Class.forName("com.mysql.jdbc.Driver"); 
    con = DriverManager.getConnection(connectionURL, "eatjid", "eatjpassword"); 
... 

它說,沒有定義我的連接。

+0

你在哪裏指定了端口?它應該是'jdbc:mysql:// pulicipaddress:port/dbname' – MaVRoSCy

+0

哪個端口3306或者ipchicken –

+0

顯示的遠程端口不知道ipchicken是什麼。我正在談論3306端口 – MaVRoSCy

回答

0

如果JSP和數據庫都在eatj.com託管,我希望你已經從eatj.com獲得數據庫登錄信息。我想 - 與大多數託管商一樣 - 數據庫不能從「外部」訪問,因此它必須是一些內部服務器名稱。

此外,當數據庫和訪問數據庫的代碼都在託管環境中運行時,通過公用地址訪問數據庫是沒有意義的。

通常,在託管環境,工作的事情是這樣的:

     +- "hoster only" ----------------+ 
External Viewer ----> | JSP-Code ----> Database Server | 
         +--------------------------------+ 

外部觀衆請求創建的網頁由JSP,JSP的確實在「主機供應商唯一的」環境的一切。

+0

我不知道如果兩者都託管或不。我只是要求上傳在DOS中創建的ROOT.war文件。 –

+0

在EATJ中展示的規則之一如下所示:如果使用數據庫,則必須使用數據庫連接池。對於示例連接池代碼,可以下載sample.zip(檢查DBConnector.java和DBUtil.java)。您不僅可以節省資源,還可以通過使用連接池來提高應用程序性能。併發連接的最大數量爲10. –

+0

如果數據庫未託管,則應在何處存儲其他位置?我建議你下載這個示例,並通過閱讀他們的文檔來檢查他們是如何做的。 –