python-3.x - 如何在 Windows 中通过 LDAP 将 Python 3.x cx_Oracle 连接到 Oracle DB?

标签 python-3.x oracle ldap cx-oracle

我已获得有关数据库的这些详细信息。

Userid & Password, 
LDAP Server : stpoid.corp.com:3060:3131, 
Context: cn=OracleContext,dc=corp,dc=com, 
DB server= PRD1. 

我可以使用 sql Developer 以及这些详细信息成功连接和查询数据库。 我在 Windows 10 上运行 python3.6 和 cx_oracle。

我在 https://stackoverflow.com/a/32151099/4799035 中读到了有关该指令的信息并模糊地发现我需要创建 sqlnet.ora 和/或 tnsnames.ora 和/或 ldap.ora 文件。但这些说明在 Windows 上效果不佳。

但我不确定应该在 Windows 文件结构中的哪个位置创建它们?或者我可以在任何地方创建它们并将它们设置在路径变量中吗?变量的名称应该是什么?我应该如何配置 cx_oracle.connect() 参数?我可以在 cx_oracle.makedns() 中传递这些参数吗?

任何文档或指南都会有帮助。

最佳答案

参见cx_Oracle手册条目Optional Oracle Net Configuration Files

如果 cx_Oracle 使用即时客户端库,那么您可以将文件放在 network\admin 中。子目录,例如c:\instantclient_19_5\network\admin\tnsnames.ora 。这是使用 c:\instantclient_19_5 中的库的应用程序的默认位置。 .

或者,如果您将它们放在自定义目录中,例如 c:\configfiles ,那么您可以设置TNS_ADMIN该目录的环境变量。您可以在 Python 启动之前设置它,或者(使用 cx_Oracle 6 或更高版本)您可以在应用程序中设置它:

import os
import cx_Oracle

# Do this before opening a connection
os.environ['TNS_ADMIN'] = 'c:\configfiles'

关于python-3.x - 如何在 Windows 中通过 LDAP 将 Python 3.x cx_Oracle 连接到 Oracle DB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59393822/

相关文章:

python - 应用重力的镶嵌钻头板

active-directory - 将 Active Directory 读取为 LDAP 需要什么权限?

powershell - PowerShell 中 Active-Directory Get-ADComputer 的 LDAP 查询

python - 我们如何打印 Python 文本文件中出现单词的行号?

python - 无法解析网页中的网站链接

python - 什么时候在 Python 中使用线程?

sql - Linux grep 将命令结果放入变量中

sql - dbms_metadata.get_ddl 不工作

sql - 我需要 select 语句的结果作为单个 id 的多个出生数据

python - 使用 ldap 配置文件在 django admin 中进行身份验证