Newsgroup: it.comp.java
Titolo: Problema con la connessione al database.





Ciao a tutti,


ho un problema con la connessione a 
oracle.


Sto seguendo un'installazione in remoto ed ho un 
programma java che popola un database.


Il problema è che non riesco a fare la connessione con 
il database, l'errore che ho è il seguente:




Exception in thread „main" 
java.lang.UnsatisfiedLinkError: do_open


    at 
oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java)


    at 
oracle.jdbc.driver.OracleConnection.(init)(OracleConnection.java)


    at 
oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java)


    at 
oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java)


    at 
java.sql.DriverManager.getConnection(DriverMAnager.java:457)


    at 
java.sql.DriverManager.getConnection(DriverManager.java:137)


at 
commoninterface.CommonInterface(init)(CommonInterface.java:63)


il codice in cui si verifica l'errore è:


public CommonInterface(String role,String pwdrole) 
throws ClassNotFoundException{
   
try{
  DriverManager.registerDriver(new 
oracle.jdbc.driver.OracleDriver());
  conn=DriverManager.getConnection("jdbc:oracle:oci8:@orcldb",role,pwdrole);  
   
}
   catch(SQLException se){
   
 System.err.println("Error: Cannot create required 
connection.");
    se.printStackTrace();
   
} 
 }


 


Il fatto strano è che questo codice funziona sulla 
nostra macchina.


C'è qualcuno che sa darmi qualche 
suggerimento?


 


Grazie 


    
Cinzia



 ho un problema con la connessione a oracle.
A naso sembra essere un problema di comunicazione tra la classe java e
il codice nativo sottostante.
Due domande:
1. funziona l'Oracle client su quella macchina? Hai provato a
connetterti a orcldb con SQL*Plus?
2. perchè non usi il thin driver? ;)
Ciao, Cris
-- 
Cristian Veronesi ><((((º> 
http://www.crpa.it
"Ma quella roba bianca sopra non è zucchero vanigliato. E` muffa.
 E tutti lì a dire: che buono, sa di funghi!" (A. Baricco)

 Exception in thread "main" java.lang.UnsatisfiedLinkError: do_open
"unsatisfiedlink" mi fa pensare al driver vecchio... non e' che
state usando due diverse versioni di driver per Oracle?
Davide




"orcldb" è un alias ad un insieme di caratteristiche di un'istanza
Oracle, devi avere installato oracle client sulla macchina che vuole connettersi
con i drivers oci.

Cinzia Rubattino wrote:



Ciao a tutti,
ho
un problema con la connessione a oracle.
Sto
seguendo un'installazione in remoto ed ho un programma java che popola
un database.
Il problema è che non riesco
a fare la connessione con il database, l'errore che ho è il seguente:
Exception
in thread „main" java.lang.UnsatisfiedLinkError: do_open


    at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java)


    at oracle.jdbc.driver.OracleConnection.(init)(OracleConnection.java)


    at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java)


    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java)


    at java.sql.DriverManager.getConnection(DriverMAnager.java:457)


    at java.sql.DriverManager.getConnection(DriverManager.java:137)


at commoninterface.CommonInterface(init)(CommonInterface.java:63)
il
codice in cui si verifica l'errore è:
public
CommonInterface(String role,String pwdrole) throws ClassNotFoundException{


   try{


  DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());


  conn=DriverManager.getConnection("jdbc:oracle:oci8:@orcldb",role,pwdrole);


   }


   catch(SQLException se){


    System.err.println("Error:
Cannot create required connection.");


    se.printStackTrace();


   }


 }
 
Il
fatto strano è che questo codice funziona sulla nostra macchina.
C'è
qualcuno che sa darmi qualche suggerimento?
 
Grazie
   
Cinzia





   
conn=DriverManager.getConnection("jdbc:oracle:oci8:@orcldb",role,pwdrole);
Il problema e' che usi :oci8: significa che dalla macchina dalla quale lo 
lanci ci deve essere installato il client Oracle (+ o - 100 mega di roba).
Devi inoltre avere settato ORACLE_SID e ORACLE_HOME prima di lanciare il 
client java o (se sei applet) il browser.
In alternativa anziche' oci8 usa thin. Non richiede nulla di tutto questo.
Saluti





La macchina che si connette al database è il server 
stesso.


Inoltre sul nostro server la cosa 
funziona.


Non riusciamo a capire il motivo per cui non funzioni 
in questo caso.


Qualche altra idea?


 


Grazie 


    Cinzia


 






Oracle client è installato?

Cinzia Rubattino wrote:



La macchina
che si connette al database è il server stesso.
Inoltre
sul nostro server la cosa funziona.
Non riusciamo
a capire il motivo per cui non funzioni in questo caso.
Qualche
altra idea?
 
Grazie
   
Cinzia
 





 Oracle client è installato?
Non e' necessario installare il client di Oracle se vuoi
connetterti ad un database, bastano i driver (io l'ho fatto su
una macchina Unix). In ogni caso se sulla stessa macchina e'
installato il server Oracle, il client e' installato per default.
Davide

 connetterti ad un database, bastano i driver
Attenzione: questo è vero soltanto se usi il *thin* driver. Il driver
OCI accede alle librerie native di Oracle client che per l'appunto deve
essere installato.


Ho controllato il path(come qualcuno mi aveva
suggerito di fare): ci sono le Dll OCI8.
Avete altri suggerimenti?
Grazie 
  Cinzia
______________________________________________________________________
Do You Yahoo!?
Il tuo indirizzo gratis e per sempre @
yahoo.it
 su 
http://mail.yahoo.it
-- 
Posted from 
web5409.mail.yahoo.com
 [216.115.106.201] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG