TNS:无法解决指定的连接标识符错误

时间:2019-05-29 06:50:32

标签: python-3.x cx-oracle

我正在尝试使用Python中的cx_Oracle连接到数据库。 这就是我的做法:

connection = cx_Oracle.connect("user", "pass", "service")

我能够使用具有相同凭据的sql developer连接到数据库,但是当我尝试从python连接时会抛出错误:

  

ORA-12154:TNS:无法解析连接标识符   指定

我从另一个系统尝试了同样的事情,并且能够使用cx_Oracle连接到数据库。在两个系统中,TNSNames.ora文件的内容完全相同。

我删除了所有内容并重新安装,希望摆脱我可能第一次遇到的错误,但是我仍然面临着同样的错误。

请让我知道是否有任何方法可以解决此问题。

谢谢。

2 个答案:

答案 0 :(得分:0)

您可以尝试使用EZ connect,也可以使用cx_Oracle.makedsn()来建立连接字符串。如果您提供tnsnames.ora文件的内容,我可以提供更详细的答案。

答案 1 :(得分:0)

我意识到出了什么问题。 数据库使用 LDAP 文件。在SQLNET.ORA文件中,没有提到LDAP,这对我造成了错误。 只需在 SQLNET.ORA 中的 NAMES.DIRECTORY_PATH 中添加 LDAP 即可为我解决此问题。