2016-08-09 111 views
0

我有一个代码在机器上运行正常,我已经安装了数据库。Java MySQL连接到服务器

我想从其他机器运行此代码,该机器连接到安装MySQL的机器并尝试更新数据。但是这个代码不能从其他机器上运行。 我正在尝试连接,如下所示。

ds = new BasicDataSource(); 
ds.setDriverClassName("com.mysql.jdbc.Driver"); 
ds.setUrl("jdbc:mysql://192.168.0.104:3306/sd_mmm_data"); 
ds.setUsername("<UserName>"); 
ds.setPassword("<PassCode>"); 
ds.setMaxIdle(1); 
ds.setMaxWaitMillis(40000); 

我用相应的IP替换了本地主机。但是,当我运行的代码,我总是得到错误表未找到。

我创建了一个可以从其他机器连接的新用户,并且用户拥有所有必需的权限。我已经尝试从客户端系统上的cmd提示符进行连接,并且连接按预期方式按预期方式运行。我尝试从MySQL WorkBench连接和从客户端系统连接工程。但该连接不适用于Java代码。我错过了什么?

我已经在客户端系统主机文件中添加了一个条目,如下所示 ServerName 而且我尝试在Server代码中使用ServerName代替IP地址。即使这样也行不通。

+0

你应该把我认为完整的java代码。 –

+0

桌子的名字是什么? –

+0

当您收到“表未找到”错误时,连接到服务器时没有问题 –

回答

1

我认为你必须使用授予远程用户访问远程用户。

授予特权 TO'USERNAME'@'1.2.3.4'用'授权'选项'密码'确定;

+0

用户名和密码在客户端机器上运行。我已经从命令提示符和客户机上的WorkBench测试了连接。连接正在工作,我也能够获取数据。该连接不能从Java代码中使用。 – kris123456

0

创建新的用户组。刷新的权限,但它没有工作。 然后继续关闭数据库并尝试重新启动它。即使它没有工作。但尝试摆​​弄设置,并尝试创建新用户,并尝试连接,最终奏效。不要记得为什么它工作,因为我触及多个网络设置。