Tnsname не найдены в python, даже если вы установили его в переменных env на win

У меня, казалось бы, простая проблема. При попытке подключиться к базе данных Oracle с помощью скрипта Python выдает следующее сообщение об ошибке:

cx_Oracle.DatabaseError: ORA-12505: TNS:listener does not currently know of SID given in connect descriptor

Дело в том, что tnsnames.ora установлен в переменной окружения TNS_ADMIN (я работаю над win 10), и я даже могу найти его через sqldeveloper при создании новых соединений. Кроме того, я уверен, что я использую правильный DSN в моем сценарии... следовательно... есть идеи?

1 ответ

Решение

Это мой код Надеюсь, поможет

self.mydsn = cx_Oracle.makedsn(self.parser.get(
    'oracle', 'db'),
    self.parser.get('oracle', 'port'),
    self.parser.get('oracle', 'service_name')
    )
Другие вопросы по тегам