Salve a tutti, ho scritto una classe dove nel main eseguo una connessione al db, una select, e faccio un ciclo che processi i risultati della select:
Ho sempre lavorato con i DB con java senza avere mai problemi, l'unica cosa è che prima ho sempre lavorato con i db usando Java Server e non Java Client, ora mi dà quest'errore:codice:import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Prove { public Prove(){ try { Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://62.149.150.132?user=utente&pass=password"); Statement stat = con.createStatement(); String query = "SELECT * FROM db_1.content"; ResultSet rs = stat.executeQuery(query); int i=1; while(rs.next()) { query = "INSERT INTO db_5.content (id,title,alias,title_alias,introtext,fulltext,state,sectionid,mask,catid,created,created_by,created_by_alias,modified,modified_by,checked_out,checked_out_time,datetime,publish_up,publish_down,images,urls,attribs,version,parentid,ordering,metakey,metadesc,access,hits,metadata) VALUES ("+rs.getString("id")+","+rs.getString("title")+","+rs.getString("alias")+","+rs.getString("title_alias")+","+rs.getString("introtext")+","+rs.getString("fulltext")+","+rs.getString("state")+","+rs.getString("sectionid")+","+rs.getString("mask")+","+rs.getString("catid")+","+rs.getString("created")+","+rs.getString("created_by")+","+rs.getString("created_by_alias")+","+rs.getString("modified")+","+rs.getString("modified_by")+","+rs.getString("checked_out")+","+rs.getString("checked_out_time")+","+rs.getString("datetime")+","+rs.getString("publish_up")+","+rs.getString("publish_down")+","+rs.getString("images")+","+rs.getString("urls")+","+rs.getString("attribs")+","+rs.getString("version")+","+rs.getString("parentid")+","+rs.getString("ordering")+","+rs.getString("metakey")+","+rs.getString("metadesc")+","+rs.getString("access")+","+rs.getString("hits")+","+rs.getString("metadata")+")"; stat.executeUpdate(query); System.out.println("Eseguita query numero "+i); i+=1; } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { new Prove(); } }
Premetto che IP di connessione, user e password sono giusti, e la libreria di mysql c'è tra quelle importatecodice:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.mysql.jdbc.Util.handleNewInstance(Util.java:409) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1118) at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:343) at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2308) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2122) at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:774) at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:49) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.mysql.jdbc.Util.handleNewInstance(Util.java:409) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:375) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:289) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:207) at prove.Prove.<init>(Prove.java:19) at prove.Prove.main(Prove.java:38) Caused by: java.net.ConnectException: Connection timed out: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:529) at java.net.Socket.connect(Socket.java:478) at java.net.Socket.<init>(Socket.java:375) at java.net.Socket.<init>(Socket.java:218) at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256) at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:292) ... 15 more