После открытия модуля данных я получил [firedac] [Phys] [ora] -1309. oci неправильно установлен

Я настроил Firedac для работы с Oracle 11g на машине с Windows 7. Я установил 32-битные файлы Oracle Instant Client: oci.dll, oraocci11.dll, oraociei11.dll и orasql11.dll в следующие места:

C: \ Program Files (x86) \ Embarcadero \ Studio \ 19.0 \ bin

C: \ Program Files (x86) \ Embarcadero \ Studio \ 19.0 \ bin64

а также в моем каталоге .exe:

.. \ myapplication \ Win64 \ Debug

.. \ myapplication \ Win32 \ Debug

Когда я открываю проект в Delphi и запускаю его впервые, он работает fne.

Однако после того, как я открыл модуль данных и попытался запустить, я получил сообщение об ошибке: [firedac] [Phys] [ora] -1309. oci неправильно установлен на этом компьютере.

Почему это происходит только после открытия модуля данных?

Я ценю любую помощь, чтобы исправить это!


person JRG    schedule 24.07.2018    source источник
comment
Для этого q требуется MCVE - см. stackoverflow.com/help/mcve   -  person MartynA    schedule 24.07.2018
comment
@MartynA, я был бы очень признателен за возможность представить более подробную информацию об этой проблеме, но, похоже, это скорее проблема установки / конфигурации, чем проблема программирования, я не могу понять, что еще я могу опубликовать здесь, чтобы сделать моя проблема ясна. Можете ли вы предложить мне разместить дополнительную информацию? Спасибо за внимание!   -  person JRG    schedule 24.07.2018


Ответы (1)


После проверки с другими сайтами поддержки и документами я попробовал другую конфигурацию, которая, вероятно, является решением.
При компиляции Delphi для win64 файлы клиента Oracle Firedac также должны быть для Win64, поэтому я загрузил Oracle Client 11g для Windows x64 с сайта https://www.oracle.com/technetwork/topics/winx64soft-089540.html и скопировал новые файлы oci.dll, oraocci11.dll, oraociei11.dll и orasql11.dll в места

C: \ Program Files (x86) \ Embarcadero \ Studio \ 19.0 \ bin64 C: \ Program Files (x86) \ Embarcadero \ Studio \ 19.0 \ bin

Тогда я могу без проблем компилировать и запускать свои приложения Win64.

person JRG    schedule 25.07.2018
comment
В будущем вы всегда можете использовать where.exe в Windows, чтобы быстро проверить, правильно ли найдена DLL. Он ищет текущий каталог и все записи вашей переменной среды PATH. - person Günther the Beautiful; 25.07.2018