Pregunta

Me estoy haciendo un poco de práctica con clsql. Quiero conectar mi servidor Oracle de ahí mi función de conexión es;

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

cuando golpeo el retorno, el mensaje de error aparece.

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

Ya he instalado

y definir export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client/lib

Entonces, ¿qué más debo hacer para conectar el servidor?

No hay solución correcta

Otros consejos

Una cosa que me hace tropezar con la dinámica que une a las librerías de Oracle (en C / C ++ que es), es el hecho de que el objeto libclntsh.so compartido viene con la versión después el nombre de por lo . Lo que puede necesitar para crear un enlace simbólico en el mismo directorio, asegurando que el nombre de enlace blando es sólo libclntsh.so

Yo estaba jugando con Oracle últimamente y descubrió que todo lo que necesita es poner en camino hacia libclntsh /etc/ld.conf.d/oracle.conf

Mi configuración seguía (RedHat, CentOS - como root): descargada desde 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 /etc/ld.so.conf.d/oracle.conf archivo:

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

a continuación, ejecutar ldconfig

Ahora ya no está en clsql-oracle quicklisp, he descargado y extraído clsql-6.6.2, entonces

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

y listo, funciona

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top