PDA

View Full Version : Problemi driver oracle


Nemok
20-06-2003, 11:23
Devo testare una connessione JDBC ad un db oracle 9.2.0.1
Il mio programmino di test in java appare così:

------------------------
import java.sql.*;

class Principale{

Connection conn;
Principale(){conn = creaConnessione();}

/* Crea la connessione e la restituisce*/

Connection creaConnessione(){
Connection conn =null;
String uri, user, pass;
uri = "jdbc:oracle:thin:@ip_del_server:porta:sid_del_db";
user = "miouser";
pass = "miapassword";
try {
Driver d = new oracle.jdbc.OracleDriver();
DriverManager.registerDriver(d);
conn = DriverManager.getConnection("uri","user","pass");
} catch (SQLException e) {System.out.println("errore connessione"+e);}

return conn;
}


public static void main(String[] args){
Principale p = new Principale();
try {
p.conn.close();
} catch (SQLException ex) {System.out.println("errore chiusura connessione"+ex);}
System.out.println("Connessione chiusa");
}

}
----------------------

Compila correttamente ma in esecuzione mi da:

errore connessionejava.sql.SQLException: No suitable driver
Exception in thread "main" java.lang.NullPointerException
at Principale.main(Principale.java:75) --->la linea di p.conn.close()


Sto lavorando su una macchina con win2000 pro,ho creato una variabile d'ambiente CLASSPATH impostata così:

C:\Strumenti\fiji.jar;C:\JBuilder7\jdk1.3.1\bin;.;C:\Documents and Settings\apettini\Desktop\DriverOracle\classes12.zip

ho provato anche ad farlo puntare alla dir che contiene il driver anzi che direttametne al classes12.zip,ho provato a scompattare lo zip e mettere nel classpath la dir ottenuta ma a quanto pare non lo vede!La cosa mi puzza anche perchè un'altro package (jar) che avevo aggiunto al classpath non mi viene visto in un'altro programma...cosa sbaglio?
:(

Nemok
20-06-2003, 12:46
Mi sorge un dubbio:ma il CLASSPATH può essere impostato come variabile utente o deve essere per forza una variablie di sistema?Non per niente è che non ho accesso come amministratore a questa macchina....

kingv
20-06-2003, 12:49
hai solo dimenticato un pezzo ;) :



Driver d = new oracle.jdbc.driver.OracleDriver();

Nemok
20-06-2003, 13:06
Mi sembrava di aver visto entrambe le versini in giro,comunque anche modificato come mi hai consigliato rimane lo stesso errore...... :confused:

kingv
20-06-2003, 13:55
Originally posted by "Nemok"

Mi sembrava di aver visto entrambe le versini in giro,comunque anche modificato come mi hai consigliato rimane lo stesso errore...... :confused:

mi sorge un dubbio: il classpath lo setti anche in esecuzione oltre che in compilazione?

Nemok
20-06-2003, 14:52
azz non sapevo di questa differenza... :confused:
In effetti se tolgo il driver dal classpath non compila nemmeno giustamente,in questo modo invece compila ma non trova il driver in esecuzione.....boh!

Come si imposta anche in esecuzione?!?Deve esserrci comunque qualcosa che non va con sto classpath,l'altra classe che mi testa un package continua a non compilare nemmeno....mah!Con linux in 20 secondi tutto ok,qui mi sto perdendo un po'......sono un po' arruginito di win.... :p

Nemok
20-06-2003, 15:05
Intanto ho beccato uno stupido errore... :rolleyes:
mettevo le stringhe "uri" "user" e "pass" anzi che le variabili..... :muro:

Ora però l'errore è:
errore connessione java.sql.SQLException: Io exception: The Network Adapter could
not establish the connection
Exception in thread "main" java.lang.NullPointerException
at Principale.main(Principale.java:75)

kingv
20-06-2003, 15:15
il DB e' in locale o su una macchina remota?
se e' in remoto arrivi a pingarla?

Nemok
20-06-2003, 15:32
Si è su un'altra macchina e riesco a pingarla.
Il db è raggiungibile perchè tramite un'altra applicazione (in VB) riesco a interrogarlo...

Nemok
20-06-2003, 15:37
Sembra che ora quantomeno trovi il db,ho cambiato porta di connessione.Però mi rifiuta la connessione..... :cry:

errore connessione java.sql.SQLException: Io exception: Connection refused(DESCR
IPTION=(TMP=)(VSNNUM=153092352)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=
4))))
step 1
Exception in thread "main" java.lang.NullPointerException
at Principale.main(Principale.java:75)

Nemok
20-06-2003, 16:24
VAbbè me la canto e me la suono.... :D
L'amministratore mi aveva dato il SID sbagliato........ :mad: :muro: