Ich versuche, Oracle SQL Developer in 16.04 zum Laufen zu bringen. Ich bin der Antwort von PhatHV gefolgtDasFrage, und die Desktop-App öffnet sich einwandfrei und scheint korrekt zu sein, aber wenn ich versuche, eine Verbindung zu einer Datenbank herzustellen (und ich weiß, dass dies funktionieren sollte, da ich in Windows eine Verbindung zu derselben Datenbank hergestellt habe), wird ein Fehlerfenster mit der Meldung angezeigt
An error was encountered performing the requested operation:
no ocijdbc12 in java.library.path
Vendor code 0
Weiß jemand, was diesen Fehler verursacht und wie man ihn behebt?
Antwort1
Bei mir funktioniert es nur, wenn ich die Umgebungsvariable LD_LIBRARY_PATH auf das Instant Client-Verzeichnis setze, und zwar in /etc/ld.so.conf.d/oracle.conf. Die Ausführung sudo ldconfig
funktioniert jedoch nicht.
Antwort2
Okay, ich habe es jetzt (mit etwas Hilfe) geschafft, dieses Problem auf zwei verschiedenen Computern zu beheben, aber es ist schon so lange her, dass ich mich nicht mehr an alles erinnere, was wir getan haben, um es zu beheben. Ich werde zumindest das einschließen, woran ich mich erinnere, und diese Antwort vielleicht später ergänzen. Ich verstehe nicht alles, was hinter den Kulissen passiert, also entschuldige ich mich, wenn es unnötige Schritte gibt. Wie ich jedoch in der ursprünglichen Frage erwähnt habe, bin ich einer anderen Antwort von PhatHV gefolgt und werde die dort beschriebenen Schritte hier nicht wiederholen. Es wird davon ausgegangen, dass Sie sein Tutorial befolgt haben, bevor Sie hierher gekommen sind.
Installieren des Oracle Instant Client
Für SQL Developer Version 4.2.0 benötigte ich Version 12.2.0.1.0 des Instant Client. Den Download finden SieHier. Wählen Sie den „Instant Client für Linux“, der Ihrer Architektur entspricht (ich habe eine 64-Bit-Maschine, also habe ich die Option x86-64 geöffnet). Laden Sie die folgenden 5 Dateien herunter (ersetzen Sie Versionsnummer und Architektur, wo zutreffend):
- oracle-instantclient12.2-basic-12.2.0.1.0-1.x86-64.rpm
- oracle-instantclient12.2-devel-12.2.0.1.0-1.x86-64.rpm
- oracle-instantclient12.2-jdbc-12.2.0.1.0-1.x86-64.rpm
- oracle-instantclient12.2-odbc-12.2.0.1.0-1.x86-64.rpm
- oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86-64.rpm
Falls Sie es noch nicht haben, müssen Sie ein Tool namens: installieren alien
.
sudo apt-get install alien
Navigieren Sie zu Ihrem Download-Verzeichnis (oder wo auch immer Sie die Dateien gespeichert haben) und führen Sie es sudo alien -i
für jede Datei aus, um sie zu installieren. Wir verwenden alien
es, weil es sie vor der Installation zuerst in konvertiert .deb
. Als Hinweis: alien
Es erzeugt nicht sofort viel Ausgabe, also sieht es vielleicht so aus, als würde es nichts tun, aber ich verspreche, dass es das tut.
sudo alien -i oracle-instantclient12.2-basic-12.2.0.1.0-1.x86-64.rpm
sudo alien -i oracle-instantclient12.2-devel-12.2.0.1.0-1.x86-64.rpm
sudo alien -i oracle-instantclient12.2-jdbc-12.2.0.1.0-1.x86-64.rpm
sudo alien -i oracle-instantclient12.2-odbc-12.2.0.1.0-1.x86-64.rpm
sudo alien -i oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86-64.rpm
Profil- und Umgebungsvariablen bearbeiten
Für alle diese Befehle müssen Sie Root-Benutzer sein. Führen Sie den Befehl aus, sudo su
um sich als Root anzumelden.
Bearbeiten, /etc/profile.d/oracle.sh
um Folgendes einzuschließen:
export ORACLE_HOME=/usr/lib/oracle/12.2/client64
export TNS_ADMIN=/usr/lib/oracle/ora
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
Beachten Sie hier die Versionsnummer in der ORACLE_HOME
Variable. Meine ist wieder 12.2
, aber Ihre könnte etwas anderes sein. Es ist auch üblich, zu setzen TNS_ADMIN=$ORACLE_HOME/ora
, aber ich habe mich dagegen entschieden, damit meine .ora
Dateien nicht in einem versionsabhängigen Verzeichnis (wie 12.2
) liegen.
Bearbeiten /etc/ld.so.conf.d/oracle.conf
, um Folgendes einzuschließen
/usr/lib/oracle/12.2/client64/lib/
Notieren Sie sich erneut die Versionsnummer.
Schließlich/etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/default-java/"
CLASSPATH=/usr/lib/jvm/default-java/lib:/usr/lib/jvm/default-java/include:/usr/lib/oracle/12.2/client64/lib
Wenn Sie mit der Bearbeitung aller Dateien fertig sind, führen Sie
ldconfig
source /etc/profile.d/oracle.sh
source /etc/environment
Drücken Sie <Ctrl> + D
oder geben Sie ein exit
, um zum normalen Benutzer zurückzukehren.
Als Drittanbietertreiber hinzufügen
Ich weiß nicht, ob dieser Schritt unbedingt erforderlich ist, aber auf meinem Computer funktioniert es. Wenn Sie SQL Developer öffnen, können Sie zu navigieren Tools -> Preferences -> Database -> Third Party JDBC Drivers
und darauf klicken Add Entry
. Öffnen Sie /usr/lib/oracle/12.2/client64
und klicken Sie auf lib
. Es wird hervorgehoben und Sie können dann darauf klicken, select
um es der Liste hinzuzufügen.
Nach diesem Schritt müssen Sie SQL Developer schließen und erneut öffnen. Sobald Sie das alles getan haben,hoffentlichSie erhalten keine weiteren Fehler.