首页 > 解决方案 > 打开数据模块后,我得到了 [firedac][phys][ora]-1309。oci 未正确安装

问题描述

我将 Firedac 配置为在 Windows 7 机器上使用 Oracle 11g。我在以下位置安装了 Oracle Instant Client 32 位文件: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 中打开项目并第一次运行时,它可以正常工作。

但是,在我打开一个数据模块并尝试运行后,我得到了错误:[firedac][phys][ora]-1309。oci 没有正确安装在这台机器上。

为什么只有在打开数据模块后才会发生这种情况?

我感谢任何帮助解决它!

标签: oracledelphifiredac

解决方案


在检查了其他支持站点和文档后,我尝试了一种不同的配置,这可能是解决方案。
将Delphi编译为win64时,Firedac Oracle客户端文件也应该是Win64的,所以我从https://www.oracle.com/technetwork/topics/winx64soft-089540.html下载了适用于Windows x64的Oracle Client 11g 并复制了新文件文件 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 应用程序了。


推荐阅读