oracle10 windows cx_Oracle无法获取Oracle环境句柄

问题描述 投票:0回答:1

我正在尝试在我正在迁移到的新服务器中设置我的python脚本但是每当我尝试使用脚本连接到数据库时我都会收到以下错误

dbHost = 'xxxxxx'
dbPort = xxxx
dbServiceName = 'xxx.xxxx.com'
dbUser = 'xxxx'
dbPass = 'xxxx'
dnsTns = cx_Oracle.makedsn(dbHost, dbPort, dbServiceName).replace('SID','SERVICE_NAME')
dbCon = cx_Oracle.connect(dbUser, dbPass, dnsTns)

>>> dbCon = cx_Oracle.connect(dbUser, dbPass, dnsTns)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
cx_Oracle.InterfaceError: Unable to acquire Oracle environment handle

我可以使用相同的TNS用户从命令行使用sqlplus并传递没有问题,但无法让它在脚本上工作

我的路径变量的oracle客户端文件夹设置与上一个服务器(C:\ oracle \ bin)类似。

TNS_ADMIN变量设置为“C:\ oracle \ NETWORK \ ADMIN”尝试使用ORACLE_HOME到C:\ oracle太

Oracle客户端与服务器Windows版本相同,使用pip python安装的64位cx_Oracle模块5.1.3是2.7

python windows oracle cx-oracle
1个回答
0
投票

我的建议是使用较新版本的cx_Oracle(6.1)来使用较新的客户端(至少11.2)。它应该提供更好的错误消息。如果创建Oracle环境失败,早期版本的cx_Oracle就会放弃。较新版本尝试获取基础错误。

© www.soinside.com 2019 - 2024. All rights reserved.