Skip to Main Content

Japanese

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

外部プロシージャのエラーについて

973146Nov 7 2012 — edited Nov 8 2012
初めて投稿します。よろしくお願いします。

外部プロシージャで、soファイルを呼び出したいのですが、
以下のようなエラーが出てきてしまい、原因がわかりません。

ORA-06521: PL/SQL: 関数のマップ中にエラーが発生しました。
ORA-06522: /opt/app/oracle/product/11.2.0/db/lib/libHello.so: undefined symbol: libHello
ORA-06512: "スキーマ名.TEST_HELLO", 行1
ORA-06512: 行1

○環境
Linuxサーバ
Oracle11g
C言語

デフォルト構成を使用しようと思っているので、listener.oraとtnsnames.oraの設定はしておりません。
他の設定やソースは以下のとおりです。

○extproc.oraの設定
SET EXTPROC_DLLS=
SET LD_LIBRARY_PATH=/opt/app/oracle/product/11.2.0/db/lib

○ライブラリを呼び出すプロシージャ
CREATE OR REPLACE PROCEDURE スキーマ名.TEST_HELLO
IS LANGUAGE C
NAME "libHello"
LIBRARY HELLOLIB;

○ライブラリ
CREATE OR REPLACE LIBRARY スキーマ名.HELLOLIB
AS '$ORACLE_HOME/lib/libHello.so'
/

○libHelloの内容
int hello()
{
return 0;
}

ORACLE_HOMEは、「/opt/app/oracle/product/11.2.0/db」です。

必要情報の過不足があればご指摘ください。

linuxもC言語も初心者なのですが、必要に迫られてトライしているところです。。。
アドバイス等いただけましたら、幸いです。
よろしくお願いします。
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 6 2012
Added on Nov 7 2012
2 comments
1,498 views