Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.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 Oracle错误地查找TNS名称:TNS:无法解析指定的连接标识符_Python_Oracle_Oracle11g_Cx Oracle - Fatal编程技术网

Python Oracle错误地查找TNS名称:TNS:无法解析指定的连接标识符

Python Oracle错误地查找TNS名称:TNS:无法解析指定的连接标识符,python,oracle,oracle11g,cx-oracle,Python,Oracle,Oracle11g,Cx Oracle,我正在尝试使用cx_oracle连接到oracle数据库,但收到以下错误消息: ORA-12154: TNS:could not resolve the connect identifier specified 我使用的连接字符串如下: 'xxxx/pw@lonod-com:1221/LNOUND_USER.uk.something.com' 连接字符串绝对正确,因为它在同一网络上的不同计算机上工作。我还可以在使用OracleSQLDeveloper时连接到数据库,因为它不能从Python中

我正在尝试使用cx_oracle连接到oracle数据库,但收到以下错误消息:

ORA-12154: TNS:could not resolve the connect identifier specified
我使用的连接字符串如下:

'xxxx/pw@lonod-com:1221/LNOUND_USER.uk.something.com'
连接字符串绝对正确,因为它在同一网络上的不同计算机上工作。我还可以在使用OracleSQLDeveloper时连接到数据库,因为它不能从Python中工作


我怀疑出于某种原因,它一直在寻找我没有使用的TNS名称条目。是否有某个标志可能导致cx_Oracle继续查找TNS名称条目,或者是什么原因导致此问题?

如果您的sqlnet.ora配置文件的names.directory_path配置变量中不包含EZCONNECT选项,则会出现这种情况。下面是一些检查您正在使用的内容的方法。您还可以使用SQL*Plus测试此连接字符串——如果它与SQL*Plus一起使用,那么它也将与cx\ U Oracle一起使用

1) 如果设置了环境变量TNS_ADMIN,则其值指示Oracle在何处搜索配置文件。如果没有,并且您安装了完整的Oracle客户端,它将查看$Oracle_HOME/network/admin中的内容

2) 如果安装了完整的Oracle客户端,还可以使用tnsping实用程序确定Oracle正在使用什么以及从中读取什么配置文件

3) 如果您在Oracle正在搜索配置文件的位置中有一个sqlnet.ora文件,请在文件中查找名称.directory\u path=line。如果它被找到,它需要看起来像这样:

names.directory_path = (TNSNAMES, EZCONNECT)
希望有帮助