Как подключиться к БД Oracle в PyCharm
Не могу понять что делать. Прошу помощи
cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 32-bit Oracle Client library: "C:\app\gm\product\18.0.0\dbhomeXE\bin\oci.dll is not the correct architecture". See https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html for help
import cx_Oracle
conn = cx_Oracle.connect('hr/hr@DESKTOP-K1VD24O')
cursor = conn.cursor()
if __name__ == '__main__':
print('cx_Oracle')
print(conn.version)
Ответы (1 шт):
Причина: битность Python и библотеки клиента не совпадают.
Судя по пути, указанному в сообшении об ошибке, найдена библиотека встронного в БД клиента и его битность, как и самой БД - 64.
Необходимо установить 32-bit Windows Instant Client (для 18c подойдёт 19.9.0.0.0 Basic Package). Имя каталога, куда будет распакован архив, необходимо, что предпочтительней, указать явно при инициализации клиента, или добавить в переменную окружения PATH:
import cx_Oracle as cxora
cxora.init_oracle_client (lib_dir='d:/app/oracle/instantclient_19_6')
conn = cxora.connect ('connect_string')
print('Connected', conn.version, 'client', cxora.clientversion ())
У меня выводит:
Connected 19.3.0.0.0 client (19, 6, 0, 0, 0)