cx_Oracle - сбой загрузки DLL

У меня проблема с импортом cx_Oracle с Python. Я знаю, что многие проблемы с cx_Oracle были обсуждены здесь, но кажется, что я не могу найти решение своей проблемы после прочтения всех связанных тем.

У меня есть две машины, одна - мой компьютер, а другая - удаленная рабочая станция с одинаковыми конфигурациями (Windows 7, 64-битная версия). Мне нужно установить cx_Oracle на удаленную рабочую станцию, но он не работает, хотя он отлично работает на моем компьютере (я могу успешно импортировать модуль и подключиться к моей БД). На удаленной рабочей станции у меня следующая ошибка:

Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
  import cx_Oracle
ImportError: DLL load failed: The specified module could not be found.

Я дважды проверил свои переменные окружения, и я пару раз переустанавливал cx_Oracle, но не могу заставить его работать ... Я провел некоторое исследование по этой проблеме, и я застрял здесь, я не понимаю, почему это отлично работает на моем компьютере, но не на этой удаленной рабочей станции (единственное отличие состоит в том, что эта удаленная рабочая станция является виртуальной машиной).

У кого-нибудь есть идея, в чем может быть проблема?

Запустив Dependancy Walker на обоих cx_oracle.pyd (на моем компьютере, где он работает нормально, и на удаленной рабочей станции, где cx_oracle не работает), единственное отличие - это dll MSVCR100 и MSVCR90, которые не найдены на моей удаленной рабочей станции.

У меня есть следующие настройки переменных среды:

C:\Oracle as ORACLE_BASE

C:\Oracle\instantclient_12_1 как ORACLE_HOME

C:\Oracle\instantclient_12_1 добавлен в переменную "Path"

Обе машины 64-битные, Windows 7

Я использую Python 2.7.5

Я распаковал InstantClient-Basic-NT-12.1.0.1.0 вC:\Oracle\instantclient_12_1

Я установилcx_Oracle-5.1.2-11g.win32-py2.7s

На удаленной рабочей станции,sys.path дает мне :

'C: \ Python27 \ Lib \ idlelib', 'C: \ Windows \ system32 \ python27.zip', 'C: \ Python27 \ DLLs', 'C: \ Python27 \ lib', 'C: \ Python27 \ lib \ plat-win ',' C: \ Python27 \ lib \ lib-tk ',' C: \ Python27 ',' C: \ Python27 \ lib \ site-packages '

РЕДАКТИРОВАТЬ 1

В предыдущем посте все файлы (Python 2.7, пакет cx_Oracle, клиент Oracle Instant) были для 32-битных систем. Я скачал одну и ту же версию этих файлов для 64-битных систем, и теперь все нормально работает на моей удаленной рабочей станции.

РЕДАКТИРОВАТЬ 2

По сути, это исправление состояло в том, что я переустанавливал все (Python, Oracle Instant Client и cx_Oracle) для 64-битных систем вместо 32-битных.

Подводя итог, можно сказать, что это была моя проблема, и как она была исправлена: 1) Я установил Cx_Oracle (из установочного пакета 32-битных окон) и Oracle Instant Client (32-битный), и он отлично работал на моей 64-битной системе, работающей на python 2.7. .5 для 32-битных систем 2) Я сделал то же самое точно на виртуальной машине (также с 64-битной системой), и она не работала. 3) Чтобы она работала на виртуальной машине, я переустановил все для 64-битные системы (python, Instant Client, Cx_Oracle) и все наконец заработало

http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html http://sourceforge.net/projects/cx-oracle/files/5.1.2/

Кроме того, обязательно загрузите клиент cx_Oracle и Instant, соответствующий вашей версии БД (в моем случае 11g). Надеюсь это поможет.

Ответы на вопрос(2)

Ваш ответ на вопрос