Oracle Advanced Queuing と dbms_aq パッケージで苦労した後、 別の問題に遭遇しました。Oracle チュートリアルからコードをコピーしましたが、このコードをコンパイルすると:
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;
begin
message := sys.aq$_jms_stream_message.construct(0);
message.set_string_property('FROM', 'TEST');
id := message.clear_body(-1);
end;
それは不平を言う:
Error(9,40): PLS-00302: component 'CONSTRUCT' must be declared
Error(10,10): PLS-00302: component 'SET_STRING_PROPERTY' must be declared
Error(11,16): PLS-00302: component 'CLEAR_BODY' must be declared
What's in my JMS queue ?の成功レシピを試したので、このコードはプロシージャ本体の外で機能すると思います。
私の Oracle バージョンは次のとおりです。 Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
何が間違っている可能性がありますか?