Oracle 10 Connect - JRE 5 vs 4

Status
Nicht offen für weitere Antworten.

dR.LoL

Bekanntes Mitglied
Hi all,
Ich hab hier ein kleines Tool geschrieben, dass Daten aus einer Oracle 10 DB holt und diese in der Konsole ausgibt.

Mit dem Release 10 & 11 des JRE 5 funktioniert alles. Bis ein Kolleg der Java 4.2_13 braucht mir meldete er bekomme immer diese Meldung:

Code:
Exception in thread "main" java.lang.UnsupportedClassVersionError: ORACLE10Conne
cter (Unsupported major.minor version 49.0)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
3)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)

Hab mir nun extra mal die alte Version runtergeladen und kann mir das nicht so wirklich erklären.
Ist dies überhaupt möglich mit Java version 4.2 eine Oracle 10 DB zu öffnen?
Libraries liegen in J5 in %JAVA_HOME%/lib/ext; Ist das in J4.2 wirklich %JAVA_HOME%/jre/lib/ext ???

Sonnst, wo könnte der Fehler liegen?


Vielen Dank für eure Hilfe!
Gruss vom LoL
 

Caffè Latte

Bekanntes Mitglied
Hi,

laut dem technischen Support von Oracle liegt der Fehler darin, dass der Oracle JDBC Treiber für die falsche Java Version kompiliert wurde. D.h. du brauchst für Java 1.4 und Java 5 jeweils einen eigenen Treiber. Den findest du zum Download unter http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc_10201.html

Wenn du den oder die Treiber dann systemweit zur Verfügung stellen willst, dann kopierst du das JAR unter $JAVA_HOME/jre/lib/ext. Bei mir ging das jedenfalls seit Java 1.4 bis Java 6 so. Alternativ - und vielleicht auch besser um nichts zu überschreiben - kannst du den treiber auch mit deinem Projekt ausliefern.

Hoffe es hilft ...
 

dR.LoL

Bekanntes Mitglied
Hi,
Danke für deine Antwort.
Hierhin (j2sdk1.4.2_13\jre\lib\ext) habe ich bereits einige Files koppiert und habe es mit der Version nicht zum laufen gebracht.
Mit den Files, immer die selbe Fehlermeldung:
ojdbc14.jar
ocrs12.jar
classes12.jar
classes111.jar

:-S

Ist es sicher, dass es an dem JDBC liegt und nicht irgendwie ein Java5Code diesen Error rausspuckt?

Danke & Gruess

PS: Welche(s) file(s) bräuchte ich dazu eigendlich genau?
 

Caffè Latte

Bekanntes Mitglied
Hi,

ich bin gerade unterwegs und kann daher nicht viel testen. Aber auf der genannten Seite steht eigentlich, welches Jar du für welche Java Version brauchst.

Falls das alles nichts hilft kann ich dir erst nächste Woche wieder helfen. Sorry about that, aber die Arbeit geht vor.
 

dR.LoL

Bekanntes Mitglied
Hi,
Danke und selbstverständlich in Ordnung. Hab nur etwas gespamt, damit mein Beitrag wieder etwas höher liegt.

Ich finds Komisch, ich hab jetzt alles durch, was mit Oracle 10 und JDBC zu tun hat und kriege es einfach nicht hin.

Hat der Error wirklich was mit JDBC zu tun und nicht etwa, weil ich das tool in JRE 5 kompiliert habe und der Kollege JRE 4 braucht?

Ich kann es mir einfach nicht erklären, denn selbst mir den lib's auf dem Oracle 10 Server kam ich nicht weiter. Und mit der
Oracle-Website hat gesagt.:
For use with JDK 1.4
ojdbc14.jar - JDBC classes (1,212,964 bytes)
ojdbc14_g.jar - JDBC classes with debug and trace(1,427,311 bytes)
ocrs12.jar - Additional RowSet support (37,761 bytes)

kam ich auch nicht weiter. Mit JRE5 funktioniert das Tooli einwandfrei und es erstellt ja auch nur eine Verbindung, die nach Eingabe von Enter wieder geschlossen wird...

Ich danke dir für deine Mühe!
Grüsse aus Luzern
 

Caffè Latte

Bekanntes Mitglied
Hi,

dann kompilier das Projekt doch mal für Java 1.4. Vielleicht geht es ja dann. Ansonsten ist mir noch eingefallen, dass die Oracle Jars nicht gemischt werden sollen. Vielleicht haut ihr mal alles raus, was von Oracle ist (aus lib/ext) und du lieferst die Treiber mit deinem Projekt aus. Geht ja mit den gängigen IDEs recht einfach.
 

dR.LoL

Bekanntes Mitglied
Brauche Eclipse, also geht das mit dem Mitliefern ganz flopp.
Reichte allerdings nicht aus um mein Problem zu beheben, habe ich bereits getestet.

Mit 1.4 Kompilieren wollte ich auch bereits versuchen, kam dann was dazwischen und jetzt sah ich, dass ich in keinem JDK ein javac.exe habe um dies manuell zu tun.

Wie kann man das sonnst machen? Weil eine Uuuralte Eclipse version runterladen, configen etc. ist mir fast etwas zu dumm... 3.1.1 läuft ja nicht mit JRE 1.4

Danke & Gruess & en Guete :)
 

dR.LoL

Bekanntes Mitglied
Hell yea!

Ich danke euch vielmals!

Lösung des Problems für Suche-Benutzende:
Erstellt zwei Projekte.
- Eines kompiliert mit Java5 mit den Oracle JDBC's fürs 5
- Eines kompiliert mit Java4 mit den Oracle JDBC's fürs 4

Läuft perfekt!

Schöner Tag wünsch ich euch noch!
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben