Domanda

sto facendo un po 'di pratica con clsql. Voglio collegare il mio server Oracle da qui la mia funzione di connessione è;

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

Quando mi ha colpito il ritorno, i seguenti spettacoli messaggio di errore in su.

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

oracle-instantclient11.2-basic-11.2.0.1.0-1.i386.rpm

Ho già installato

e definire export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client/lib

Quindi, che cosa devo fare per collegare il server?

Nessuna soluzione corretta

Altri suggerimenti

Una cosa che mi viaggi con dinamica collegamento con le librerie Oracle (in C / C ++ che è), è il fatto che l'oggetto libclntsh.so condiviso viene fornito con la versione dopo il nome in modo . Così potrebbe essere necessario creare un link simbolico nella stessa directory, assicurando che il nome di soft link è solo libclntsh.so

I stava giocando con Oracle ultimamente e ha scoperto che tutto ciò che serve è quello di mettere percorso libclntsh in /etc/ld.conf.d/oracle.conf

La mia configurazione seguiva (RedHat, CentOS - come root): scaricato da 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

Crea file di /etc/ld.so.conf.d/oracle.conf:

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

quindi eseguire ldconfig

Ora, come clsql-oracle non è in quicklisp, ho scaricato e clsql-6.6.2 estratto, poi

(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))

e voilà, funziona

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top