Finalmente ho il supporto a JDBC/Mysql!

Sto provando felicemente Lighttpd + Ruby on Rails + mysql5, ma in questi giorni DEVO per forza usare Tomcat + JDBC + database; ho deciso quindi di riciclare il mio bel db mysql5 con supporto UTF8 per utilizzarlo con Java/jsp

Beh niente di più facile:

apt-get install libmysql-java

 peccato che alla prima connessione

SQLException: No suitable driver

Capisco che probabilmente non mi vede quello che ho installato allora provo a metterlo in vari path:

/usr/share/java
/usr/lib/j2sdk-sun
..

Niente da fare non lo vede, ma allora lo passo io con

javac Testdb.java -classpath /usr/lib/j2sdk-sun/mysql-connector-java-5.0.0-beta-bin.jar

Non cambia assolutamente niente, cerca e ricerca vedo che qualcuno propone di usare Class.forName("com.mysql.jdbc.Driver").newInstance(); per inizializzare il driver, adesso l'errore cambia:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

Provo anche a scompattare il jar nella cartella di java ma non cambia nulla.
Cerco ancora e trovo che qualcuno consiglia di mettere sto benedetto in C:\Program Files\Java\jdk1.5.0_06\jre\lib\ext\ non ho Windows, ma ho anch'io una cartella intuitivamente simile:

 /usr/lib/j2sdk1.5-sun/jre/lib/ext

 Copio il jar dentro e tutto funziona.. mapporco Tomcat!

import java.sql.Connection;  
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;

class Testdb{

// Notice, do not import com.mysql.jdbc.*
// or you will have problems!
    public static void main(String[] args) {
       try {
            // The newInstance() call is a work around for some
            // broken Java implementations
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/typo_dev?user=root&password=");
System.out.println("funziona");
       } catch (Exception ex) {
            // handle the error
System.out.println("Non funziona");
            System.out.println("SQLException: " + ex.getMessage());
}
}
}

Aggiornamento: Anche per compilare le servlet in ubuntu ho dovuto aggiungere /usr/lib/java/servlet-2.3.jar al CLASSPATH

Rispondi

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.
  • Linee e paragrafi vanno a capo automaticamente.
Maggiori informazioni sulle opzioni di formattazione.