Dequeinf XMLTYPE 消息抛出错误
Dequeinf XMLTYPE message throws error
我有以下代码用于从 AQ 中出列数据
DECLARE
dequeue_options dbms_aq.dequeue_options_t;
message_properties dbms_aq.message_properties_t;
message_handle RAW(16);
message SYS.XMLTYPE;
BEGIN
DBMS_AQ.DEQUEUE(queue_name => 'my_demo_queue',
dequeue_options => dequeue_options,
message_properties => message_properties,
payload => message,
msgid => message_handle);
DBMS_OUTPUT.PUT_LINE ('Message: ' || message);
COMMIT;
END;
执行后出现以下错误 -
错误报告 -
ORA-06550:第 14 行,第 30 列:
PLS-00306: 调用 '||' 时参数的数量或类型错误
ORA-06550:第 14 行,第 8 列:
PL/SQL: 语句被忽略
06550.00000 - "line %s, column %s:\n%s"
*原因:通常是 PL/SQL 编译错误。
*动作:
我已经将上面的块用于不同的有效负载类型并且它工作正常,但是当我使用 XMLTYPE 作为有效负载时我遇到了这个问题。
我已经在不使用 DBMS_OUTPUT.PUT_LINE('Message: ' || 消息)的情况下使用 XMLTYPE 负载尝试了上述块;而且效果很好。
我哪里出错了?
DBMS_OUTPUT.PUT_LINE ('Message: ' || message.getClobVal() );
or
DBMS_OUTPUT.PUT_LINE ('Message: ' || message.getStringVal() );
我有以下代码用于从 AQ 中出列数据
DECLARE
dequeue_options dbms_aq.dequeue_options_t;
message_properties dbms_aq.message_properties_t;
message_handle RAW(16);
message SYS.XMLTYPE;
BEGIN
DBMS_AQ.DEQUEUE(queue_name => 'my_demo_queue',
dequeue_options => dequeue_options,
message_properties => message_properties,
payload => message,
msgid => message_handle);
DBMS_OUTPUT.PUT_LINE ('Message: ' || message);
COMMIT;
END;
执行后出现以下错误 -
错误报告 - ORA-06550:第 14 行,第 30 列: PLS-00306: 调用 '||' 时参数的数量或类型错误 ORA-06550:第 14 行,第 8 列: PL/SQL: 语句被忽略 06550.00000 - "line %s, column %s:\n%s" *原因:通常是 PL/SQL 编译错误。 *动作:
我已经将上面的块用于不同的有效负载类型并且它工作正常,但是当我使用 XMLTYPE 作为有效负载时我遇到了这个问题。
我已经在不使用 DBMS_OUTPUT.PUT_LINE('Message: ' || 消息)的情况下使用 XMLTYPE 负载尝试了上述块;而且效果很好。
我哪里出错了?
DBMS_OUTPUT.PUT_LINE ('Message: ' || message.getClobVal() );
or
DBMS_OUTPUT.PUT_LINE ('Message: ' || message.getStringVal() );