将Java应用程序连接到我的在线数据库JDBC MySql

将Java应用程序连接到我的在线数据库JDBC MySql,java,mysql,jdbc,Java,Mysql,Jdbc,我试图从我的在线数据库中获取数据,但出现以下错误。但是,它在我的本地数据库中运行良好 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

我试图从我的在线数据库中获取数据,但出现以下错误。但是,它在我的本地数据库中运行良好

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);

    }

}
我得到以下错误:

`

线程“main”java.sql.SQLException中的异常:由于异常而无法连接到任何主机:java.net.SocketException:java.net.ConnectException:连接超时:连接 java.net.SocketException 消息:java.net.ConnectException:连接超时:连接 堆栈跟踪: java.net.SocketException:java.net.ConnectException:Connection超时:连接到com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:143) 在com.mysql.jdbc.MysqlIO上(MysqlIO.java:225) 在com.mysql.jdbc.Connection.createNewIO上(Connection.java:1805) 位于com.mysql.jdbc.Connection(Connection.java:452) 位于com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411) 位于java.sql.DriverManager.getConnection(未知源) 位于java.sql.DriverManager.getConnection(未知源) 位于BankingSystem.main(BankingSystem.java:22) 在com.mysql.jdbc.Connection.createNewIO上(Connection.java:1875) 位于com.mysql.jdbc.Connection(Connection.java:452) 位于com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411) 位于java.sql.DriverManager.getConnection(未知源) 位于java.sql.DriverManager.getConnection(未知源) 位于BankingSystem.main(BankingSystem.java:22)
解决方案是什么?

我仔细阅读了上面的所有评论,发现000host.com没有提供可在其自身空间之外访问其数据库的功能。所以,通过谷歌搜索,我发现可以为测试目的提供免费的mySql数据库。这样我的问题就解决了。感谢所有的主持人

这可能是因为您的系统不允许访问远程mysql数据库。请参见您能否ping
mysql11.000webhost.com
,如果是,您能否远程登录到该框中的默认mysql端口?(ping很少会起作用,但telnet会被禁用,而且很少见,两者都会被禁用——但值得一看)。我相信,你应该想知道‘会有什么问题’:)不,我不能平它说请求超时。现在我必须做的是??如果你有一个网络团队,与他们交谈,看看是否有防火墙(在你的系统/网络/数据库系统中)或VPN规则(如果你在VPN中)阻止了对主机和端口的访问。除非你可以访问这个盒子,否则你也不能通过你的代码连接到它。你知道没有这个问题的其他免费数据库托管吗,这样我就可以测试我的应用程序了
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)