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