Проект «SnakeProject» Михаила КозловаРегистрация

Навигация
⇒Python⇒

⇐CISCO
⇐Voice(Asterisk\Cisco)
⇐Microsoft
⇐Powershell
⇐SQL\T-SQL
⇐FreeBSD and Nix
⇐1С
⇐Общая
⇐WEB Разработка
⇐ORACLE SQL \ JAVA
⇐Мото

Python + Oracle, cx_Oracle и instant client


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

Решение было опробовано по ОС WINDOWS 7 x32 и ОС WINDOWS 2012 x64.

Что нужно делать?

1. Установить клиент Oracle для Windows.
2. Установить модуль cx_Oracle.
3. Установить переменную окружения.

Клиент Oracle:

1. Скачиваем нужную Вам версию Instant client basic для Вашей платформы: http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
2. Распаковываем архив.
3. Перемещаем содержимое архива например в папку c:\instantclient_10_1

cx_Oracle:

Версию cx_Oracle выбираем в соответствии версией языка Python и версией клиента Oracle здесь: http://cx-oracle.sourceforge.net/

Переменная окружения:

Свойства моего компьютера -> Дополнительные параметры системы -> Переменные среды -> Добавить данной переменной в начало наш путь к папке с клиентом и не забыть отделить ; от остальных путей.

PATH=C:\instantclient_10_1;

Как использовать:

Примеры можно найти например тут: http://www.orafaq.com/wiki/Python

Вот простой пример запроса выборки 4х столбцов, и вывод в консоль результата:

import cx_Oracle


conn=cx_Oracle.connect('login/pass@192.168.1.1/BASE.HNS')
cursor=conn.cursor()


cursor.execute('SELECT UPPER(da.APPLNAME) as APPLNAME,UPPER(da.SITENAME) as SITENAME,dl.VAPLINECFDIRECTORYNUMBER,dv.VAPCONFIGCFENTERPRISEIPADDRESS FROM dms_appliance da,dms_vaplines dl, dms_vap dv WHERE da.appltype=1 AND dl.applid=da.applid AND dl.vaplinecfdirectorynumber IS NOT NULL AND dv.vapid=da.applid')


for column_1, column_2, column_3, column_4 in cursor.fetchall():
    print(column_1, column_2, column_3, column_4)


cursor.close()
conn.close()

 


Комментарии пользователей

Оставленных комментариев: 4Добавить комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!
Дмиртий (09.09.2016 в 15:05)ответить
Михаил, здравствуйте, сделал все, как у Вас описано выше, но подключения не происходит, ошибка: DatabaseError: ORA-12170: TNS:Connect timeout occurred Не поможете разобраться, в чем дело? У меня Windows 8 x64, python 3.5. Я установил instant client 12.1.
Дмиртий (09.09.2016 в 15:09)ответить
Михаил, здравствуйте, сделал все, как у Вас описано выше, но подключения не происходит, ошибка: DatabaseError: ORA-12170: TNS:Connect timeout occurred Не поможете разобраться, в чем дело? У меня Windows 8 x64, python 3.5. Я установил instant client 12.1.
MSnake (12.09.2016 в 10:59)ответить
Доброе утро! С восьмеркой была эта проблема, бились дня 4 и снесли ее, как решить на ней проблему так и не поняли.
Дмиртий (13.09.2016 в 11:53)ответить
Доброе! жаль, что не получилось подключиться...но все равно спасибо за ответ.

© Snakeproject.ru создан в 2013 году. При копировании материала с сайта - оставьте ссылку.


Яндекс.Метрика

Goon Каталог сайтов Рейтинг@Mail.ru