Connessione diretta a mysql tramite connector jdbc
Ciao a tutti mi trovo con questo problema:
codice:
09-08 21:00:36.110: I/System.out(11391): test
09-08 21:00:36.195: I/System.out(11391): com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
09-08 21:00:36.195: I/System.out(11391): The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
Dal telefono ho provato con applicazioni di connessione a mysql è funziona tutto bene, (questo per verificare che non ci fossero problemi di accettazione di connessioni remote da parte del server db), inoltre ho preso lo stesso codice (che è un codice copiato da internet :p) è ho creato un'applicazione java da far girare in locale e.... funziona!!! :(
Sia sul db locale (windows) che sul mio server (linux Ubuntu).
Cercando l'errore su google, ho trovato solo riferimenti ai file di configurazione sull'accesso remoto del db, ma non è il mio caso.
vi posto il codice:
codice:
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn =
DriverManager.getConnection(
"jdbc:mysql://10.0.0.88:3306/test?" + "user=root&password=mysqlpwd"
);
Statement stmt;
PreparedStatement pstmt;
ResultSet rs;
// creo la tabella
stmt = conn.createStatement();
stmt.executeUpdate("DROP TABLE IF EXISTS students");
stmt.executeUpdate("CREATE TABLE students " +
"(id INTEGER primary key auto_increment, " +
"firstname TEXT NOT NULL, " +
"lastname TEXT NOT NULL)");
// inserisco due record
pstmt = conn.prepareStatement("INSERT INTO students " +
"(firstname, lastname) values (?,?)");
pstmt.setString(1, "pippo");
pstmt.setString(2, "Rossi");
pstmt.execute();
pstmt.setString(1, "Marco");
pstmt.setString(2, "Bianchi");
pstmt.execute();
// recupero i dati
rs = stmt.executeQuery("SELECT * from students");
while(rs.next())
{
System.out.println("id: " + rs.getString("id"));
System.out.println("firstname: " + rs.getString("firstname"));
System.out.println("lastname: " + rs.getString("lastname"));
System.out.println("--------------------------------------");
}
pstmt.close(); // rilascio le risorse
stmt.close(); // rilascio le risorse
conn.close(); // termino la connessione
}
catch(ClassNotFoundException e)
{
System.out.println(e);
}
catch(SQLException e)
{
System.out.println(e);
}
potrei dover aggiungere dei permessi particolari al manifest.xml?
ecco i permessi attualmente settati:
codice:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
Per il momento vi ringrazio