質問

私はいくつかの練習をしています 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 ++では)に動的リンクすることで私をつまずかせることの1つは、libclntsh.soの共有オブジェクトがバージョンに付属しているという事実です。 SO NAME。そのため、同じディレクトリにソフトリンクを作成し、ソフトリンク名が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))

そして出来上がり、それはうまくいきます

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top