Fehler beim laden der shared libraries libclntsh.so.11.1 kann nicht geöffnet werden
Error while loading shared libraries: libclntsh.so.11.1 : kann nicht geöffnet werden
shared obj-Datei keine solche Datei. Beim ausführen von crontab.
Ich erfüllt mein c++ - Programm, der eine proc-Programm nach dem kompilieren proc werde ich führen Sie den nachstehenden Befehl.
g++ filename.CPP -I $ORACLE_HOME/precomp/public -L $ORACLE_HOME/lib -lclntsh -o test
Erstellte ich ein crontab ausgeführt es jeden min
$ crontab -l
* * * * * /home/test > /home/te.txt 2>&1
Machte ich einen symbolischen link von dieser Bibliothek. Aber ich bin immer oben genannten Fehler innerhalb te.txt
Bin auf der Suche dieses für die letzten 2 Tage und ging auch durch die ähnliche Frage, aber ich noch nicht in der Lage, den Fehler zu löschen.
Ich bin nicht sicher, mit LD_Library_path
oder .bash_profile
. wie die Bibliothek.
- Der Befehl
/home/test > /home/te.txt 2>&1
keinen Sinn. Sie sollten stattdessen so etwas wie/bin/sh /path/to/script
und so weiter.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Ihre Bibliothek exportieren Pfad in Ihr .bash_profile wie
oder kopieren Sie Ihre libclntsh.also in /usr/lib/oder /lib
Wenn Sie auf Linux (GNU Binutils) Sie können auch kompilieren-in der Bibliothek-Pfad direkt in die binary. Sehen -Wl,-rpath=...
Aber sowieso (es sei denn, Sie verwenden Oracle instant client lib), sollten Sie auch den export ORACLE_HOME env. var in der crontab. Ansonsten wird Ihre Bewerbung nicht in der Lage zu lokalisieren .nls noch .ora (tnsnames.ora -) Dateien.