Можем ли мы подключиться к любой версии oracle, используя библиотеку cx_oracle python? - PullRequest
0 голосов
/ 18 декабря 2018

Я пытаюсь написать скрипт для подключения ко всем версиям базы данных oracle, начиная с самой последней и до самой старой версии базы данных.

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

Также пробовал с подключением Sqlalchemy, которое также использует библиотеки cx_oracle.

Пожалуйставести меня, если я делаю что-то не так?Я также хотел бы услышать, есть ли другие способы подключения к базе данных, используя PYTHON

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

У меня есть клиент базы данных Oracle 11.2 на моем корпоративном ноутбуке с Windows 7, и я использую cx_Oracle для подключения к базам данных с версии 9.2 до 12.2 без каких-либо затруднений.

Другой способ подключения к базам данных всех версий - этоОберните Python вокруг Linux-версии утилиты Oracle sqlplus.Таким образом, мне не нужно устанавливать cx_Oracle, и я могу работать со старым клиентом Oracle и версией Python, поставляемой с дистрибутивом Linux.В моем случае я работаю на Redhat 6, который поставляется с Python 2.6.Таким образом я подключаюсь к базам данных с версии 8.1 до 12.2.

У меня есть запись в блоге о том, как я запускаю sqlplus из Python в Linux: https://www.bobbydurrettdba.com/2016/11/04/running-sqlplus-from-a-python-script/

Бобби

0 голосов
/ 18 декабря 2018

cx_Oracle 6 и выше уже поддерживают подключение к любой базе данных Oracle от 9i до 18c в зависимости от клиента, который вы используете.Для cx_Oracle требуются клиентские библиотеки Oracle по крайней мере в 11.2.Вы можете увидеть примечания по взаимодействию здесь .Поскольку все, что раньше 11.2, больше не поддерживается, это должно быть достаточно практически при любых обстоятельствах.

Вы также можете использовать ODBC для подключения к базе данных, но это не будет работать так же хорошо, как cx_Oracle.

...