cx_Oracle не подключается при использовании SID вместо имени службы в строке подключения
У меня есть строка подключения, которая выглядит так
con_str = "myuser/[email protected]:1521/ora1"
кудаora1
это SID моей базы данных. Использование этой информации в SQL Developer работает нормально, это означает, что я могу подключаться и запрашивать без проблем.
Тем не менее, если я пытаюсь подключиться к Oracle, используя эту строку, это не удается.
cx_Oracle.connect(con_str)
DatabaseError: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
Этот формат строки соединения работает, еслиora1
это имя службы, хотя
Я видел другие вопросы, которые, кажется, имеют обратную сторону моей проблемы (она работает с SID, но не с именем службы)
Использование имен сервисов Oracle с SQLAlachemyOracle SID и имя службы; проблемы с подключениемcx_Oracle & Подключение к БД Oracle удаленноКак правильно подключиться к Oracle, используяcx_Oracle
, используяSID
а не название сервиса? Как мне это сделать без необходимости настройкиTNSNAMES.ORA
файл? Мое приложение распространяется среди многих пользователей внутри страны и вносит изменения вTNSNAMES
Файл не идеален при работе с пользователями без прав администратора на их компьютерах с Windows. Кроме того, когда я использую имя службы, мне вообще не нужно трогать этот файл, и он хотел бы, чтобы он сохранялся таким образом.