2014-03-13 60 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,并授予。 –

相关问题