APEX 4.0:如何在APEX中将页面从一个应用程序复制到另一个应用程序

时间:2013-05-21 09:56:13

标签: oracle-apex

请帮助我如何将Apex现有应用程序中的页面复制到Apex应用程序的另一个工作区。

3 个答案:

答案 0 :(得分:4)

你不能开箱即用。
除了工作区ID之外,应用程序ID也很重要。如果您有2个不同的工作区和相同的应用程序但具有不同的ID,则这会使事情变得更加复杂 您可以随时执行的操作是导出整个应用程序,导入它但使用不同的ID,这样您就不会覆盖现有的应用程序,然后创建一个新页面作为新导入的应用程序页面的副本。

Antoher的方式是编辑导出的 PAGE SQL文件,但是,让我强调一下,不建议这样做。正如在OTN论坛中如此慷慨地陈述,如果你需要支持应用程序/顶点问题,他们会发现你在sql文件中乱七八糟,你不会得到支持。 只有当你理解并知道你将要做什么时才这样做!如果你改变代码而不理解你在做什么,你可能会比你开始时更糟糕的情况。其他情况下,请按照应用程序导出/导入/复制行。

无论如何,我处于工作区ID不同但应用程序ID不同的位置。在这种情况下,更改导出的文件非常简单,只需要编辑1(一)行并关注这段代码:

begin

  -- Assumes you are running the script connected to SQL*Plus as the Oracle user APEX_040200 or as the owner (parsing schema) of the application.
  wwv_flow_api.set_security_group_id(p_security_group_id=>nvl(wwv_flow_application_install.get_workspace_id,27000294100083787867));

end;
/

这是导出的页面文件中的第一批代码之一。如您所见,工作区ID在此处设置。如果尝试导入应用程序(即使应用程序ID与您尝试导入的应用程序ID匹配),您也会收到错误消息。然后将ID更改为与工作区匹配的ID,它将起作用。当然,您需要知道工作区ID,并且可以通过在apex环境中执行此选择来找到它们(s?)

select workspace, workspace_display_name, workspace_id from apex_workspaces

一些好的建议:
如果您仍处于apex安装的启动阶段,则可能需要确保工作区ID相同。例如,具有相同工作空间和应用程序ID的测试和生产环境非常有趣。您有2个实例(在2个不同的服务器上安装2个数据库),但希望ID相同 要确保这一点,您可以从一个环境导出工作区,然后将其导入另一个环境。您可以从顶点中的实例管理(即内部工作区)执行此操作。

答案 1 :(得分:2)

APEX版本4.2现在支持 - 每个Oracle doc ...

7.3.4复制数据库应用程序页面

您可以从当前应用程序或其他应用程序复制页面。在复制过程中,您还可以复制共享组件或将映射更改为目标应用程序中的共享组件。

复制页面:

导航到要复制到的应用程序:

导航到Workspace主页。

单击Application Builder图标。

选择一个应用程序。

选择一个页面。

出现页面定义。

在树状视图中:

在“页面渲染”下,选择页面名称。

右键单击并选择复制。

在组件视图中:

在“页面”下,单击“复制”图标。

对于“复制页面选项”,请选择以下选项之一:

此应用程序中的页面

另一个应用程序中的页面

按照屏幕上的说明操作。

答案 2 :(得分:1)

在APEX 4.0中从任何应用程序复制页面:

  1. 编辑应用程序中的任何页面
  2. 点击创建▼按钮
  3. 选择新页面作为副本
相关问题