1

我们在 Dev、Test、Prod 环境中安装了 Oracle Apex 4.0.2 版本实例。

我们在所有 3 个环境中使用相同的应用程序编号,例如:应用程序编号。200 用于所有 3 个环境。

将开发环境中的应用程序导入测试环境时。交互式报告的用户订阅将被删除。

有什么想法或建议吗?

谢谢

4

2 回答 2

1

这实际上是一个已知功能(或错误,取决于您的观点)。我自己遇到了这个问题,并在 Joel Kallman 出色的博客文章的帮助下设法解决了这个问题。

于 2012-09-05T21:11:31.407 回答
0

我能够通过以下过程取回目标环境中的用户订阅。

在我的场景中,我将应用程序 200 从开发环境移动到测试环境。

  1. 通过在 Export Preferences 选项卡中选择 Export interactive Report Subscriptions to Yes 从测试环境中导出应用程序 200
  2. 从应用程序 200.sql 中仔细提取 wwv_flow_api.create_worksheet_notify 代码 (如果有多个用户订阅,您将看到超过 1 个语句)
  3. 提取 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;
    
  4. 将应用程序 200 从开发环境导入到测试环境。

  5. 在Test环境下执行上面的Example pl/sql,sql提示符。

在测试环境中运行应用程序,您将看到用户订阅相关页面的交互式报告。

注意:仅当您在所有环境中具有相同的应用程序 ID 时,此过程才适用

于 2012-09-11T15:01:40.897 回答