TNS:could 未解决连接标识符指定的错误

TNS:could not resolve the connect identifier specified error

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

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

我可以使用具有相同凭据的 sql 开发人员连接到数据库,但是当我尝试从 python 连接时,它会抛出错误:

ORA-12154: TNS:could not resolve the connect identifier specified.

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

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

如果有任何解决方法,请告诉我。

谢谢。

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

我意识到出了什么问题。 数据库使用 LDAP 文件。在 SQLNET.ORA 文件中,没有提到 LDAP,这导致了我的错误。 只需将 LDAP 添加到 SQLNET.ORA 中的 NAMES.DIRECTORY_PATH 就为我解决了这个问题.