Проблема, скорее всего, в версии вашего модуля cx_Oracle.
При установке модуля вы должны быть чрезвычайно осторожны, чтобы выбрать подходящую версию для вашей установки Oracle.
http://cx -oracle.sourceforge.net /
Если вы не можете подключиться к базе данных с помощью cx_Oracle, вам может быть сложно проверить точность информации
Если у вас установлен sql * plus, вы можете попробовать запуститьобработайте с использованием модуля подпроцесс и проверьте, можете ли вы подключиться, но, на мой взгляд, вам лучше исправить cx_Oracle
Edit: Имеется в виду модуль подпроцесса.
Вот как это можно сделать с помощью подпроцесса:
import subprocess
def is_login_valid(user, password, instance):
output = subprocess.check_output("sqlplus %s/%s@%s" %(user, password, instance))
return (output.find("ORA-01017") == -1 and output.find("ORA-12154") == -1)