如何在一台计算机上连接Java应用程序与另一台计算机上的数据库

时间:2015-02-10 14:42:21

标签: java mysql jdbc

我开发了一个桌面java应用程序,并使用easyPHP创建了它的数据库。我为第一台计算机连接了两台IP地址为192.168.1.2的计算机,为第二台计算机连接了192.168.1.3。现在我想将easyPHP放在第一台计算机上,将应用程序放在第二台计算机上,但我的连接有问题。用于连接的代码是:

    public DataSource getDataSource(){ 
     BasicDataSource ds = new BasicDataSource(); 
     ds.setDriverClassName("com.mysql.jdbc.Driver"); 
     ds.setUsername("root"); 
     ds.setPassword(""); 
     ds.setUrl("jdbc:mysql://192.168.1.2/en_library"); 
     ds.setMaxActive(20); 
     ds.setMaxIdle(4); 
     return ds; 
    }

它给了我这个错误信息:

    Feb 10, 2015 11:41:01 AM UserSearch.UserSearch <init> SEVERE: null
    org.apache.commons.dbcp.SQLNestedException: Cannot create
    PoolableConnectionFactory (Communications link failure 

解决:

我已完成以下步骤:

1-从防火墙打开端口3306

2-通过我的用户授予所有权限 GRANT ALL PRIVILEGES ON en_library.* TO 'root'@'%' IDENTIFIED BY 'PASSWORD&#39;

3-更改bind-address:0.0.0.0

4-重启MySQL

5-在连接URL中写("jdbc:mysql://192.168.1.2:3306/en_library")


1 个答案:

答案 0 :(得分:1)

你应该添加更多端口,因为3306是MySQL的默认端口,我们有:

ds.setUrl("jdbc:mysql://192.168.1.2:3306/en_library"); 

并记住将连接字符串片段放入try-catch块。

相关问题