首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在OracleXE 11g中启用JMS类型-必须声明组件的“构造”

无法在OracleXE 11g中启用JMS类型-必须声明组件的“构造”
EN

Stack Overflow用户
提问于 2013-10-02 22:35:42
回答 1查看 599关注 0票数 1

我们使用OracleXE在CI服务器上运行了一组针对Oracle数据库的自动化测试。有些测试使用AQ$_JMS_TEXT_MESSAGE类型,如下所示:

代码语言:javascript
复制
msg SYS.AQ$_JMS_TEXT_MESSAGE;
BEGIN
    msg := SYS.AQ$_JMS_TEXT_MESSAGE.construct;
    msg.set_text(pMessage);

在过去,我们使用了OracleXE 10g,但是我试图升级到XE11g,以匹配该数据库运行的普通Oracle服务器。不幸的是,我似乎无法在OracleXE 11g中启用这些类型。在使用它编译这些包时,我会遇到以下错误:

代码语言:javascript
复制
1797/5   PL/SQL: Statement ignored
1797/37  PLS-00302: component 'CONSTRUCT' must be declared
1798/5   PL/SQL: Statement ignored
1798/9   PLS-00302: component 'SET_TEXT' must be declared
1799/5   PL/SQL: Statement ignored

默认情况下,OracleXE在10g中也没有安装这些类型,我们通过执行安装中找到的脚本来纠正这种情况:

代码语言:javascript
复制
RDBMS\ADMIN\prvtaqal.plb

即使在OracleXE 11g中运行了该程序,类型仍然无法解析。我还搜索了与JMS相关的同一位置的其他文件的内容,发现了这两个文件:

代码语言:javascript
复制
RDBMS\ADMIN\dbmsaqad.sql
RDBMS\ADMIN\prvtaqji.plb

安装这些也没有效果。

有人能在AQ$_JMS_TEXT_MESSAGE 11g中使用OracleXE类型并知道如何解决这个问题吗?或者,在XE10g中工作的能力是他们现在堵住的一个洞吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-07 20:40:54

我找到了解决这个问题的方法。我从旧的prvtaqal.plb 10g安装中复制了OracleXE脚本,并在OracleXE 11g实例中运行了这个脚本。类型是可用的,一切都是好的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19147933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档