2012-02-19 81 views
2

我有一个应用程序,使用java se和编码时,我安装mysql本地主机上的工作台,一切工作正常。现在我必须分发这些jar文件,以便人们可以使用它。但是当我尝试访问数据库时,它说连接错误。在数据库路径中,我将数据库所在的计算机的ip替换为localhost。有人能帮助我吗?Java应用程序:访问不同的计算机上的数据库

非常感谢

+0

你能发布完整的错误消息吗? – 2012-02-19 04:41:30

+2

您需要能够ping或telnet数据库服务器以确保您可以连接,您是否尝试过? – 2012-02-19 04:42:40

+0

检查来自远程主机的数据库访问权限。 – Santosh 2012-02-19 04:43:45

回答

1
  1. 正如你知道的,JDBC在一般情况下,你需要指定连接字符串中的主机。如您所知,您通常在Class.forName()中指定驱动程序,并在Java CLASSPATH中指定驱动程序的.jar目录。

  2. 您可能正在使用MySql/J连接器 - 我相信这是与您的应用程序一起部署的所有客户端需求。

  3. 您还需要确保mySql端口(默认3306)处于打开状态。

  4. Mysql“用户”是以每台主机为基础定义和授权的。您还需要确保在“用户”MySQL表中正确设置了它。

  5. 确保您的应用程序记录了所有可用的异常信息。请在这里发布任何具体的错误信息。

“希望帮助

PS: 为‘MySQL工作台’的唯一关联是你的应用程序发生在你本地运行,使用MySQL工作台,正确的工作?如果是这样,它可能不是这个问题的好标签...

+0

1.检查 2. Class.forName(“com.mysql.jdbc.Driver”); 3.做 4.完成 – koool 2012-02-19 04:51:00

1

作为管理员用户在数据库上运行查询。

GRANT ALL ON db1 TO 'jeffrey'@'%'; 

假设db1是你的架构和jeffrey是你想给访问用户。

+0

所以,如果我在我的应用程序有这样的代码 CON =的DriverManager.getConnection( “的jdbc:mysql的:// IP/DB1?” + “用户=杰弗里和密码=”); 它应该工作正确吗? – koool 2012-02-19 05:01:43

+1

是的。它应该工作。从上面的评论 – Santosh 2012-02-19 05:09:35

+0

我试图ping和它说请求失败了什么将是一个解决方案? – koool 2012-02-19 05:14:16

相关问题