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')
)