【问题标题】:Connecting Java App to my online database JDBC MySql将 Java 应用程序连接到我的在线数据库 JDBC MySql
【发布时间】: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 中)阻止访问到主机和端口。除非您可以访问该框,否则您也无法通过代码连接到它。
  • 你知道其他没有这个问题的免费数据库托管,以便我可以测试我的应用

标签: java mysql jdbc


【解决方案1】:

我浏览了上面所有的 cmets,发现 000host.com 没有提供可以在其自己的空间之外访问其数据库的设施。因此,通过谷歌搜索,我发现http://www.db4free.net 提供免费的 mySql 数据库用于测试目的。这样我的问题就解决了。感谢所有评论者。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-10
    • 1970-01-01
    • 2015-03-30
    • 1970-01-01
    • 2014-05-01
    • 2013-08-14
    • 1970-01-01
    相关资源
    最近更新 更多