Gjbob
04-10-2009, 21:17
Ho qualche problema nella connessione ad un database mysql. Il codice che ho utilizzato nella classe che realizza la connessione è :
import java.sql.*;
public class dbOperations {
private Connection db;
private String errore = "";
private boolean connesso = false;
//Prendere da File
private String nomeDB = "contacts";
private String passwordDB = "********;
private String hostDB = "localhost";
private String userDB = "root";
//--
public boolean connetti(){
try {
Class.forName("com.mysql.jdbc.Driver");
db = DriverManager.getConnection("jdbc:mysql://"+ hostDB +"/"+ nomeDB + "?user=" + userDB + "&password=" + passwordDB);
this.connesso = true;
} catch (Exception ex) {
ex.printStackTrace();
errore = ex.toString();
}
return this.connesso;
}
public boolean disconnetti(){
try {
db.close();
} catch (SQLException ex) {
ex.printStackTrace();
errore = ex.toString();
}
this.connesso = false;
return this.connesso;
}
public ResultSet executeQuery(String query){
ResultSet rs = null;
try {
Statement st = db.createStatement();
rs = st.executeQuery(query);
} catch (SQLException ex) {
ex.printStackTrace();
errore = ex.toString();
}
return rs;
}
public void executeUpdate(String query){
try {
Statement st = db.createStatement();
st.executeUpdate(query);
} catch (SQLException ex) {
ex.printStackTrace();
errore = ex.toString();
}
}
public boolean isConnesso(){
return this.connesso;
}
public String getErrore(){
return this.errore;
}
}
nel main quando chiamo il metodo connetti ottengo questo :
run:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
Last packet sent to the server was 0 ms ago.
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:406)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2103)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
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:406)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at contacts.dbOperations.connetti(dbOperations.java:16)
at contacts.Main.main(Main.java:8)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.<init>(Socket.java:366)
at java.net.Socket.<init>(Socket.java:209)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:253)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:280)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2026)
... 13 more
Questo avviene facendo girare il programma in una macchina con os. visa ultimate 64 bit.Lo stesso codice gira alla perfezione sul mio nb che monta vista business 32 bit.
Avete qualche supposizione?
import java.sql.*;
public class dbOperations {
private Connection db;
private String errore = "";
private boolean connesso = false;
//Prendere da File
private String nomeDB = "contacts";
private String passwordDB = "********;
private String hostDB = "localhost";
private String userDB = "root";
//--
public boolean connetti(){
try {
Class.forName("com.mysql.jdbc.Driver");
db = DriverManager.getConnection("jdbc:mysql://"+ hostDB +"/"+ nomeDB + "?user=" + userDB + "&password=" + passwordDB);
this.connesso = true;
} catch (Exception ex) {
ex.printStackTrace();
errore = ex.toString();
}
return this.connesso;
}
public boolean disconnetti(){
try {
db.close();
} catch (SQLException ex) {
ex.printStackTrace();
errore = ex.toString();
}
this.connesso = false;
return this.connesso;
}
public ResultSet executeQuery(String query){
ResultSet rs = null;
try {
Statement st = db.createStatement();
rs = st.executeQuery(query);
} catch (SQLException ex) {
ex.printStackTrace();
errore = ex.toString();
}
return rs;
}
public void executeUpdate(String query){
try {
Statement st = db.createStatement();
st.executeUpdate(query);
} catch (SQLException ex) {
ex.printStackTrace();
errore = ex.toString();
}
}
public boolean isConnesso(){
return this.connesso;
}
public String getErrore(){
return this.errore;
}
}
nel main quando chiamo il metodo connetti ottengo questo :
run:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
Last packet sent to the server was 0 ms ago.
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:406)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2103)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
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:406)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
at contacts.dbOperations.connetti(dbOperations.java:16)
at contacts.Main.main(Main.java:8)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.<init>(Socket.java:366)
at java.net.Socket.<init>(Socket.java:209)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:253)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:280)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2026)
... 13 more
Questo avviene facendo girare il programma in una macchina con os. visa ultimate 64 bit.Lo stesso codice gira alla perfezione sul mio nb che monta vista business 32 bit.
Avete qualche supposizione?