2017-02-17 13 views
1

У меня есть требование подключить Oracle с python и скрывать их как Dataframe. Хотелось бы узнать, какие доступные пакеты доступны и как их установить?Как подключить Oracle к моему скрипту python?

Я использую Anaconda 3 (Python 3.5.2), я попробовал cx_oracle, но не смог установить из-за зависимостей. Слышал о бите SQLAlchemy, не уверен, как его использовать.

+0

SQLAlchemy не имеет собственных драйверов. Вам все равно понадобится что-то вроде 'cx_Oracle'. Можете ли вы расширить этот оператор: «Я пытался с помощью cx_oracle, но не мог установить из-за зависимостей»? Вероятно, устранение этих проблем - лучший способ продолжения. – Chris

+0

Точная ошибка, которая возникает, это «ImportError: ошибка загрузки DLL:% 1 не является допустимым приложением Win32». Я установил предварительно скомпилированную версию Cx_oracle. – prady

+0

На этом этапе я бы удалил этот вопрос и попросил новый об этой ошибке. Тогда вы получите больше очков. – Chris

ответ

0

В прошлом он работал после следующих шагов,

1.Download и распаковать версию 12 из http://www.oracle.com/technetwork/topics/winsoft-085727.html. 2. Добавить «ORACLE_HOME» в качестве переменной среды Windows и установить ее значение для ... \ instantclient_12_1 (не содержащей ее папки!). 3. Добавьте тот же путь к переменной окружения «Путь». 4. Только теперь установите cx_Oracle. 5. Перезагрузите систему

Спасибо всем!

0

У меня есть опыт работы с SQLAlchemy + MySQL.

Из документации SQLAlchemy,

engine = create_engine('oracle://username:[email protected]:port/database') является строка соединения.

Где:

username = имя пользователя

password = пароль

host = имя хоста/IP, например, (127.0.0.1)

port = номер порта

database = имя базы данных

engine = create_engine('oracle://username:[email protected]:port/database') 
sql = 'Your SQL query in string.' 
df = pd.read_sql(sql,con=engine) 

Это должно прочитать ответ sql в виде данных.

+0

Tried выдает сообщение об ошибке «Нет модуля с именем« cx_Oracle ». Как я уже говорил, я не могу установить cx_oracle из-за зависимостей. Установка пачки или конда не работает. – prady

+0

@prady, Мой плохой. SQLAlchemy по умолчанию использует cx_Oracle. –