Heute wollte ich den neuen superschnellen JBoss 7 mit unserer
Oracle-DB 10g (10.2.0.1) verheiraten. Der Server soll eine JNDI-Verbindung
zur Oracle-DB aufbauen und unsere Web-Anwendung greift per JNDI
darauf zu. Ich hole mir vorher noch auf der Oracle-Seite den passenden
JDBC-Treiber für die Version 10.2.0.1.
Nichts leichter als das, denke ich mir, google ein wenig und finde einen
schön kurzen, knackigen Artikel, wie das denn funktioniert:
http://blog.foos-bar.com/2011/08/jboss-as-7-and-oracle-datasource.html
Alles haarklein ausgeführt (Jar auf Server kopieren, XMLs anpassen), 3 mal
gegengecheckt, und es kommt, wie es kommen soll: klappt nicht! Aaaarrgh!
Hin und her überlegt, was der Fehler ist, aber es hilft nichts.
Der Kollege probiert den obigen Blog-Eintrag mit JBoss 7 auch aus und bei
ihm klappt’s tadellos. Na super!
Wo war der Fehler?
Der JDBC-Treiber für Oracle 10.x funktioniert im JBoss 7 nicht mit Oracle 10.x.
Lösung: Wir nehmen den JDBC-Treiber mit der Version 11 !
Was war das Problem?
Ich mutmaße: Der Treiber ist nicht JDBC4-konform. Bei älteren Treibern (hier:
JDBC 3) empfiehlt die JBoss-Doku die jdbc.jar händisch um einen Eintrag in der
META-INF zu erweitern, aber diese Maßnahme greift nicht.
Aber es kann auch einfach sein, dass der Jboss 7 schlichtweg mit dem 6 Jahre
alten Treiber ein “internes” Problem hat. Wie dem auch sei, Oracle 10g freut sich
über den JDBC-Treiber v11.