当数据库升级到 19c 时,无法在 EBS 中部署 rest 服务
Cannot deploy rest service in EBS when DB upgraded to 19c
我们最近在测试实例的 EBS 12.1.3 环境中将我们的数据库从 12c (12.1.0.2.0) 升级到 19c(19.0.0.0.0)。升级后,我无法使用 SOA 休息服务集成存储库部署自定义 Web 服务。我在部署时遇到以下错误:
服务提供商访问在尝试执行 'DEPLOY' 时导致异常 'oracle.apps.fnd.isg.client.IREPException'。请查看服务提供商日志以获取更多详细信息
我查看了日志文件,但未找到任何信息。我注意到一件事,我能够使用简单的输出参数和 VARCHAR2 数据类型来部署 Web 服务。但是当有一个基于 table 类型定义的输出参数时,我收到上述错误。我定义了 table 类型输出参数,其中 returns 数据以 json 数组的形式出现。
类型 XRCL_TMS_PICKED_ORDERS1 是 TABLE 的 ROCELL。XRCL_TMS_PICKED_ORDERS1%ROWTYPE INDEX BY BINARY_INTEGER;
值得一提的是,在使用12c数据库的应用程序上,可以毫无问题地部署web服务。
我通过查找 12c 和 19c 版本数据库中集合类型兼容性的原因解决了这个问题。
在下面的 12c 中,plsql 集合类型的声明工作正常:
TYPE type_name 是 TABLE OF Table_Name%ROWTYPE INDEX BY BINARY_INTEGER;
但是在上面的19c中声明plsql集合类型有如下错误。我在尝试重新编译集合类型后发现了这个错误:
PLS-00355:在此上下文中不允许使用 pl/sql table
在下面的 19c 中,声明工作正常(创建的类型为嵌套 table):
创建类型 type_name 作为对象
(
column_name 数据类型
);
创建类型 type_name_nt AS TABLE OF type_name;
我们最近在测试实例的 EBS 12.1.3 环境中将我们的数据库从 12c (12.1.0.2.0) 升级到 19c(19.0.0.0.0)。升级后,我无法使用 SOA 休息服务集成存储库部署自定义 Web 服务。我在部署时遇到以下错误:
服务提供商访问在尝试执行 'DEPLOY' 时导致异常 'oracle.apps.fnd.isg.client.IREPException'。请查看服务提供商日志以获取更多详细信息
我查看了日志文件,但未找到任何信息。我注意到一件事,我能够使用简单的输出参数和 VARCHAR2 数据类型来部署 Web 服务。但是当有一个基于 table 类型定义的输出参数时,我收到上述错误。我定义了 table 类型输出参数,其中 returns 数据以 json 数组的形式出现。
类型 XRCL_TMS_PICKED_ORDERS1 是 TABLE 的 ROCELL。XRCL_TMS_PICKED_ORDERS1%ROWTYPE INDEX BY BINARY_INTEGER;
值得一提的是,在使用12c数据库的应用程序上,可以毫无问题地部署web服务。
我通过查找 12c 和 19c 版本数据库中集合类型兼容性的原因解决了这个问题。
在下面的 12c 中,plsql 集合类型的声明工作正常:
TYPE type_name 是 TABLE OF Table_Name%ROWTYPE INDEX BY BINARY_INTEGER;
但是在上面的19c中声明plsql集合类型有如下错误。我在尝试重新编译集合类型后发现了这个错误:
PLS-00355:在此上下文中不允许使用 pl/sql table
在下面的 19c 中,声明工作正常(创建的类型为嵌套 table):
创建类型 type_name 作为对象
( column_name 数据类型 );
创建类型 type_name_nt AS TABLE OF type_name;