CLSQL Connect Oracle База данных
Вопрос
Я делаю некоторую практику с clsql
. Отказ Я хочу подключить мой сервер Oracle, следовательно, моя функция подключения есть;
(connect '("192.168.2.3" "xe" "username" "password") :database-type :oracle)
Когда я ударю возврат, появится следующее сообщение об ошибке.
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
и определить export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client/lib
Итак, что еще я должен сделать, чтобы подключить сервер?
Нет правильного решения
Другие советы
Одна вещь, которая погрузится с динамическими связыванием к Oracle Libs (в C / C ++, то есть), это тот факт, что общий объект libclntsh.so поставляется с версией после так название. Таким образом, вам может потребоваться создать мягкую ссылку в том же каталоге, гарантируя, что имя мягкого ссылки просто libclntsh.so
Я играл с Oracle в последнее время и узнал, что все, что вам нужно, это поставить путь к libclntsh
в /etc/ld.conf.d/oracle.conf
Моя установка была следуена (Redhat, CentOS - как root): загружается из 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
Создать файл /etc/ld.so.conf.d/oracle.conf
:
/usr/lib/oracle/12.1/client64/lib
затем выполнить ldconfig
Сейчас как clsql-oracle
не вводится quicklisp
, Я скачал и извлеченный clsql-6.6.2
, тогда
(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))
и вуаля, это работает