2016-04-25 3 views
1

Я пытаюсь подключиться к базе данных оракула с Pyodbc:Pyodbc подключения к Oracle

pyodbc.connect('{Microsoft ODBC for Oracle};Server=serverxzy.com:1234;Uid=myusername;Pwd=pass123') 

Я получаю следующее сообщение об ошибке:

pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)') 

Любые предложения, как исправить это было бы оценено , Меня особенно интересует работа pyobbc, а не cx_Oracle.

ответ

0

Вы должны использовать проприетарную библиотеку для Oracle, cx_Oracle, и у вас должен быть установлен клиент и SDK Oracle.

После этого все настройки вы можете просто:

import cx_Oracle 

conn_str = 'USER/[email protected]:PORT/ALIAS' 
conn = cx_Oracle.connect(conn_str) 

Затем вы можете создать курсор с Конн объекта:

c = conn.cursor() 

И тогда вы можете выполнить SQL:

c.execute(SQL) 
+0

Если бы все было так просто, я бы не попытался переключиться с cx_Oracle на pyobbc. Но, возможно, вы можете ответить на мой другой вопрос в этом случае: http://stackoverflow.com/questions/36845401/cx-oracle-importerror-dll-load-failed-the-specified-procedure-could-not-be-fo – Nickpick

1

Рассмотрите смету DRIVER в connection string:

pyodbc.connect('DRIVER={Microsoft ODBC for Oracle};Server=serverxzy.com:1234; 
       Uid=myusername;Pwd=pass123') 
+0

Это не влияет – Nickpick

+0

Точная ошибка? Проверьте, совпадает ли драйвер Oracle с битовой версией Python? Драйверы/DSN ODBC можно найти в ODBCcad32.exe как в: C: \ Windows \ System32 и C: \ Windows \ SysWOW64. Кроме того, я использую [pypyodbc] (http://stackoverflow.com/questions/14463591/does-pyodbc-have-any-design-advantages-over-pypyodbc). – Parfait

Смежные вопросы