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 ) č 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