【发布时间】:2014-09-17 11:29:23
【问题描述】:
我正在尝试从我的在线数据库中获取数据,但出现以下错误。但是,它适用于我的本地数据库。
Java 代码
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.sql.*;
import javax.swing.JOptionPane;
public class BankingSystem extends JFrame {
public static void main(String[] args) throws Exception
{
int ur=0;
int PIN;
String ID;
int userSelection=0;
Boolean pinCorrect = false;
int amountDeposite;
int amountWithdraw;
int updateResult;
Boolean isExit=false;
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://mysql11.000webhost.com/a46854323_javaapp";
String user = "a46854323_javaapp";
String pass="password";
Connection con = DriverManager.getConnection(url,user,pass);
Statement st = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
}
}
我收到以下错误:
`
Exception in thread "main" java.sql.SQLException: Unable to connect to any hosts due to exception: java.net.SocketException: java.net.ConnectException: Connection timed out: connect
java.net.SocketException
MESSAGE: java.net.ConnectException: Connection timed out: connect
STACKTRACE:
java.net.SocketException: java.net.ConnectException: Connection timed out: connect at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:143)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:225)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1805)
at com.mysql.jdbc.Connection.<init>(Connection.java:452)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at BankingSystem.main(BankingSystem.java:22)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1875)
at com.mysql.jdbc.Connection.<init>(Connection.java:452)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at BankingSystem.main(BankingSystem.java:22)
有什么解决办法?
【问题讨论】:
-
这可能是由于您的系统不允许访问远程 mysql DB 见this
-
你能 ping
mysql11.000webhost.com吗?如果能,你能 telnet 到那个盒子里的默认 mysql 端口吗? (很少,ping 会工作,但 telnet 将被禁用,并且很少,两者都将被禁用 - 但值得一试)。而且我相信,您应该想知道“可能是什么问题”:) -
不,我不能 ping 它说请求超时。现在我必须做什么??
-
如果您有网络团队,请与他们交谈以查看是否有任何防火墙(在您的系统/网络/数据库系统中)或 VPN 规则(如果您在 VPN 中)阻止访问到主机和端口。除非您可以访问该框,否则您也无法通过代码连接到它。
-
你知道其他没有这个问题的免费数据库托管,以便我可以测试我的应用