TNS: не удалось устранить ошибку, связанную с идентификатором соединения - PullRequest
0 голосов
/ 29 мая 2019

Я пытаюсь подключиться к базе данных, используя cx_Oracle в Python. вот как я это делаю:

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

Я могу подключиться к БД с помощью sql developer с теми же учетными данными, но когда я пытаюсь подключиться из python, выдается ошибка:

ORA-12154: TNS: не удалось разрешить идентификатор соединения указанный .

Я попробовал то же самое из другой системы, и я могу подключиться к базе данных, используя cx_Oracle. Содержимое файла TNSNames.ora в обеих системах одинаково.

Я удалил все и установил снова, надеясь избавиться от ошибок, которые я мог совершить в первый раз, но я все еще сталкиваюсь с той же ошибкой.

Пожалуйста, дайте мне знать, если есть какой-либо способ исправить это.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 03 июня 2019

Я понял, что происходит не так. База данных использует файл LDAP . И в файле SQLNET.ORA LDAP не упоминался, что вызвало ошибку для меня. Просто добавив LDAP к NAMES.DIRECTORY_PATH в SQLNET.ORA , я решил эту проблему.

0 голосов
/ 30 мая 2019

Вместо этого вы можете попробовать использовать EZ connect, или вы можете использовать cx_Oracle.makedsn() для создания строки подключения. Если вы предоставите содержимое вашего файла tnsnames.ora, я могу дать более подробный ответ.

...