Benutzer-Werkzeuge

Webseiten-Werkzeuge


dba:sqlcl_oracle_wrong_jdk

SQLcl - This application requires a Java runtime 1.8.xxx unter MS Windows

07.2020

Die aktuellen Versionen von SQLcl ( wie SQLcl 20.2 , Download über https://www.oracle.com/tools/downloads/sqlcl-downloads.html) benötigen auch eine aktuelle Java Version, im Fall von 20.2 ein Java min. 1.8.0.220.

Durch die geänderten Lizenzbedingungen ist aber immer seltener auf einem Server oder gar auf einem PC in einer Kunden Umgebung noch ein aktuelles Java installiert.

Zum Glück ist Oracle aber zur Zeit noch so gnädig, dass Ihre eigenen freien Produkte auf Java Basis noch ohne Lizenzkosten Java verwenden dürfen. D.h. solange auf einem Produkt Oracle als alleiniger Hersteller steht, darf das Oracle JDK noch weiter kostenfrei auch verwendet werden.

Daher wir laden im ersten Schritt auch den SQL*Developer herunter ( https://www.oracle.com/tools/downloads/sqldev-downloads.html, die Variante Windows 64-bit with JDK 8 included ) und verwenden das dort mitgelieferte Java auch mit für SQLcl.

Der erste Versuch

Im Prinzip müssten wir jetzt ja nur den PATH auf ../sqldevepler/jdk/jre/bin und das JAVA_HOME auf ../sqldevepler/jdk/jre setzen und alles sollte einfach wie immer mit Java funktionieren.

ABER …

This application requires a Java Runtime Environment 1.8.0_220

set PATH=H:\tools\sqldeveloper\jdk\jre\bin;%PATH%
set JAVA_HOME=H:\tools\sqldeveloper\jdk\jre
 
java -version
java version "1.8.0_221"
 
 
sql.exe /nolog
 
This application requires a Java Runtime Environment 1.8.0_220

Und öffnet auch netterweise, damit Oracle auch die Verwendung von SQLcl tracken kann, die passende Website.

Wie oft und meist mit dem SQL*CL ist das unter Windows nicht so ganz einfach und logisch.

Diese Plattform scheint den Entwickler wohl etwas zu unbedeutend zu sein, um hier einfache Lösungen anzubieten. Evtl. würde es wohl hier sehr helfen wenn wenigstens ein Entwickler auch auf dieser Plattform arbeitet und das ganze auch mal wirklich vor Live Gang testet.

Jedesmal wieder gibt es neue Überraschungen und Ecken mit Zeichensätzen und Pfaden. Und jedesmal muss was trivales per Hand/Script angepasst werden.

Sehr schade das an so Kleinigkeiten bei dem ansonst doch recht guten Tool scheitert.

Oracle vergisst hier gerne das Kunden an den kleinen Dingen scheitern und sich daher Oracle Produkte außerhalb unsere Community einen recht schlechten Ruf erarbeitet haben.

Aber wie das ganze lösen?

Debuggen und selber suchen, Google fragen, Threads (siehe Quellen) lesen und dann findet sich kaum eine Stunde später eine Lösung.

Lösung

Das JDK MUSS neben dem SQL*CL Ordner liegen, ein paar Pfade sind halt relativ zum SQL*CL Home, war für ein Pfusch …

JDK Verzeichnis aus dem SQL Developer parallel zu Ordner sqlcl ablegen, alle Pfade darauf setzen und es geht.

ls
 
./jdk
./sqlcl
 
 
set JAVA_HOME=H:\tools\sqlcl\jdk\jre
set PATH=H:\tools\sqlcl\jdk\jre\bin
 
H:\tools\sqlcl\bin\sql.exe /nolog

Aber warum muss das so sein? Das scheint schon seit der Version 18 ein Problem zu sein….

Als nächstes heißt es nur noch herausbekommen warum der Start mit /nolog gefühlt fast 30s dauert und Umlaute mal wieder überhaupt nicht dargestellt werden können, aber das Problem kennen wir ja schon sehr lange.


Quellen

Cookies helfen bei der Bereitstellung von Inhalten. Diese Website verwendet Cookies. Mit der Nutzung der Website erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Computer gespeichert werden. Außerdem bestätigen Sie, dass Sie unsere Datenschutzerklärung gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website. Weitere Information
"Autor: Gunther Pipperr"
dba/sqlcl_oracle_wrong_jdk.txt · Zuletzt geändert: 2020/07/30 11:24 von gpipperr