Newsgroup: it.comp.java
Titolo: ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver

Ciao a tutti,
l'applet ritorna questo errore:
java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver, ma il
database è stato inserito nel DSN utente.
Inoltre restituisce:
com.ms.security.SecurityExceptionEx[museo.init]: java.io.IOException: bad
path: D:\f4jce\sampledir\VRML\Museo\sun\jdbc\odbc\JdbcOdbcDriver.class.
Perchè questo errore se il database museo è nella directory Museo?
Grazie dell'aiuto!
pMB
www.proghettolab.it
Questo è il codice:
try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        } catch (ClassNotFoundException e) {System.out.println("NO
sun.jdbc.odbc.JdbcOdbcDriver > " + e);}
        try {
            Connection conn =
DriverManager.getConnection("jdbc:odbc:museo","","");
            Statement stmt = conn.createStatement();
            System.out.println("ok createStatement()");
            for (int p=1; p<3; p++) {
                ResultSet rs = stmt.executeQuery("SELECT * FROM quadri WHERE
ID_artista=" + p);
                int q = 1;
                while(rs.next()) {
                    anno[p][q] = rs.getLong("anno");
                    titolo[p][q] = rs.getString("titolo");
                    url_img[p][q] = rs.getString("url_img");
                    larghezza[p][q] = rs.getFloat("larghezza");
                    altezza[p][q] = rs.getFloat("altezza");
                    commento[p][q] = rs.getString("commento");
                    q++;
                }
                rs.close();
            }
            stmt.close();
            conn.close();
        } catch (SQLException se) {}

 path: D:\f4jce\sampledir\VRML\Museo\sun\jdbc\odbc\JdbcOdbcDriver.class.
non e' che hai cambiato il bootclasspath (opzione -Xbootclasspath)?
Potresti postare la riga di comando con cui avvii il programma?
-- 
__/\__ * this mail has been written by Talpa Stellare
\ TS / * che da piccolo una volta e' morto.
 |/\|  * icq# 78630739 - togli i caratteri maiuscoli x e-mail

 Perchè questo errore se il database museo è nella directory Museo?
Il tutto secondo me deriva dal fatto che si sta usando la JVM di
Microsoft...
Essendo un applet prova a controllare la configurazione del Java Plug-In
affinche si appongi al runtime (JRE) di Sun.
Magari però ho detto una cazzata!
Luca Paganelli

 wrote in message
jtcqra...@127.0.0.1...


 differenza è che sto facendo una applet.
Ti ho prospettato quest'ipotesi perche' vedo (prima riga quotata) che
la JVM sta cercando una classe di sistema, la JdbcOdbcDriver, nel path
delle classi utente, D:\f4jce\sampledir\VRML\Museo\.
Quindi ti consiglierei di dare un'occhiata non al codice bensi' alle
impostazioni di progetto per vedere se c'e' qualche opzione sballata.
Ciao!


Allora, in Forte 4 Java le proprietà del JDBC-ODBC Bridge sono:
Adaptor class = null
Database URL prefix = jdbc:odbc:<DB>
Driver = sun.jdbc.odbc.JdbcOdbcDriver
Name = JDBC-ODBC Bridge
Ma quallo che mi, e chiedo è:
perchè lo stesso codice in una classe funziona ed in un'applet no?

 perchè lo stesso codice in una classe funziona ed in un'applet no?
Un'applet e' eseguita nella JVM del browser, con le restrizioni che ne 
conseguono. 
-- 
Life's something u don't get out alive..
ObjectZone - 
http://space.tin.it/computer/csadun

 wrote in message
Xns92D16E01E4ED4cr...@130.133.1.4...


 Cosa devo fare per eliminare queste "restrizioni"?
Se la JVM del browser non ha il driver, c'e' poco da fare.
Se ce l'ha ma non puo' accedervi (perche' fa uso di codice nativo), devi
"firmare" l'applet. 
Cfr. la FAQ 
http://space.tin.it/computer/csadun/javafaq.html
 per una 
panoramica sulla cosa.
