Oracle 9.2およびJMSに問題があります。 XMLテキスト(ファイルまたはCLOBから)をキュー に送信するPL/SQLルーチンを作成しましたが、このルーチンはコンパイルされません。OracleのPL/SQLファンクションでDBMS_AQが表示されない
私のコードは、(省略充填メッセージ)のようになります。
create or replace procedure jms_test(msg varchar2)
is
id pls_integer;
message sys.aq$_jms_stream_message;
enqueue_options dbms_aq.enqueue_options_t;
message_properties dbms_aq.message_properties_t;
msgid raw(16);
java_exp exception;
v_filehandle_input utl_file.file_type;
v_newline varchar2(32767);
pragma exception_init(java_exp, -24197);
begin
message := sys.aq$_jms_stream_message.construct;
message.set_string_property('FROM', 'TEST');
id := message.clear_body(-1);
end;
とOracleがいることraports:
Error(6,21): PLS-00201: identifier 'DBMS_AQ' must be declared
は、私はいくつかのニュースグループを見て、私が発見したすべてを試みたが、成功しません。 (成功で)多くのpermisions
- ユーザーにGRANTリソースを付与
。
- GRANT CONNECT TO user;
- ユーザーに付与するすべての手順を実行します。
- GRANT aq_administrator_role TO user;
- GRANT aq_user_role TO user;
- GRANT EXECUTE ON dbms_aqadm TOユーザー;
- GRANT EXECUTE ON dbms_aq TOユーザー;
- GRANT EXECUTE ON dbms_aqin TOユーザー;
降順DBMS_AQはDEQUEUE、ENQUEUE、のような多くの機能がSQLPlusを両方catqueue.sqlで実行
をLISTEN示し、
誰もが間違っている可能性がどのような考えを持ってdbmsaq.plb?
EDITED:
私はすべてのことを行うことができますに記述されている:http://rwijk.blogspot.com/2009/02/whats-in-my-jms-queue.html、そうDBMS_AQは、私の手順で何とか見えますが、ではありません。
明確にする: "desc dbms_aq"をプロシージャをコンパイルする同じユーザーとして実行しましたか? –
はい、同じSQLDeveloperセッションで実行されました。 –