2014-09-17 3 views
0

Я пытаюсь извлечь данные из своей онлайн-базы данных, но следующая ошибка возникает. Однако он отлично работает для моей локальной базы данных.Подключение Java-приложения к моей онлайн-базе данных JDBC MySql

Java Code

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) 

Что может быть решение?

+0

Возможно, это связано с тем, что ваша система не разрешена для доступа к удаленной базе данных mysql, см. [This] (http://stackoverflow.com/a/23604182/2664200) – SpringLearner

+0

Можете ли вы выполнить ping 'mysql11.000webhost.com', и если так, можете ли вы установить telnet на порт mysql по умолчанию в этом поле? (редко, ping будет работать, но telnet будет отключен и очень редко, оба будут отключены, но это стоит проверить). И я верю, вам должно быть интересно, «что может быть проблемой» :) – prabugp

+0

no i can not ping, в котором говорится о тайм-ауте запроса. Теперь, что я должен сделать? – AZT

ответ

0

Я рассмотрел все вышеприведенные комментарии и обнаружил, что 000host.com не предоставляет средства, к которым его база данных может получить доступ за пределами своего собственного пространства. Таким образом, с небольшим количеством googling я нашел http://www.db4free.net, которые предоставляют бесплатную базу данных mySql для целей тестирования. И таким образом моя проблема решена. Спасибо всем коментаторам.

Смежные вопросы