【问题标题】:Importing and Replacing APEX application with build status "Run Application Only"导入和替换构建状态为“仅运行应用程序”的 APEX 应用程序
【发布时间】:2018-06-20 10:53:35
【问题描述】:

我最近遇到了一个问题,即开发人员“在不知不觉中”直接更改了生产环境中 APEX 应用上的代码。

为了防止开发者能够做到这一点;有人建议我导入具有“仅运行应用程序”构建状态的应用程序。 它确实可以防止用户对生产环境进行“意外”更改,但现在我们无法导入和覆盖具有相同 App ID 的应用程序。 它告诉我们... '无法安装应用程序,因为它的构建状态是仅运行应用程序。如果您希望安装该应用程序,您必须首先以 Workspace 管理员身份登录。 ' 好的,很酷...但是我们使用工作区管理员登录。

我想当我们想要导入和覆盖应用程序时,我们可以将构建状态更改回“运行和构建应用程序”,但这对于仅导入应用程序来说似乎有些过分。 在这里可以做什么?

在此先感谢 :) 顶点 v5.0.4 甲骨文11g

【问题讨论】:

  • 我从来没有真正看到使用 Build Status 的充分理由 - 我更喜欢使用 Run-time Only 选项来完全锁定 Prod(部署只能通过命令行完成)。

标签: oracle oracle-apex oracle-apex-5


【解决方案1】:

如果您运行应用程序导出脚本,您仍然可以覆盖应用程序。从您的开发环境中导出您的应用程序 - 这会为您提供一个 SQL*Plus 脚本(例如 f100.sql),然后您可以直接在 prod 环境中运行该脚本。

(在 Oracle APEX 5.0.3 中测试)

【讨论】:

  • 啊哈,所以 - 您实际上不会通过 Apex“导入”f100.sql,而是将其作为脚本运行(例如在 SQL*Plus 提示符下)。我想是作为 APEX_xxxxxx 用户连接的?
  • 可以,但不要作为 APEX_xxxxxx 运行,而是作为与工作区关联的架构运行。
  • 我刚刚导出了我的一个应用程序。注释(在 .SQL 脚本的开头)说“您应该以 Oracle 用户 APEX_050100 或应用程序的所有者(解析模式)身份运行连接到 SQLPlus 的脚本”所以 - 这并不重要, 可以?顺便说一句,我从来没有通过 SQLPlus 导入它,总是通过 Apex 导入实用程序。显然,我没有必要。谢谢你的信息!
  • 啊,好吧 - 很公平:)
  • 默认情况下 f100.sql 将覆盖应用程序 ID 100。您可以通过在运行脚本之前运行 apex_application_install.set_application_id(119); 来覆盖它。更多信息:jeffkemponoracle.com/2013/05/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-21
  • 2020-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-07
相关资源
最近更新 更多