Newsgroup: it.comp.java
Titolo: Applet JDBC





Qualcuno mi sa spiegare perchè l'istruzione Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); genera un exception java.lang.ClassNotFoundException: sun/jdbc/odbc/JdbcOdbcDriver, mentre se riporto il codice in un'application non ho tale problema? 


Grazie




APPLET




import java.awt.*;


import java.applet.*;


import java.sql.*;




public class cm extends Applet


{


        
private Choice ch;




        
public void init()


        
{




                
ch = new Choice();


                

                
try


                
{


                        
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");


                        
//Connessione al db Access97 Test.mdb


                        
Connection con = DriverManager.getConnection ("jdbc:odbc:Test");


                        
Statement Exlstmt = con.createStatement();


                        
ResultSet Exlrs = Exlstmt.executeQuery ("select SOGG_NOME from soggetti");


                        
while (Exlrs.next())


                        
{


                                
ch.add(Exlrs.getString(1));


        

                        
}








                
}




                

                
catch (Exception e)


                
{


                        
ch.add(e.toString());


                
}






                
this.add(ch);




        
}       




}








APPLICATION




import java.awt.*;


import java.sql.*;




public class cm1 


{


        
public static void main (String args[])


        
{       


                
Choice ch = new Choice();


                
try


                
{


                        



                        
Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");  


                        
//Connessione al db Access97 Test.mdb


                        
Connection con = DriverManager.getConnection ("jdbc:odbc:TEST");


                        
Statement Exlstmt = con.createStatement();


                        
ResultSet Exlrs = Exlstmt.executeQuery ("select SOGG_NOME from soggetti");


                        
while (Exlrs.next())


                        
{


                                
System.out.println (Exlrs.getString(1));


                                



                        
}


                        

                
}


                
catch (Exception e)


                
{


                        
System.out.println("Error");


                
}




                

        
}


        





}







Applet JDBCIl motivo risiede nel fatto che la tua applet non può accedere ad
un base dati
sulla macchina inquanto la virtual machine non lo consente.
Ricorda sempre che una applet non può accedere alle risorse della macchina
locale su cui sta girando.
In genere quando si accede ad una base dati tramite una applet è necessario
utilizzare un bridge residente sul server da cui viene scaricata la applet,
e che
fa da ponte tra la applet e la base dati.
--
Massimiliano Tarquini
E-Mail:tarq...@all-one-mail.net
-------------------------------------------------------------------
Java Mattone dopo Mattone, il manuale Java online
http://www.java-net.tv/jmonline
-------------------------------------------------------------------
"Se, in un primo momento, l'idea non è assurda, allora
non c'è nessuna speranza che si realizzi".
A. Einstein
-------------------------------------------------------------------

 wrote in message
news:9b1j73$6vf0u$1...@ID-69761.news.dfncis.de...


 sicurezza delle applet, sulla stessa macchina dove sta il web server.
Non č vero, puoi avere una servlet che interroga una base dati su una
terza macchina. Questo perchč la servlet gira sul server, e puņ fare
quel che le pare (eventuali politiche di sicurezza permettendo,
ovviamente). 
Ciao,
	Stefano
----------
"X WindowSSS, teSSSoro mio... lo odieremo per SSSempre"
Bill Gollum
----------

 locale su cui sta girando.
A dire il vero l'errore dice semplicemente che la classe non è presente
nel classpath. E poi l'applet può accedere alle risorse, se però è
firmata.


 ha 
  scritto nel messaggio 
news:D3DF69A0F2EED411AD7...@hydra2.siag.it
...


 wrote in message
news:3AD45B6A...@sdb.it...


 browser se il package non può essere utilizzato? :0))
Ma probabilmente il package non c'è proprio :)
