Différences entre classes12.jar, ojdbc14.jar, ojdbc5.jar et ojdbc6.jar

10

Nous prévoyons de mettre à niveau nos serveurs d'applications vers une nouvelle version de JRun qui emporte avec elle une mise à niveau de Java 1.4 vers Java 1.6. Dans le cadre de cela, nous avons testé divers éléments de notre pile logicielle et réalisé la nécessité de regarder également nos pilotes Oracle JDBC.

En regardant le site et la documentation Oracle, les différentes versions semblent viser principalement différentes versions de l'API JDBC, qui correspondent généralement à la version de la JVM dans laquelle elles ont été introduites. Avec Java (généralement) étant rétrocompatible, il semble que s'en tenir à ojdbc14.jar aurait peut-être le plus de sens, mais j'espérais que quelqu'un pourrait clarifier les choses un peu mieux.

Les documents appellent spécifiquement un graphique comme celui-ci, ce qui me fait me demander si ojdbc14.jar est officiellement pris en charge sous 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

Y a-t-il quelque chose dont je devrais être conscient du point de vue des systèmes lors du mélange et de la correspondance des pilotes et des machines virtuelles?

Goyuix
la source
Notez que ce n'est pas un numéro de version, donc ojdbc14.jar n'est pas plus ancien / plus compatible que ojdbc6.jar, il utilise simplement un format de fichier de classe inférieure et pas toutes les fonctionnalités JDBC. Oracle recommande d'utiliser toujours la dernière version du client instantané - même lorsque votre base de données est une version antérieure.
Eckes

Réponses:

6

Oui, vous pouvez exécuter les pilotes plus petits sur les nouvelles versions de Java. C'est juste que ojdbc14.jar ne contient pas les fonctionnalités JDBC3 et JDBC4.

Vous devez différencier le temps d'exécution et le temps de compilation. Au moment de l'exécution, vous pouvez utiliser ojdbc14.jar dans un JRE6 tant que le code de votre application n'utilise pas les fonctionnalités JDBC4. Si vous souhaitez utiliser ojdbc14.jar dans le chemin de génération, vous pouvez rencontrer des problèmes avec la méthode non implémentée.

Cependant, je suggère généreusement d'utiliser les derniers pilotes JDBC (c'est-à-dire 11.1.0.7) et la version la plus élevée possible. (Quelle que soit la version DB).

Utilisez-vous le mode OCI ou THIN?

eckes
la source
Nous utilisons le mode MINCE.
Goyuix
1
utiliser la version la plus élevée disponible = plus de bugs corrigés ...
slovon
1
@slovon il existe en fait un document de certification d'Oracle qui vous indique quels pilotes peuvent être utilisés avec quelle base de données. les pilotes 12.1 sont certifiés 12.1 et 11.2. Pour les anciens SGBDR, vous avez besoin des pilotes 11.1. (Et le client 12.1 est également livré avec un ojdbc7.jar, mais pas dans InstantClient)
vérifie