Differenze tra classes12.jar, ojdbc14.jar, ojdbc5.jar e ojdbc6.jar


10

Stiamo programmando di aggiornare i nostri server delle applicazioni a una nuova versione di JRun che porta con sé un aggiornamento da Java 1.4 a Java 1.6. Inoltre, abbiamo testato vari pezzi del nostro stack di software e ci siamo resi conto della necessità di esaminare anche i nostri driver Oracle JDBC.

Guardando il sito e la documentazione di Oracle, le diverse versioni sembrano principalmente indirizzare a varie versioni dell'API JDBC, che tendono a corrispondere alla versione della JVM in cui sono state introdotte. Con Java (generalmente) essendo retrocompatibile, sembra attenersi a ojdbc14.jar potrebbe avere più senso, ma speravo che qualcuno là fuori potesse chiarire un po 'meglio le cose.

I documenti in particolare richiamano un grafico come questo, il che mi fa chiedere se ojdbc14.jar è ufficialmente supportato da Java 6.

classes12.jar - for Java 1.2 and 1.3
ojdbc14.jar - for Java 1.4 and 1.5
ojdbc5.jar - for Java 1.5
ojdbc6.jar - for Java 1.6

C'è qualcosa di cui dovrei essere consapevole dal punto di vista dei sistemi quando mescolo e abbino driver e macchine virtuali?


Nota che questo non è un numero di versione, quindi ojdbc14.jar non è più vecchio / più compatibile di ojdbc6.jar, utilizza solo un formato di file di classe inferiore e non tutte le funzionalità JDBC. Oracle consiglia di utilizzare sempre l'ultima versione del client istantaneo, anche quando il DB è una versione precedente.
Verifica il

Risposte:


6

Sì, puoi eseguire i driver più piccoli su versioni java più recenti. È solo che ojdbc14.jar non contiene le funzionalità JDBC3 e JDBC4.

Devi distinguere tra tempo di esecuzione e tempo di compilazione. In fase di esecuzione è possibile utilizzare ojdbc14.jar in un JRE6 purché il codice dell'app non utilizzi le funzionalità JDBC4. Se si desidera utilizzare ojdbc14.jar nel percorso di costruzione, è possibile che si verifichino problemi con il metodo non implementato.

Comunque suggerisco genericamente di usare i driver JDBC più recenti (ovvero 11.1.0.7) e la versione più alta possibile. (Non importa quale sia la versione del DB).

Stai utilizzando la modalità OCI o THIN?


Stiamo usando la modalità THIN.
Goyuix,

1
usa la versione più alta disponibile = più bug corretti ...
slovon,

1
@slovon in realtà esiste un documento di certificazione di Oracle che ti dice quali driver possono essere usati con quale DB. i driver 12.1 sono certificati con 12.1 e 11.2. Per RDBMS meno recenti sono necessari i driver 11.1. (E il client 12.1 viene fornito con un ojdbc7.jar, ma non in InstantClient)
bene l'
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.