|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
[JAVA/Applet] Accedere ad un db da applet...
ho problemi....ovviamente
Codice:
public void init(){
Button bb=new Button("Apri");
bb.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
JOptionPane.showMessageDialog(null , "eccodi");
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //driver ODBC generale, per collegarsi a qualsiasi database
JOptionPane.showMessageDialog(null , "connessione al jdbc");
/*****
*
* A QUESTO PUNTO SI BLOCCA
*
******/
Connection db = DriverManager.getConnection("jdbc:odbc:nomedatabase");
JOptionPane.showMessageDialog(null , "database");
} catch (SQLException e) {
JOptionPane.showMessageDialog(null ,""+e.getMessage());
} catch (ClassNotFoundException e) {
JOptionPane.showMessageDialog(null ,""+e.getMessage());
}
JOptionPane.showMessageDialog(null , "connessione NON riuscita...");
}
});
IN PRATICA NON MI CARICA IL DRIVER....SECONDO VOI PERCHè??? COME DEVO PROCEDERE???
__________________
My gaming placement |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Potresti postare la javaconsolle? Vorrei vedere che eccezione ti da, se ne solleva una.
Accedere a un database tramite driver JDBC-ODBC da una applet implica un po' di cosucce che hanno a che fare con la sicurezza, se non ricordo male. Mi pare che sia necessario utilizzare un driver JDBC di Tipo 4... Prova a cercare con google qualche articolo della Sun A proposito, a che db si deve connettere la tua applet? |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
ora sto facendo delle prove in locale....grazie comunque per l'attenzione
__________________
My gaming placement |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
ok...sono mongoloide (non di origini, ma di cervello...) ecco il log
Codice:
Java Plug-in 1.6.0_03 Uso della versione JRE 1.6.0_03 Java HotSpot(TM) Client VM Directory principale utente = C:\Documents and Settings\franksisca ---------------------------------------------------- c: cancella finestra console f: finalizza oggetti nella coda di finalizzazione g: recupera spazio h: visualizza questo messaggio di aiuto l: esegui dump dell'elenco classloader m: stampa utilizzo memoria o: attiva registrazione eventi p: ricarica configurazione proxy q: nascondi console r: ricarica configurazione criteri s: esegui dump delle proprietà del sistema e dell'installazione t: esegui dump dell'elenco thread v: esegui dump dello stack del thread x: cancella cache classloader 0-5: imposta livello di traccia su <n> ---------------------------------------------------- access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc) java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc) at java.security.AccessControlContext.checkPermission(Unknown Source) at java.security.AccessController.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPackageAccess(Unknown Source) at sun.applet.AppletSecurity.checkPackageAccess(Unknown Source) at sun.applet.AppletClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at net.smartlab.applet.Database.connetti(Database.java:35) at net.smartlab.applet.TestApplet$1.actionPerformed(TestApplet.java:29) at java.awt.Button.processActionEvent(Unknown Source) at java.awt.Button.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) false java.lang.NullPointerException at net.smartlab.applet.Database.eseguiQuery(Database.java:85) at net.smartlab.applet.TestApplet$1.actionPerformed(TestApplet.java:32) at java.awt.Button.processActionEvent(Unknown Source) at java.awt.Button.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Exception in thread "AWT-EventQueue-2" java.lang.NullPointerException at net.smartlab.applet.TestApplet$1.actionPerformed(TestApplet.java:38) at java.awt.Button.processActionEvent(Unknown Source) at java.awt.Button.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
__________________
My gaming placement |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Jul 2005
Messaggi: 291
|
Vedi pure se non hai dimenticato di inizializzare qualcosa, vedo pure una NullPointerException. Il driver ODBC nel pannello di controllo l'hai settato, vero?
__________________
CPU: Intel Core 2 Quad Q6600 - Mobo: Asus P5E - RAM:4x2GB DDR2 - sk video: Power Color ATI Radeon HD3870 - HD:Western Digital 750GB |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
connessione è fatta....sbagliavo io na cosa semplice, manca ora la gestione delle firme...se ho problemi vi faccio sapere
__________________
My gaming placement |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Codice:
Java Plug-in 1.6.0_03 Uso della versione JRE 1.6.0_03 Java HotSpot(TM) Client VM Directory principale utente = C:\Documents and Settings\franksisca ---------------------------------------------------- c: cancella finestra console f: finalizza oggetti nella coda di finalizzazione g: recupera spazio h: visualizza questo messaggio di aiuto l: esegui dump dell'elenco classloader m: stampa utilizzo memoria o: attiva registrazione eventi p: ricarica configurazione proxy q: nascondi console r: ricarica configurazione criteri s: esegui dump delle proprietà del sistema e dell'installazione t: esegui dump dell'elenco thread v: esegui dump dello stack del thread x: cancella cache classloader 0-5: imposta livello di traccia su <n> ---------------------------------------------------- access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc) java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc) at java.security.AccessControlContext.checkPermission(Unknown Source) at java.security.AccessController.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPackageAccess(Unknown Source) at sun.applet.AppletSecurity.checkPackageAccess(Unknown Source) at sun.applet.AppletClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at net.smartlab.applet.Database.connetti(Database.java:35) at net.smartlab.applet.TestApplet$1.actionPerformed(TestApplet.java:29) at java.awt.Button.processActionEvent(Unknown Source) at java.awt.Button.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) java.lang.NullPointerException at net.smartlab.applet.Database.eseguiQuery(Database.java:85) at net.smartlab.applet.TestApplet$1.actionPerformed(TestApplet.java:32) at java.awt.Button.processActionEvent(Unknown Source) at java.awt.Button.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Exception in thread "AWT-EventQueue-2" java.lang.NullPointerException at net.smartlab.applet.TestApplet$1.actionPerformed(TestApplet.java:38) at java.awt.Button.processActionEvent(Unknown Source) at java.awt.Button.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
__________________
My gaming placement |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
boyz.....il mio ultimo problema sembra ostico ( o meglio, sono io in questo periodo ostico di cervello...), ma nella guida per firmare le applet si parla di jar.....come faccio a far caricare un jar come applet???
__________________
My gaming placement |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
ho firmato l'applet (molto semplice in realtà), ma mi dà ancora problemi di accesso al db......sempre lo stesso errore di sopra.....a cosa è dovuto secondo voi???
chi mi può aiutare???
__________________
My gaming placement |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
ma quando carichi l'applet ti chiede la conferma di esecuzione facendoti visualizzare il certificato?
In quel caso, se tu accetti l'esecuzione, non dovresti avere problemi...forse a meno di conflitti con il .policy file specificato nella home. Con java web start settare delle policy personalizzate è una cavolata... Con le applet sinceramente non mi ricordo come si possa fare. ..Ma è proprio necessario usare un'applet? ![]() Se non devi integrare il contenuto per forza in una pagina web, secondo me ti conviene *assolutamente* usare Java Web Start.
__________________
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
mi dici come settare il policy, non l'ho mai fatto e non saprei da dove partire usi sybase??? mi dà uno strano errore anella clausola where, mi dà errore sull' '='.....il che è strano
__________________
My gaming placement |
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
connessione fatta (i misteri dell'informatica, ho rifatto tutta la procedura di firma e, il jar e l'html daccapo e funziona).
ora mi connetto al database, quando pero vado a fare una query mi dà questo errore : Codice:
java.sql.SQLException: [Sybase][ODBC Driver][Adaptive Server Anywhere]Syntax error or access violation: near 'as' in ..._tb_alu_alunni [as] tab, sissi_tb_usr_... at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source) at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source) at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(Unknown Source) at sun.jdbc.odbc.JdbcOdbcStatement.execute(Unknown Source) at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(Unknown Source) at net.smartlab.applet.Database.eseguiQuery(Database.java:109) at net.smartlab.applet.TestApplet$1.actionPerformed(TestApplet.java:21) at java.awt.Button.processActionEvent(Unknown Source) at java.awt.Button.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Exception in thread "AWT-EventQueue-2" java.lang.NullPointerException at net.smartlab.applet.TestApplet$1.actionPerformed(TestApplet.java:32) at java.awt.Button.processActionEvent(Unknown Source) at java.awt.Button.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
__________________
My gaming placement |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
questa è la query...
Codice:
+ "SELECT tab.fs_alu_id," + "tab.fs_alu_matr, tab.fs_alu_cogn, tab.fs_alu_nome," + " tab.fd_alu_dtn, tab.fs_alu_sex, tab.fs_alu_citt_id," + "tab.fs_alu_indi, tab.fs_alu_cap, tab.fs_alu_com_id, " + "tab.fs_alu_tel, tab.fs_alu_annot, tab.fs_alu_email," + "tab.fs_alu_tel2, comuni.fs_comuni_pr" + "FROM sissi_tb_alu_alunni as tab, sissi_tb_usr_comuni as comuni" + "WHERE comuni.fs_comuni_pr= tab.fs_alu_com_id" + "");
__________________
My gaming placement |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Prova a cambiare questa linea
Codice:
+ "SELECT tab.fs_alu_id," + "tab.fs_alu_matr, tab.fs_alu_cogn, tab.fs_alu_nome," + " tab.fd_alu_dtn, tab.fs_alu_sex, tab.fs_alu_citt_id," + "tab.fs_alu_indi, tab.fs_alu_cap, tab.fs_alu_com_id, " + "tab.fs_alu_tel, tab.fs_alu_annot, tab.fs_alu_email," + "tab.fs_alu_tel2, comuni.fs_comuni_pr" + "FROM sissi_tb_alu_alunni as tab, sissi_tb_usr_comuni as comuni" + "WHERE comuni.fs_comuni_pr= tab.fs_alu_com_id" + ""); Codice:
+ "FROM sissi_tb_alu_alunni tab, sissi_tb_usr_comuni comuni" Codice:
+ "FROM sissi_tb_alu_alunni = tab, sissi_tb_usr_comuni = comuni" |
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
la seconda l'ho provata, la terza no.....provo e ti faccio sapere
__________________
My gaming placement |
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
allora, l'applet accede....funziona tutto, ho solo qualche problema con sybase che non riesco a risolvere:
questa query mi dà problemi: Codice:
Vector v = db.eseguiQuery(""
+ "SELECT "
+ "fs_alu_id,"
+ "fs_alu_matr, "
+ "fs_alu_cogn, "
+ "fs_alu_nome,"
+ "fd_alu_dtn, "
+ "fs_alu_sex, "
+ "fs_alu_citt_id,"
+ "fs_alu_indi,"
+ "fs_alu_cap, "
+ "fs_alu_com_id, "
+ "fs_alu_tel, "
+ "fs_alu_annot, "
+ "fs_alu_email,"
+ "fs_alu_tel2 "
+ "tb_usr_comuni.fs_comuni_pr "
"FROM tb_alu_alunni "// , tb_usr_comuni "
+ "WHERE tb_usr_comuni.fs_comuni_pr = fs_alu_com_id"
+ "");
questa no (ho commentato il codice che dovrebbe darmi problemi, e infatti funziona!!!) Codice:
Vector v = db
.eseguiQuery(""
+ "SELECT "
+ "fs_alu_id,"
+ "fs_alu_matr, "
+ "fs_alu_cogn, "
+ "fs_alu_nome,"
+ "fd_alu_dtn, "
+ "fs_alu_sex, "
+ "fs_alu_citt_id,"
+ "fs_alu_indi,"
+ "fs_alu_cap, "
+ "fs_alu_com_id, "
+ "fs_alu_tel, "
+ "fs_alu_annot, "
+ "fs_alu_email,"
+ "fs_alu_tel2 "
//+ "tb_usr_comuni.fs_comuni_pr "
+ "FROM tb_alu_alunni "// , tb_usr_comuni "
//+ "WHERE tb_usr_comuni.fs_comuni_pr = fs_alu_com_id"
+ "");
__________________
My gaming placement |
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Dec 2001
Città: Napoli
Messaggi: 3249
|
scusate l'intromissione... ma evito di aprire un nuovo 3d :
accedere ad un database con un applet non è molto sicuro, in quanto se si decompila i .class dell'applet è possibile risalire alle credendiali di accesso al db. giusto ? e se l'utente che utilizzo ha dei limiti sulle operazioni che può fare sul db, in questo modo sarei in una buona condizione di sicurezza ? inoltre, firmare l'applet in questo modo è corretto ? http://www.max74.it/blog/2007/11/signed-jar.html grazie 1000!
__________________
Codice:
Concluso con[OK BAD]: ercagno,Claudio, Antopx, Lunaticgate, Deuced, Nicola5154,nEA[x2], Lupino.86, ironfrank, Marxio, luke10, Sniper86, alexis1980, Andrea16v[x3], Red_Rose, mitsuhashi1, antanio, Rinos, flavix25, geolite30, cianuro, spzerosp, GoldFinder, Zagor4, Mercurius00, Leland Gaunt, Iron10, tyco74, Clatit, PaPuAsja, onka, jing13, _19Fabio85_, Murakami, raizen89, dinigio63, ncerozz, rtype, Isotattico, vinz86, valdisteadsl, battalion75 Ultima modifica di franklyn : 16-01-2009 alle 00:45. |
|
|
|
|
|
#19 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
certo che se non hai dati sensibili te ne puoi fregare.. ma non la vedo molto bella come soluzione...
__________________
|
|
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Dec 2001
Città: Napoli
Messaggi: 3249
|
ok, nemmeno se l'applicazione di cui parlo gira in una intranet ? quindi un ambiente più o meno "sicuro" ?
__________________
Codice:
Concluso con[OK BAD]: ercagno,Claudio, Antopx, Lunaticgate, Deuced, Nicola5154,nEA[x2], Lupino.86, ironfrank, Marxio, luke10, Sniper86, alexis1980, Andrea16v[x3], Red_Rose, mitsuhashi1, antanio, Rinos, flavix25, geolite30, cianuro, spzerosp, GoldFinder, Zagor4, Mercurius00, Leland Gaunt, Iron10, tyco74, Clatit, PaPuAsja, onka, jing13, _19Fabio85_, Murakami, raizen89, dinigio63, ncerozz, rtype, Isotattico, vinz86, valdisteadsl, battalion75 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:39.





















