我们在 Dev、Test、Prod 环境中安装了 Oracle Apex 4.0.2 版本实例。
我们在所有 3 个环境中使用相同的应用程序编号,例如:应用程序编号。200 用于所有 3 个环境。
将开发环境中的应用程序导入测试环境时。交互式报告的用户订阅将被删除。
有什么想法或建议吗?
谢谢
我们在 Dev、Test、Prod 环境中安装了 Oracle Apex 4.0.2 版本实例。
我们在所有 3 个环境中使用相同的应用程序编号,例如:应用程序编号。200 用于所有 3 个环境。
将开发环境中的应用程序导入测试环境时。交互式报告的用户订阅将被删除。
有什么想法或建议吗?
谢谢
这实际上是一个已知功能(或错误,取决于您的观点)。我自己遇到了这个问题,并在 Joel Kallman 出色的博客文章的帮助下设法解决了这个问题。
我能够通过以下过程取回目标环境中的用户订阅。
在我的场景中,我将应用程序 200 从开发环境移动到测试环境。
提取 wwv_flow.g_flow_id 和 wwv_flow_api.g_id_offset 初始化语句。
下面的例子:
在我的场景中,我正在使用 1 个交互式报告用户订阅进行测试
begin
wwv_flow.g_flow_id := nvl(wwv_flow_application_install.get_application_id,200);
wwv_flow_api.g_id_offset := nvl(wwv_flow_application_install.get_offset,0);
wwv_flow_api.create_worksheet_notify (
p_id => 3351032625694541+wwv_flow_api.g_id_offset,
p_flow_id => wwv_flow.g_flow_id,
p_worksheet_id => 11045125897667191+wwv_flow_api.g_id_offset,
p_report_id => 11046318922668871+wwv_flow_api.g_id_offset,
p_owner => 'abc.def',
p_email_subject => 'Primary Report test',
p_email_address => 'abc.def@email.com',
p_start_date => '2012.09.07.01:00:00',
p_notify_interval => 'D');
end;
将应用程序 200 从开发环境导入到测试环境。
在测试环境中运行应用程序,您将看到用户订阅相关页面的交互式报告。
注意:仅当您在所有环境中具有相同的应用程序 ID 时,此过程才适用