为什么 Oracle 找不到 oci.dll?

Why does Oracle not find oci.dll?

我在 Windows7 下使用 TOAD 10.2.1.3 并得到以下错误:

Cannot find OCI DLL: C:\Oracle\Product.2.0\oci.dll

这很奇怪,因为我可以在同一路径中找到 oci.dll。 那是64位系统,那可能不是问题! 任何的想法? 我感谢每一个提示!

如果您使用的是 TOAD,则需要下载 32 位版本的 Oracle 客户端工具。

由于客户端工具因处理器架构而异,您可能需要安装版本。

我刚刚将 oracle 文件夹添加到我的环境变量中并修复了我的相同错误

如果你使用64位电脑,oracle不兼容。 Oracle 未找到 oci.dll 64 位文件。

所以,你可以试试把上面的oracle home改一下。因此,主路径将发生变化。

至少,我通过改变路径解决了那个错误。

我注意到最近的 Oracle 客户端安装程序更改了文件权限。

我安装了 Oracle 12.0.1 32 位客户端一年。 我最近安装了 Oracle 12.0.1 64 位客户端。 Oracle 安装更改了 32 位文件夹中的所有文件权限。

我的申请突然失败运行。

我使用了 PROCMON.EXE (https://docs.microsoft.com/en-us/sysinternals/downloads/) 并注意到权限被拒绝打开 OCI.DLL

我更改了 Oracle 客户端文件夹中所有内容的权限,应用程序按预期工作。

我刚刚使用 SDK 安装了 Oracle Instant Client 18_3。 PATH 和 ENV 变量是按照安装页面上的说明设置的,但我收到 OCl.dll not found 错误。我递归搜索了整个驱动器,没有这样的 DLL 存在。

那么现在呢?

install instructions (not updated for 18_3)downloads 第 13 步 存在错误 ,请注意这一点。

当您为下载创建文件夹结构时,只需按照 方式编写它们 "c:\oraclient"。然后,当您解压 Windows 10_x64 的基本、SDK 和即时客户端安装时,将它们解压缩到 "C:\oraclient\",因为它们 all 写入相同的默认值文件夹。然后,当您设置 ENV 变量(不再是 ORACLE_HOME,而是现在的 OCI_LIB64)和 PATH 时,您将指向 "C:\oraclient\instantclient_18_3".

为确保您一切正常,向下钻取并查找任何重复的 "instantclient_18_3" 文件夹。如果您确实有这些内容,请将内容剪切并粘贴到根文件夹 "C:\oraclient\instantclient_18_3\" 文件夹中。

在 Oracle 处理文档的任何人都需要更好地解决问题。 我看到 "C:\oreclient_dir_install"、"c:\oracle"、"c:\oreclient" 和 "c:\oraclient" 都被提到为安装目录,全部用于 Windows x64 安装

顺便说一句,安装 C++ redist 有帮助。 The 18.3 Basic package requires the Microsoft Visual Studio 2013 Redistributable.

我遇到了这个问题,我 运行 64 位 Windows 并下载了 64 位 TOAD 包。 我终于得出结论,这是因为我使用 cygwin 命令行解压缩将包解压缩到 windows 共享中。原来 TOAD 不喜欢某些文件的权限。当我使用 windows 文件资源管理器解压缩时,一切都按预期工作。

我也在寻找解决这个问题的方法。也许这个答案会对某人有所帮助。

在我的例子中,当我使用 Oracle Instant Client 18.5 使用 Toad 13.1.1.5

连接到数据库时,出现了类似的问题

为了解决这个问题,我下载了更新版本的 OIC - Oracle Instant Client 19.3 并且 Toad 连接到 Oracle 的数据库没有问题。

可能是版本不兼容的问题。新版本的 Toad 需要新版本的 oci 库。

两个 OIC 都是 64 位的,我已经将它们的文件夹添加到用户的 Path 变量中。

客户端OS:Win10

服务器:OL7.7,

数据库:18c

我在使用 SQLTool 时找不到 oci.dll 然后我下载了 instantclient-basic-nt-12.2.0.1.0 将其解压缩并添加文件夹直到路径中的 oci.dll 文件变量

例如:路径:.;D:\Softwares\Oracle即时Client\instantclient_12_2

它解决了我的问题,现在我可以打开 SQLTool

除了此处的许多相关和正确答案外,就我而言,我还缺少 “Microsoft Visual C++ 2010 Redistributable Package”,oci.dll 需要它并且可以从 microsoft.com.

下载