clsql database Oracle connect
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