gpt4 book ai didi

oracle - OracleXE 的 APEX 可以访问同一服务器上的另一个 Oracle 数据库 (10g),还是仅限于 XE 数据库中的那些用户/表空间?

转载 作者:行者123 更新时间:2023-12-04 05:33:11 25 4
gpt4 key购买 nike

我的工作使用 Oracle 10G,并计划安装 Apex。与此同时,我下载了 Oracle XE 并自学了 APEX;但是,我只能访问我在 XE 数据库中创建的用户/表空间。我想做的是使用 XE 的 Apex 来访问我工作的生产数据库中的用户/表空间。

我的同事说这应该是可能的,因为我的工作站连接到服务器,并且应该有一种方法可以配置从我的 XE 的 Apex 到 10g 的数据库的访问,例如通过设置适当的 DAD。

我在 Apex 用户界面中看不到任何允许这样做的内容。我已经阅读了 Apex 文档的每一个字,但没有注册。

XE 使用嵌入式 PL/SQL 网关,而 10/11G 使用 Apex 监听器或带有 mod_plsql 插件的 HTTP 服务器。

谢谢,

马修·莫伊森

最佳答案

我之前已经这样做了,我们无法访问托管要使用的数据的实际数据库,除了标准端口 1521 监听器访问。当时的 Apex 对组织来说足够新了,以至于 DBA 也对将他们的数据库服务器用作 Web 服务器网关也有禁忌。您可以通过以下步骤使用安装了 APEX 作为“中间层”或应用服务器的数据库实例:

  • 在可通过 dblink 远程访问的 10g 数据库上设置一个帐户。
  • 在安装了 XE 的工作站上设置到 10g 数据库表的 dblinks,使用在 (1) 中设置的 10g 数据库的帐户和连接信息。请注意,您可能需要更新 TNS 名称文件或在 dblink 本身中明确指出您的主机/网络设置。
  • 为了在编写 apex 项目时简单而简单,请为所有 dblinked 对象设置同义词(即 table1@dblink 的 table1),这样您就不会在 apex 代码中直接引用 dblink。如果您坚持这一点,以后进行更改会更容易。

  • 就是这样。一个附带条件是,您需要知道在使用 dblink 时,LOB 将无法与 APEX 驱动的 DML 操作的开箱即用功能一起使用。这可能在最新版本中发生了变化。您可能考虑的一种解决方法是尝试使用存储过程,该过程将您的 LOB 数据作为输入参数传递,该参数将为您执行 DML 操作。

    否则,这种方法效果很好。我实现这个模型的地方有几个生产级应用程序、一个测试和一个开发层,它们都使用与实际数据源分开托管 APEX 的服务器。我们使用了 Oracle 标准版一(用于支持),但 Oracle XE 应该也能正常工作,因为 APEX 是任一 Oracle 版本之间的通用平台。

    关于oracle - OracleXE 的 APEX 可以访问同一服务器上的另一个 Oracle 数据库 (10g),还是仅限于 XE 数据库中的那些用户/表空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12324213/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com