2014-03-13 58 views
0

我用下面的代碼運行連接到本地主機數據庫所在的計算機

try { 
     Class.forName("com.mysql.jdbc.Driver"); 
     Connection connection = DriverManager.getConnection( 
       "jdbc:mysql://localhost:3306/project", "root", "password"); 

顯然連我非常基本的Java應用程序的服務器WAMP我的計算機上的Java程序,這個程序在運行我的電腦,但沒有其他人,我需要提交這個項目。

反正我有可以修改這部分讓我的夥伴和老師可以運行他們的計算機代碼,而無需下載任何特殊的軟件,並在我的本地訪問數據庫?可能喜歡用//my IP address:8080替換//localhost:3306

我已經得到了所有的建議涉及到網絡,這我不知道,所以我不想去嘗試,然後搞砸了我的電腦,除非我真的相信

事情我已經什麼看着,但不能確定:

  • C:/wamp/alias/phpmyadmin.conf並進入行ALLOW (other person's IP)
  • 團隊瀏覽器(需要其他計算機使用其他軟件比我的程序)
  • 打開我的路由器端口德e傳入請求

任何事情都會幫助你們,即使只是確認它不能在沒有網絡的情況下完成。 如果這是一個沒有經驗的人可以做的事情,我會接受。

+3

你有沒有試過:'//我的IP地址:3306'?這假定沒有任何防火牆或路由問題。 – assylias

+1

如果你的老師正在做這樣的任務,那麼他們可能會詳細說明你將如何提交你可能錯過的項目。 – NESPowerGlove

+0

請參閱:http:// stackoverflow。com/questions/12885836/how-to-success-access-the-database-on-another-computer-using-java-and-jdbc – JWiley

回答

1

除了你已經嘗試什麼,你還需要授予的權限來訪問你的數據庫。

嘗試從其他IP地址授予權限給用戶。

閱讀文檔GRANT Syntax

GRANT ALL ON test.* TO '%'@'localhost' ... 
GRANT ALL ON test.* TO '%'@'%' ... 
GRANT ALL ON test.* TO 'ravinder'@'192.168.1.105' ... 
etc... 

還有其他形式的授權訪問特定的數據庫對象從特定計算機或所有連接的特定或所有用戶的。
我建議你選擇一個適合你的需求。

但是,請記住,'%'@'%'將允許所有用戶所有系統。

授予的權限之後,您的IP地址的連接字符串更改dbURL值。

Connection connection = 
DriverManager.getConnection( 
       "jdbc:mysql://your_system_ip_or_name_here:3306/project", 
       "root", "password"); 

在所需的系統上部署重新生成的應用程序,它應該工作。

+0

我認爲我不清楚,當我說「我查看的東西」時,我的意思是這些東西是我在尋找一個答案,但他們都需要a)另一個人在他們的計算機上有一個數據庫服務器或者b)打開一個我不想做的事情的端口。那麼你是說只使用GRANT將允許訪問,而不需要另一臺計算機在同一網絡上,有一個數據庫,或者我的端口是打開的? – North

+0

您需要選項b,並授予。 –

相關問題