【问题标题】:How to connect python to Oracle Application Express如何将 python 连接到 Oracle Application Express
【发布时间】:2020-10-30 16:33:41
【问题描述】:

我希望通过一个 .py 文件尝试连接到我的 Oracle Apex 工作区数据库,就连接字符串下传递的参数提供一些帮助:

connection = cx_Oracle.connect("user", "password", "dbhost.example.com/dbinstance", encoding="UTF-8")

在“apex.oracle.com”的登录页面上,我们必须传递以下信息:

我可以假设“user”参数等于 USERNAME 信息,“password”参数等于 PASSWORD 信息,“dbinstance”参数等于 WORKSPACE 信息吗?

那么主机名呢?期望的参数是什么?如何找到它?

非常感谢您的支持。

【问题讨论】:

  • 当您将 Python 连接到 APEX 数据库时,您希望看到什么?
  • APEX是一个运行在Oracle数据库上的开发平台;也许你想要的是如何从你的 python 程序连接到 Oracle 数据库?

标签: python oracle-apex


【解决方案1】:

这些参数不等价。 APEX 工作空间是仅存在于 APEX 中的逻辑构造;它不对应于物理数据库实例。用户名和密码不一定与数据库用户相对应,因为 APEX 能够进行多种身份验证。

APEX 本身完全在单个物理数据库中运行。一个 APEX 实例支持多个逻辑工作区,每个工作区可能有自己独立的 APEX 用户帐户,这些帐户通常(通常)根本不对应数据库用户。基于 APEX 的应用程序也可能有自己完全独立的身份验证方法,并且通常不使用为 APEX 工作区定义的相同用户。

当 APEX 应用程序确实连接到数据库以运行时,它会以代理用户身份使用其他非特权数据库帐户(如 APEX_PUBLIC_USER)连接。

如果要将 Python 连接到 APEX,则必须像连接任何其他 Web 应用程序一样进行连接:通过 URL 使用适合用户界面的任何凭据,然后解析 HTML 输出,或通过 APEX/ORDS REST API(您必须先构建和部署)。

如果您想连接到 APEX 后面的数据库,则需要数据库管理员提供的适当配置的数据库(不是 APEX)帐户、凭据和连接信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    • 2019-03-11
    • 2012-01-06
    • 1970-01-01
    • 2018-03-05
    • 1970-01-01
    相关资源
    最近更新 更多