- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 Oracle 9.2 和 JMS 时遇到问题。我创建了 PL/SQL 例程来将 XML 文本(从文件或 CLOB)发送到队列,但这个例程不能编译。
我的代码看起来像(省略填充消息):
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 报告称:
Error(6,21): PLS-00201: identifier 'DBMS_AQ' must be declared
我查看了一些新闻组并尝试了我找到的所有内容,但没有成功。
授予(成功)许多权限
desc dbms_aq 显示许多函数,例如 DEQUEUE、ENQUEUE、LISTEN
在 SQLPlus 中执行 catqueue.sql 和 dbmsaq.plb
有人知道可能出了什么问题吗?
已编辑:
我可以完成以下描述的所有操作:http://rwijk.blogspot.com/2009/02/whats-in-my-jms-queue.html ,所以 dbms_aq 在某种程度上是可见的,但在我的程序中不可见。
最佳答案
如果你这样做,它会起作用吗?
SYS.DBMS_AQ
而不仅仅是
DBMS_AQ
如果是这样,则说明您缺少同义词。
编辑:
如果您现在收到“PLS-00201:标识符'SYS.DBMS_AQ”,那么我会仔细检查您的授权。
GRANT EXECUTE ON SYS.DBMS_AQ to <your-user>;
另外,为了确认一下,您已直接向用户授予执行权限,而不是通过角色?
关于oracle - Oracle中的PL/SQL函数看不到DBMS_AQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1378721/
介绍 使用 Oracle 高级排队方法时,我的 Oracle SQL Server(确切地说是:Oracle Database 11g Enterprise Edition Release 11.2.
我正在从 PL/SQL 程序调用 DBMS_AQ.DEQUEUE。我不想永远等待,但如果在再次尝试出队之前队列中没有数据,我会定期超时。 Oracle documentation DEQUEUE 过程
我是一名优秀的程序员,十分优秀!