Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Cx Oracle';TNS无法解析连接标识符';_Python_Linux_Oracle_Ldap - Fatal编程技术网

Python Cx Oracle';TNS无法解析连接标识符';

Python Cx Oracle';TNS无法解析连接标识符';,python,linux,oracle,ldap,Python,Linux,Oracle,Ldap,我正在使用LDAP和Python cx_Oracle库连接到Oracle数据库。我有适当的sqlnet.ora、ldap.ora和tnsnames.ora文件。在我的Windows计算机上,使用12.1 Oracle客户端和以下Python代码,一切都可以正常工作: import cx_Oracle connection = cx_Oracle.connect(user/password@db, mode=cx_Oracle.SYSDBA) 我已经在我的Linux机器(Debian)上安装了O

我正在使用LDAP和Python cx_Oracle库连接到Oracle数据库。我有适当的sqlnet.ora、ldap.ora和tnsnames.ora文件。在我的Windows计算机上,使用12.1 Oracle客户端和以下Python代码,一切都可以正常工作:

import cx_Oracle
connection = cx_Oracle.connect(user/password@db, mode=cx_Oracle.SYSDBA)
我已经在我的Linux机器(Debian)上安装了Oracle instant client 12.1,安装方法遵循Oracle网站上建议的zip文件安装方法(见附录底部)。 ldconfig正确列出了oracle客户端库及其路径

我将完全相同的sqlnet.ora、ldap.ora和tnsnames.ora文件从Windows机器复制到Linux机器 在/opt/oracle/instantclient_12_1/network/admin中,按照cx_oracle文档的建议

现在在我的Linux机器上运行上述Python代码时,出现以下错误:

cx\U Oracle.DatabaseError:ORA-12154:TNS:无法解析指定的连接标识符

我还尝试设置环境变量
TNS\u ADMIN=/opt/oracle/instantclient\u 12\u 1/network/ADMIN
oracle\u HOME=/opt/oracle/instantclient\u 12\u 1/
,但都没有成功


你们谁能帮我调试一下,明白为什么我的Linux机器上的客户端配置不起作用吗?

安装了最新的19个客户端,一切正常。

不要将ORACLE设置为Instant client主页。无需设置TNS_ADMIN,因为您已将文件移动到默认位置。您的错误在别处:无法访问配置文件中的任何主机名。我能够成功ping配置文件中的主机。有没有办法让cx_Oracle库打印出已加载的配置?