Несколько дней назад меня попросили разработать приложение на Python, способное подключаться к БД Oracle. Поскольку у меня уже установлен клиент Oracle (версия 12.2.0), я просто установил cx_Oracle и попытался установить соединение, используя следующий код:
import pandas as pd
import cx_Oracle
connection = cx_Oracle.connect('username/password@service_as_described_in_tnsnames.ora')
cur=connection.cursor()
input("Press Enter to continue...")
cur.execute('select* from MY_PRETTY_TABLE')
for line in cur:
print()
cur.close()
connection.close()
Но при попытке его запустить я получил ошибку " DPI-1050: клиентская библиотека Oracle должна быть версии 11.2 или выше ". После поиска в Google, я нашел этот ответ и попытался изменить свой код на:
my_dsn = cx_Oracle.makedsn("host",port,sid="sid")
connection = cx_Oracle.connect(user="user", password="password", dsn=my_dsn)
cursor = connection.cursor()
querystring = "SQL query"
cursor.execute(querystring)
Но все же, та же ошибка. Важно отметить, что я уже использовал клиент БД Oracle на той же машине, чтобы подключить БД к Power BI.
Кроме того, если это может быть полезно, мои пути установлены как:
C:\instantclient_12_1
C:\Users\oracle2\product\12.1.0\client_1
C:\Users\oracle2\product\12.1.0\client_1\bin
C:\Users\oracle\product\12.2.0\dbhome_1\bin