Python подключается к оракулу

Обновлено: 23.11.2024

В этом блоге я представлю несколько способов подключения к базе данных Oracle.

В качестве первого шага для подключения к базе данных Oracle необходимо импортировать пакет cx_oracle.

Вы можете думать о cx_oracle как о драйвере Oracle jdbc для Java-программистов.

С момента первого публичного выступления в июле 2017 года Oracle постоянно совершенствует Python cx_driver, добавляя внушительный набор функций, даже больше, чем в драйвере Java jdbc.

Последняя версия драйвера Oracle Python на момент написания этой статьи — версия 7.

Этого должно быть достаточно, чтобы убедить вас ожидать стабильности производственного уровня, поскольку статус разработки установлен на «зрелый», что вы можете проверить по следующей ссылке:

Вот наиболее распространенные способы доступа к базе данных Oracle с помощью cx_driver:

Если вы определили запись tns в tnsnames.ora, используйте следующий метод:

То же, что и 1, но записано по-другому:

db = cx_Oracle.connect(user=’scott’, password = ‘xx’, dsn = ‘ORCL’)

Без записи tns, соединение определено в dsn (имя источника данных):

db = cx_Oracle.connect (пользователь = 'scott', пароль = 'xx', dsn = '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = tcp) (host = localhost) (Port = 1521))) (CONNECT_DATA = (SID = orcl)))')

То же, что и 3, за исключением того, что на этот раз вместо SID используется имя службы:

db = cx_Oracle.connect (пользователь = 'scott', пароль = 'xx', dsn = '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = tcp) (host = localhost) (Port = 2263))) (CONNECT_DATA = (SERVICE_NAME = python_test)))')

Строка подключения определяется отдельно (предоставляются версии SID и имени службы)

connectionstring = cx_Oracle.makedsn(host = ‘localhost’, port = 1521, sid = ‘orcl’)

connectionstring = cx_Oracle.madesn(host = ‘localhost’, port = 2263, service_name = ‘python_test’)

db = cx_Oracle.connect(пользователь=’scott’, пароль = ‘xx’, dsn = строка подключения)

Вот полная демонстрация:

Если вы забыли установить ORACLE_HOME в своей программе следующим образом:

вы получите следующую ошибку:

Я протестировал приведенный выше код на обоих дистрибутивах: CPython и Anaconda, используя виртуализацию Python pipenv и cond, с установленным полным клиентом Oracle.

Необходимо подключить Python к базе данных Oracle с помощью cx_Oracle connect?

Если это так, в этом кратком руководстве вы увидите, как установить этот тип подключения с нуля.

Шаги по подключению Python к Oracle с помощью cx_Oracle connect

Шаг 1. Установите пакет cx_Oracle

Если вы еще этого не сделали, установите пакет cx_Oracle. Вы можете использовать следующий синтаксис для установки пакета cx_Oracle в Windows:

Шаг 2. Получите информацию о подключении

Затем получите информацию о соединении. Это можно сделать, найдя файл tnsnames.ora на своем компьютере (например, введите tnsnames.ora в строку поиска Windows).

Теперь откройте файл tnsnames.ora и найдите нужное соединение.

Это должно выглядеть так, как показано ниже (выделены цветом 3 элемента, которые обычно необходимо искать, прежде чем вы сможете установить соединение между Python и вашей базой данных Oracle):

SYSTEM_OCON =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = имя хоста)(PORT = номер порта))
(LOAD_BALANCE = YES)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = имя службы)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
>(ПОВТОРНЫЕ ПОПЫТКИ = 180)
(ЗАДЕРЖКА = 5)

Шаг 3. Подключите Python к Oracle с помощью cx_Oracle connect

Наконец, скопируйте/введите следующий синтаксис в Python, добавляя необходимую информацию на основе вашего подключения к Oracle:

Обратите внимание, что существуют дополнительные способы получения информации, необходимой для облегчения подключения к базе данных Oracle.

Например, вы можете выполнить следующий запрос, чтобы получить имя службы:

Вы также можете выполнить следующий запрос, чтобы получить список пользователей:

Заключение и дополнительные ресурсы

Вы только что видели, как подключить Python к Oracle с помощью cx_Oracle connect. Установив такое подключение, вы можете начать использовать SQL в Python для управления данными.

Вы можете узнать больше о различных типах соединений между Python и другими приложениями баз данных, посетив эти руководства:

Дополнительную информацию о пакете cx_Oracle см. в документации по cx_Oracle.

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

  • Подключение к базе данных Oracle с помощью Python
  • Подключение к базе данных Oracle с помощью Python Pyodbc
  • Подключение к базе данных Oracle с помощью Python без cx_Oracle
  • Подключение к базе данных Oracle с помощью Python SQLAlchemy
  • Подключение к базе данных Oracle с помощью Python в Linux
  • Подключение к базе данных Oracle с помощью Python Pandas
  • Подключение к базе данных Oracle с помощью примера Python

Подключение к базе данных Oracle с помощью Python

В этом разделе мы узнаем, как подключиться к базе данных Oracle с помощью pyython.

Подключение к базе данных Oracle с помощью Python Pyodbc

В этом разделе мы узнаем, как подключиться к базе данных Oracle с помощью модуля Python pyodbc.

  • Модуль Python Pyodbc полностью посвящен базе данных оракула, и с помощью этого модуля мы можем выполнять все запросы к базе данных оракула.
  • Этот модуль не ограничивается только базой данных Oracle. Он отлично работает с другими базами данных, такими как PL/SQL, SQLite, Microsoft SQL и т. д.
  • Модулю Python pyodbc требуется установка Microsoft Visual C++ 14.0 или более поздней версии через pip.
  • Вот код для подключения к базе данных oracle с помощью модуля pyodbc python.
  • Описание:
    • ДРАЙВЕР: укажите имя драйвера для оракула.
    • База данных: укажите имя глобальной базы данных, по умолчанию — orcl.
    • UID: укажите имя пользователя, через которое вы хотите подключиться.
    • PWD: введите пароль для этого пользователя.
    • Вот демонстрация того, как подключиться к базе данных oracle с помощью модуля python pyodbc.

    Исходный код:

    Вывод:

    В этом выводе все четыре записи отображаются в терминале vscode. Записи были получены из базы данных Oracle с помощью Python.

    Подключение к базе данных Oracle с помощью Python Pyodbc

    Установка на Windows

    С помощью диспетчера пакетов pip мы можем установить модуль python pyodbc в операционной системе Windows. Обратите внимание, что вы увидите сообщение об ошибке, если Microsoft Visual C++ 14 или более поздней версии не установлен.

    Установка на MacOSX и более поздних версиях

    Вы можете установить python pyodbc в операционной системе MacOSX с помощью диспетчера пакетов brew. Используйте приведенную ниже команду для установки python pyodbc на macOSX и более поздних версиях

    Установка на Linux Ubuntu

    Вы можете установить python pyodbc в Linux с помощью диспетчера пакетов pip. Помимо pip вам могут потребоваться пакеты unixoodbc-dev и dev для поддержки pyodbc.

    Установка на Linux Debian (кроме ubuntu)

    Используйте приведенный ниже код для установки python pyodbc, если вы используете дистрибутив Debian Linux, отличный от Ubuntu, например Mint OS.

    Установка в Linux CentOS 7 и более поздних версиях

    Используйте приведенный ниже код для установки python pyodbc на компьютер с RHEL CenOS 7.

    Установка в Linux Fedora

    Используйте приведенный ниже код для установки python pyodbc на компьютер с Fedora Linux.

    Установка на Linux OpenSUSE

    Установка на Amazon Linux

    Установка в Alpine Linux

    Подключение к базе данных Oracle с помощью Python без cx_Oracle

    В этом разделе мы узнаем, как подключиться к базе данных oracle с помощью python без cx_Oracle.

      — важный модуль, с помощью которого мы можем подключиться к базе данных Oracle с помощью Python.
    • Благодаря простоте подключения без какой-либо зависимости он очень популярен и наиболее предпочтителен, когда речь идет о подключении базы данных Oracle к Python.
    • Если вы не хотите подключаться к базе данных Oracle с помощью модуля Python cx_Oracle. В этом случае вы можете использовать модуль Python pyodbc.
    • Чтобы узнать больше о python pyodbc, обратитесь к нашему предыдущему разделу Подключение к базе данных Oracle с помощью Python Pyodbc.

    Подключение к базе данных Oracle с помощью Python SQLAlchemy

    В этом разделе мы подключились к базе данных Oracle с помощью модуля Python SQLAlchemy.

    • Модуль SQLAlchemy в Python позволяет разработчику использовать весь потенциал SQL, создавая запросы в редакторе Python.
    • Используйте приведенный ниже код для установки модуля python SQLAlchemy в вашей системе с помощью диспетчера пакетов pip или conda.
    • После установки модуля импортируйте его в редактор Python (vscode, jupyter и т. д.).
    • Python SQLAlchemy предоставляет модуль create_engine(), с помощью которого wen может подключаться к базе данных Oracle.

    Исходный код:

    В этом коде мы продемонстрировали, как подключить базу данных Oracle к модулю Python SQLAlchemy. Мы установили соединение и передали запрос.

    Вывод:

    В этом выводе мы подключаемся к базе данных oracle с помощью python SQLAlchemy, а затем получаем данные с помощью python SQLAlchemy.

    Подключение к базе данных Oracle с помощью Python SQLAlchemy

    Подключение к базе данных Oracle с помощью Python в Linux

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

    • Python предоставляет два модуля, с помощью которых мы можем подключиться к базе данных Oracle в Linux.
      • pyodbc
      • cx_Oracle
      • После установки модуля python cx_Oracle в операционной системе Linux. Пришло время подключиться к базе данных.
      • Описание синтаксиса:
        • user: пользователь — это имя пользователя, к которому мы собираемся подключиться.
        • пароль: пароль пользователя
        • dsn: dsn состоит из двух частей: server и sid. В этом случае server — это localhost, а sid — orcl.

        Подключение к базе данных Oracle с помощью Python Pandas

        В этом разделе мы узнаем, как подключиться к базе данных oracle с помощью python pandas.

          — это расширенная библиотека, используемая для чтения и анализа данных из различных источников, таких как csv, excel, sql и т. д.
        • С помощью модуля python cx_Oracle мы можем подключиться к python pandas и отобразить данные в кадре данных.
        • В нашем примере мы подключились к базе данных oracle с помощью python pandas, а затем выполнили запрос на выборку. Вся информация отображается в формате кадра данных.

        Исходный код:

        В этом исходном коде мы использовали модуль python cx_Oracle для установления связи между oracle и python. Мы также импортировали модуль pandas, с помощью которого мы создали кадр данных полученной информации.

        Вывод:

        В этом выводе создаются четыре строки и 4 столбца. данные, отображаемые здесь в виде фрейма данных, извлекаются из базы данных оракула с использованием python pandas.

        Подключиться к базе данных оракула с помощью панд

        Подключение к базе данных Oracle с использованием примера Python

        В этом разделе мы увидим пример подключения к базе данных Oracle с помощью Python.

        Вывод:

        В этом выводе отображаются страны, год и ожидаемая продолжительность жизни. В каждой стране разная продолжительность жизни, и все эти данные берутся из базы данных Oracle с помощью Python.

        Подключение к базе данных Oracle с использованием примера Python

        Также. взгляните на еще несколько руководств по Oracle.

        В этом руководстве мы узнали, как подключиться к базе данных Oracle с помощью Python. Кроме того, мы рассмотрели эти темы.

        • Подключение к базе данных Oracle с помощью Python
        • Подключение к базе данных Oracle с помощью Python Pyodbc
        • Подключение к базе данных Oracle с помощью Python без cx_Oracle
        • Подключение к базе данных Oracle с помощью Python SQLAlchemy
        • Подключение к базе данных Oracle с помощью Python в Linux
        • Подключение к базе данных Oracle с помощью Python Pandas
        • Подключение к базе данных Oracle с помощью примера Python

        За долгие 14 с лишним лет моей профессиональной карьеры я использовал SQL Server во множестве проектов. Наслаждайтесь моими руководствами по SQL Server.

        Python – это популярный язык написания сценариев общего назначения, который также становится популярным среди веб-разработчиков. Если вы хотите использовать базу данных Oracle в качестве хранилища данных для своего приложения Pyhon, в этом руководстве показано, как подключить Python к базе данных Oracle с помощью драйвера ODBC, включая примеры кода. Существует множество способов подключения к базе данных Oracle из Python, в том числе cx_Oracle, модуль расширения Python, который обеспечивает доступ к базе данных Oracle, msot приложений, хотя для подключения к Oracle используется драйвер ODBC или JDBC. Одним из наиболее удобных способов подключения к внешней базе данных или доступа к облачным данным из Python является использование модуля Python pyodbc, который реализует спецификацию базы данных Python и позволяет легко подключать приложения Python к источникам данных с помощью драйвера Devart ODBC для Oracle.< /p>

        Установка модуля pyodbc и Oracle ODBC

        Если на вашем компьютере не установлен Python, перейдите на официальный веб-сайт Python, загрузите программу установки для своей системы и запустите ее. Вам также потребуется установить модуль pyodbc — проще всего это сделать с помощью команды pip install pyodbc в интерактивном режиме Python. Хранилище базы данных Oracle поставляется с поддержкой ODBC, но для подключения к Oracle из Windows, macOS или Linux необходимо установить драйвер ODBC для Oracle, иначе модуль pyodbc не сможет установить соединение с базой данных.

        Затем вам необходимо загрузить драйвер ODBC для Oracle.Чтобы использовать драйвер ODBC в качестве уровня преобразования между приложением и базой данных, необходимо настроить его, следуя инструкциям по установке.

        Подключение Python к базе данных Oracle через драйвер ODBC

        Ниже приведен пример кода Python, который подключается к Oracle с помощью драйвера ODBC. Сначала мы импортируем модуль pyodbc, затем создаем соединение с базой данных, вставляем новую строку и считываем содержимое таблицы EMP, выводя каждую строку в интерактивную консоль Python. Если вы когда-либо подключались к какой-либо реляционной базе данных из Python, вы легко поймете код, поскольку мы описываем каждую строку. Чтобы выполнить скрипт, вы можете ввести этот код непосредственно в интерактивной консоли или добавить код в файл с расширением .py и запустить файл из командной строки.

        Шаг 1. Подключитесь

        Модуль pyodbc импортируется для предоставления API для доступа к базе данных Oracle. Код использует драйвер под названием «Драйвер Devart ODBC для Oracle» для подключения к удаленной базе данных. После установления соединения вы можете выполнять операции CRUD с базой данных.

        Шаг 2. Вставьте строку в таблицу Oracle

        Вот простой пример того, как выполнить оператор insert для проверки соединения с базой данных. Сценарий вставляет новую запись в таблицу EMP.

        Шаг 3. Получите данные из таблицы Oracle

        Функция cursor.execute() извлекает строки из запроса select в наборе данных. Функция cursor.fetchone() перебирает набор результатов, возвращаемый cursor.execute(), а функция print() распечатывает все записи. со стола на консоль.

        Заключение

        Мы показали вам, как получить доступ к базе данных Oracle с помощью Python, pyodbc и драйвера Devart ODBC. В этом руководстве используется всего несколько строк кода для установления соединения и демонстрации основных операций, но вы можете использовать модуль pyodbc и наш драйвер для Oracle в корпоративном приложении в производственной среде. Вы можете бесплатно скачать драйвер Devart ODBC для Oracle, чтобы оценить его возможности. Вы можете использовать те же шаги для подключения к любому источнику данных с помощью драйвера Devart ODBC: в основном все, что вам нужно сделать, это изменить строку подключения, функции pyodbc, используемые в этом руководстве, работают для любой базы данных.

        Читайте также: