Java 如何在线连接到多个数据库?
这里我试图连接到多个数据库这里是我的代码,这个代码在本地机器上运行良好,但当我上传到网上时,它不起作用,我可以得到任何帮助吗?谢谢Java 如何在线连接到多个数据库?,java,mysql,database,database-connection,Java,Mysql,Database,Database Connection,这里我试图连接到多个数据库这里是我的代码,这个代码在本地机器上运行良好,但当我上传到网上时,它不起作用,我可以得到任何帮助吗?谢谢 package dbase.sqlcon; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectionHelper{ private String url; private String
package dbase.sqlcon;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionHelper{
private String url;
private String restrnturl;
private String prptyurl;
private String user= "root";
private String pass= "mysql";
private String userRestaurent= "root";
private String passRestaurent= "mysql";
private String userProperty= "root";
private String passProperty= "mysql";
private ConnectionHelper() {
try {
Class.forName("com.mysql.jdbc.Driver");
URLDecoder.decode(getClass().getClassLoader().getResource("flex/testdrive").toString(), "UTF-8");
url = "jdbc:mysql://192.168.10.1:3306/desisquare";
restrnturl="jdbc:mysql://192.168.10.1:3306/foodndine";
prptyurl="jdbc:mysql://192.168.10.1:3306/postaproperty";
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection() throws SQLException {
if (instance == null) {
instance = new ConnectionHelper();
}
return DriverManager.getConnection(instance.url, instance.user, instance.pass);
}
public static Connection getConnectionrestaurent() throws SQLException {
if (instance == null) {
instance = new ConnectionHelper();
}
return DriverManager.getConnection(instance.restrnturl, instance.userRestaurent, instance.passRestaurent);
}
public static Connection getConnectionproperty() throws SQLException {
if (instance == null) {
instance = new ConnectionHelper();
}
return DriverManager.getConnection(instance.prptyurl, instance.userProperty, instance.passProperty);
}
}
当我问我的主机提供商有什么问题时,他给我发了这个对我来说很新的东西
INFO | jvm 1 | 2014/04/18 06:23:03 | Exception is ;java.sql.SQLException: Access denied for user 'postaproperty'@'localhost' (using password: YES)
INFO | jvm 1 | 2014/04/18 06:23:03 | Exception is ;java.sql.SQLException: Access denied for user 'postaproperty'@'localhost' (using password: YES)
INFO | jvm 1 | 2014/04/18 06:23:03 | Exception is ;java.sql.SQLException: Access denied for user 'foodndine'@'localhost' (using password: YES)
有些事情可能也出了问题。但是,正如您所提到的,一旦您尝试从外部访问数据库,问题就会发生,这些异常消息可能表明您的数据库无法访问,原因是: -在my.cnf中,您应该验证--skip networking已被注释掉:
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/English
bind-address = 65.55.55.2
# skip-networking
也就是说,您的数据库通过TCP/IP接受消息
- 验证您的数据库服务器正在3306端口上侦听
- 验证192.168.10.1是否可从部署站点(telnet 192.168.10.1:3306)访问,因为可能有防火墙阻止端口或DNS不知道此IP地址