clsql connect oracle, база данных - PullRequest
       31

clsql connect oracle, база данных

3 голосов
/ 28 августа 2010

Я занимаюсь с clsql.Я хочу подключить свой сервер оракула, поэтому моя функция подключения:

(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

Итак, что еще я должен сделать для подключения к серверу?

Ответы [ 2 ]

0 голосов
/ 17 ноября 2015

В последнее время я играл с оракулом и обнаружил, что все, что вам нужно, это указать путь к 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))

и вуаля, все работает

0 голосов
/ 08 июня 2011

Одна вещь, которая поражает меня динамической связью с библиотеками Oracle (в C / C ++, то есть), это то, что общий объект libclntsh.so поставляется с версией после имени so. Таким образом, вам может понадобиться создать мягкую ссылку в том же каталоге, убедившись, что имя мягкой ссылки просто libclntsh.so

...