4 Stimmen

clsql connect oracle datenbank

Ich übe gerade ein wenig mit clsql . Ich möchte meinen Oracle-Server zu verbinden, damit meine Verbindung Funktion ist;

(connect '("192.168.2.3" "xe" "username" "password") :database-type :oracle)

Wenn ich die Eingabetaste drücke, erscheint die folgende Fehlermeldung.

Couldn't load foreign libraries "libclntsh", "oci". (searched *FOREIGN-LIBRARY-SEARCH-PATHS*) [Condition of type SIMPLE-ERROR]

Ich habe bereits installiert oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.rpm

und definieren export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client/lib

Was muss ich noch tun, um den Server zu verbinden?

2voto

Laci Kosco Punkte 51

Ich habe kürzlich mit Orakel gespielt und herausgefunden, dass man nur einen Pfad zu libclntsh in /etc/ld.conf.d/oracle.conf

Mein Setup war wie folgt (redhat, centos - als Root): heruntergeladen von oracle

oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
install via rpm -ivh oracle*.rpm

Datei erstellen /etc/ld.so.conf.d/oracle.conf :

/usr/lib/oracle/12.1/client64/lib

dann ausführen ldconfig

Jetzt als clsql-oracle ist nicht in quicklisp habe ich heruntergeladen und extrahiert clsql-6.6.2 dann

(require "asdf")
(push #P"/opt/jeff/clsql-6.6.2/" asdf:*central-registry*)
(asdf:load-system :clsql-oracle)
(defparameter *some-db* (connect '("127.0.0.1:1521/db1" "SOME_USER_RO" "*******") :database-type :oracle))

und voila, es funktioniert

1voto

Hoons Punkte 1134

Eine Sache, die mich bei der dynamischen Verknüpfung mit den Oracle-Bibliotheken (in C/C++) stört, ist die Tatsache, dass das gemeinsam genutzte Objekt libclntsh.so mit der Version nach den so genannten Namen. Daher müssen Sie möglicherweise einen Softlink im selben Verzeichnis erstellen und sicherstellen, dass der Softlink-Name nur libclntsh.so lautet

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X