【问题标题】:Connect to DB using LDAP with python cx_Oracle使用 LDAP 和 python cx_Oracle 连接到数据库
【发布时间】:2021-02-02 03:40:02
【问题描述】:

我有一组使用 cx_Oracle 连接到远程数据库的 python 脚本。这是一个大项目,如果这个连接被多次使用。此外,我生成了一个分布式的 .exe 文件,并且应该尽可能独立。换句话说,如果我将 .exe 发送给您,您应该能够运行它而无需任何额外的修补(我使用 pyinstaller)

现在,我使用

建立了连接
ip = 'myhost.example.pt'
port = 1521
SID = 'MYDB_PRD.EXAMPLE.PT'
dsn_tns = cx_Oracle.makedsn(ip, port, service_name=SID)
con = cx_Oracle.connect(username_bd, password_bd, dsn_tns, encoding='UTF-8')

对象con 在脚本中使用,始终作为pandas read_sql 函数调用的连接参数。

一切都很好,除了我的数据库管理员要求使用 ldap 设置此连接。我四处搜索,我找到的唯一解决方案是在客户端的某处创建一个文件......没有其他方法吗?我不能直接在脚本上传递 ldap 配置吗?

【问题讨论】:

    标签: python pandas oracle ldap cx-oracle


    【解决方案1】:

    客户端需要正确配置的 SQLNet.ORA 和 LDAP.ORA 文件才能将 LDAP 用作 TNSNAMES 存储库。您可以在脚本中同时创建 SQLNet.ORA 和 LDAP.ORA,并使用 cx_oracle.init_oracle_client(lib_dir="..path to configuration files..") 加载这些配置文件。

    【讨论】:

      猜你喜欢
      • 2020-08-10
      • 2020-02-06
      • 1970-01-01
      • 1970-01-01
      • 2020-01-11
      • 1970-01-01
      • 2018-08-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多