Java应用程序:在不同的计算机上访问数据库
我有一个使用JavaSE的应用程序,在编写代码时,我在localhost上安装了mysql workbench,一切正常。现在我必须分发jar文件,以便人们可以使用它。但当我尝试访问数据库时,它显示连接错误。在数据库路径中,我将localhost替换为数据库所在计算机的ip。谁能帮我一下吗 非常感谢Java应用程序:在不同的计算机上访问数据库,java,mysql,database,mysql-workbench,remote-server,Java,Mysql,Database,Mysql Workbench,Remote Server,我有一个使用JavaSE的应用程序,在编写代码时,我在localhost上安装了mysql workbench,一切正常。现在我必须分发jar文件,以便人们可以使用它。但当我尝试访问数据库时,它显示连接错误。在数据库路径中,我将localhost替换为数据库所在计算机的ip。谁能帮我一下吗 非常感谢 如您所知,对于JDBC,通常需要在连接字符串中指定主机 正如您所知,您通常在Class.forName()中指定驱动程序,并在Java类路径中指定驱动程序的.jar目录 您可能正在使用MySql/J
与“mysql工作台”唯一相关的是,当您使用mysql工作台在本地运行应用程序时,应用程序恰好工作,对吗?如果是这样,它可能不是这个问题的好标签…以管理员用户身份在数据库上运行查询
GRANT ALL ON db1 TO 'jeffrey'@'%';
假设
db1
是您的模式,jeffrey
是您想要访问的用户。您可以发布完整的错误消息吗???您需要能够ping或telnet数据库服务器以确保您可以连接,你试过了吗?检查远程主机的数据库访问权限。@Santosh是的,我想这就是用户窗口中的问题,它显示localhost。。。如何从任何ip访问它?@Qwe-非常好的建议。Koool-您应该能够“telnet YOUR-HOST 3306”来验证客户端和远程MySql服务器之间的MySql端口是否打开。1。检查2。Class.forName(“com.mysql.jdbc.Driver”);3.完成4。如果我的应用程序con=DriverManager.getConnection(“jdbc:mysql://ip/db1?“+”user=jeffrey&password=“);它应该能正常工作吗?从上面的评论中,我试着ping,它说请求失败了,解决方法是什么?你的意思是你不能ping有数据库的机器?