我无法连接到我的" live-server"上的mysql数据库。但它在我的本地计算机上工作得很好。
在我的主要课程中,我这样做:
try {
main.connection.open();
} catch (SQLException e1) {
log.fatal(e1.getMessage());
System.exit(0);
}
open方法看起来像这样
public void open() throws SQLException{
if(con != null) close();
con = DriverManager.getConnection(url, user, password);
}
运行几分钟后,我得到了这个:
14:35:47.434 [main] FATAL se.mypack.Server - 无法创建与数据库服务器的连接。尝试重新连接3次。放弃。
我该如何调试? url,server和password变量是正确的。这可能是什么问题?
使用mysql-connector-java-5.1.29-bin.jar
答案 0 :(得分:-1)
首先,您必须确保已加载数据库驱动程序类。 它如下: 的Class.forName( “org.apache.derby.jdbc.EmbeddedDriver”);
这适用于DERBY DB。 每个数据库都有不同的驱动程序类,但想法是一样的。
如果您已经这样做,请检查您是否从客户端计算机与数据库服务器建立了TCP连接 试图建立连接。您可以使用:ping -t your.server.ip。 如果你得到一个响应,尝试建立到该URL +端口号的telet连接(数据库监听器监听的端口,对于Oracle,它将是1521,对于Derby,它是1527 ..)并且看到你没有得到任何连接拒绝消息。 如果您的连接尝试失败,请查看数据库侦听器是否已启动,或者您是否遇到防火墙问题。
祝你好运, Yosi Lev