與Oracle Advanced Queuing and dbms_aq package 經過一番爭執後,我遇到了另一個問題。我複製的代碼從Oracle教程 但是當我編譯此代碼:Oracle:構建JMS消息的問題
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企業版發行9.2.0.1.0 - 生產
任何想法可能是錯誤的?
對不起,版本在您的文章中。所以你的代碼probaly不會運行在Oracle 9i數據庫 – Rene 2009-09-07 13:20:25
+1好點。 – cagcowboy 2009-09-07 13:24:50
是的,這可能是版本問題。我沒有從Oracle手冊中檢查版本信息。謝謝! – 2009-09-08 04:56:06