Buongiorno.
Sto cercando di muovere i primi passi con l'utilizzo dei datasource in J2EE, ma fatico a trovare una documentazione chiara e tra le decine di messaggi sui forum non neo ho trovato uno che abbia fatto al caso mio.
Ho configurato sotto Eclipse sia un XML Datasource "Miodatasource" (che punta ad un xml posizionato sotto WEB-INF), sia una Database connection "miodatasource" (con la minuscola, altrimenti il nome è doppio). Entrambi contengono i dati per il collegamento e pingano e si connettono regolarmente.
Innanzitutto confesso che non ho capito bene la differenza tra i due: hanno utilizzi diversi? Uno si appoggia sull'altro?
Immagino però che quello che posso usare nel mio java sia il Datasource propriamente detto (quello configurato dall'xml) ... o no?
Comunque sia, con il codice qui sotto ho provato a connettermi senza risultato tramite l'uno e tramite l'altra, ma il lookup() non funziona.
Ho provato a seguire tutti gli esempi e le spiegazioni che ho trovato incodice:try { ctx = new InitialContext(); }catch(Exception e){System.out.println("->Non riesco a trovare il contesto iniziale" + e);} try { //ds =(javax.sql.DataSource)ctx.lookup("Miodatasource"); //ds =(javax.sql.DataSource)ctx.lookup("jdbc/Miodatasource"); ds =(javax.sql.DataSource)ctx.lookup("java:/comp/env/jdbc/Miodatasource"); }catch(Exception e){System.out.println("->Non riesco ad aprire il DataSource" + e);} // Connessione try { con = ds.getConnection(); }catch(Exception e){System.out.println("->Non riesco ad effettuare la connessione" + e);}
Internet, e come si vede dalle righe commentate, ho provato anche tutte le
combinazioni, ma il risultato in tutti i casi è:
23->Non riesco ad aprire il DataSource
javax.naming.NoInitialContextException: Need to specify class name in
environment or system property, or as an applet parameter, or in an
application resource file: java.naming.factory.initial
23->Non riesco ad effettuare la connessione
java.lang.NullPointerException
Cosa sto sbagliando?

Rispondi quotando