#python #oracle #cx-oracle
#python #Oracle #cx-oracle
Вопрос:
Я установил клиент Oracle 12.2.0 на свой рабочий стол и свой ноутбук. Когда я использую TOAD, в обоих из них все работает нормально. Однако при использовании cx_Oracle в Jupyter Notebook на моем рабочем столе я получаю следующую ошибку: «DPI-1047: не удается найти 64-разрядную клиентскую библиотеку Oracle». Интересно, что я вообще не получаю эту ошибку на своем ноутбуке. На обоих из них мой python 64-разрядный, а клиент oracle 32-разрядный.
Мне интересно, почему я получаю эту ошибку только в одном из них. Я почти использовал все решения в разных сообщениях, но ни одно из них не сработало.
Есть идеи?
Ответ №1:
Если Python 64-разрядный, он будет работать только с 64-разрядным клиентом Oracle. Вы не предоставили полезную информацию, такую как операционная система и версии, поэтому я могу дать только общую информацию:
-
убедитесь, что 64-разрядный клиент Oracle находится в вашем пути поиска библиотеки (PATH в Windows, LD_LIBRARY_PATH или через ldconfig в Linux) перед запуском Juptyer
-
или в Windows и macOS используйте
init_oracle_client()
функцию cx_Oracle 8.
Ответ №2:
Вот решение, которое я нашел для своей проблемы:
- Загрузите 64-разрядную версию oracle instantClient с: https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html
- Скопируйте DLL-файлы из каталога instantclient в каталог python, как показано ниже
Вот и все!