database 为什么 Oracle 找不到 oci.dll?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/30568594/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Why does Oracle not find oci.dll?
提问by maniA
I use TOAD 10.2.1.3
under Windows7 and get the following error:
我TOAD 10.2.1.3
在Windows7下使用,出现以下错误:
Cannot find OCI DLL: C:\Oracle\Product.2.0\oci.dll
that is strange because exact in the same path I can find oci.dll
.
That is 64 bit system, that might not be the problem!
Any Idea?
I am thankful for every hint!
这很奇怪,因为我能找到的路径完全相同oci.dll
。那是64位系统,这可能不是问题!任何的想法?我感谢每一个提示!
回答by Patrick Hofman
If you are using TOAD, you will need to download the 32-bit version of the Oracle Client Tools.
如果您使用的是 TOAD,则需要下载 32 位版本的 Oracle 客户端工具。
Since the Client Tools are different on a per-processor architecture basis, you probably need to install versions.
由于客户端工具在每个处理器架构的基础上是不同的,您可能需要安装版本。
回答by elfekz
if you use 64-bit pc, oracle doesn't compatible with it. Oracle doesn't find oci.dll file in 64-bit.
如果您使用 64 位 pc,oracle 不兼容。Oracle 在 64 位中找不到 oci.dll 文件。
Therefore, you can try to change oracle home on the top. As a result of that, home path will change.
因此,你可以尝试将oracle home 改在上面。结果,家庭路径将改变。
At least, I solved that error with changing path.
至少,我通过改变路径解决了这个错误。
回答by Eric Glenn
I notice that recent Oracle client installers change file permissions.
我注意到最近的 Oracle 客户端安装程序更改了文件权限。
I had Oracle 12.0.1 32 bit client installed for a year. I recently installed Oracle 12.0.1 64 bit client. The Oracle install change ALL file permissions in the 32 bit folders.
我安装了一年的 Oracle 12.0.1 32 位客户端。我最近安装了 Oracle 12.0.1 64 位客户端。Oracle 安装更改 32 位文件夹中的所有文件权限。
My application suddenly failed to run.
我的应用程序突然无法运行。
I used PROCMON.EXE (https://docs.microsoft.com/en-us/sysinternals/downloads/) and noticed that permission was denied opening OCI.DLL
我使用了 PROCMON.EXE ( https://docs.microsoft.com/en-us/sysinternals/downloads/) 并注意到权限被拒绝打开 OCI.DLL
I changed the permissions for everything in the Oracle client folders and application works as expected.
我更改了 Oracle 客户端文件夹中所有内容的权限,应用程序按预期工作。
回答by Patrick Burwell
I just installed Oracle Instant Client 18_3 with the SDK. The PATH and ENV variable is set as instructed on the install page but I get the OCl.dll not found error. I searched the entire drive recursively and no such DLL exists.
我刚刚安装了带有 SDK 的 Oracle Instant Client 18_3。PATH 和 ENV 变量按照安装页面上的说明设置,但我收到 OCl.dll not found 错误。我递归地搜索了整个驱动器,但不存在这样的 DLL。
So now what?
那么现在怎么办?
With the install instructions (not updated for 18_3)and downloadsthere are MISTAKES at step 13, so watch out for that.
对于安装说明(未针对 18_3 更新)和 下载,第 13 步存在错误,因此请注意这一点。
When you create the folder structure for the downloads just write them the oldway "c:\oraclient". Then when you unzip the basic, SDK and instant Client install for Windows 10_x64 extract them to "C:\oraclient\", because they allwrite to the same default folder. Then, when you set the ENV variable (which is no longer ORACLE_HOME, but now is OCI_LIB64) and the PATH, you will point to "C:\oraclient\instantclient_18_3".
当您为下载创建文件夹结构时,只需按照旧方式“c:\oraclient”编写即可。然后,当您解压缩 Windows 10_x64 的基本、SDK 和即时客户端安装时,将它们解压缩到“C:\oraclient\”,因为它们都写入相同的默认文件夹。然后,当您设置 ENV 变量(不再是 ORACLE_HOME,而是 OCI_LIB64)和 PATH 时,您将指向“C:\oraclient\instantclient_18_3”。
To be sure you got it all right drill down and look for any duplicate "instantclient_18_3" folders. If you do have those cut and paste the CONTENTS to the root folder "C:\oraclient\instantclient_18_3\" folder.
为确保您一切顺利,请向下钻取并查找任何重复的“instantclient_18_3”文件夹。如果您确实有这些内容,请将其剪切并粘贴到根文件夹“C:\oraclient\instantclient_18_3\”文件夹中。
Whoever works on the documentation at Oracle needs to troubleshoot better. I've seen "C:\oreclient_dir_install", "c:\oracle", "c:\oreclient" and "c:\oraclient" all mentioned as install directories, all for Windows x64 installs
在 Oracle 处理文档的任何人都需要更好地排除故障。我已经看到“C:\oreclient_dir_install”、“c:\oracle”、“c:\oreclient”和“c:\oraclient”都提到作为安装目录,都用于 Windows x64 安装
BTW, install the C++ redist it helps. The 18.3 Basic package requires the Microsoft Visual Studio 2013 Redistributable.
顺便说一句,安装它有帮助的 C++ redist。 18.3 Basic 包需要 Microsoft Visual Studio 2013 Redistributable。
回答by Bill Naylor
I had this issue, I run 64 bit Windows and had downloaded the 64 bit TOAD package. I finally arrived at the conclusion that it was because I unzipped the package in a windows share using cygwin command line unzip. Turned out TOAD wasn't liking the permissions on some files. When I unzipped using windows File Explorer everything worked as expected.
我遇到了这个问题,我运行 64 位 Windows 并下载了 64 位 TOAD 包。我最终得出的结论是,这是因为我使用 cygwin 命令行 unzip 解压缩了 Windows 共享中的包。原来 TOAD 不喜欢某些文件的权限。当我使用 Windows 文件资源管理器解压缩时,一切都按预期工作。
回答by Gryu
I was also looking for solving this issue. Maybe this answer will help someone.
我也在寻找解决这个问题的方法。也许这个答案会对某人有所帮助。
In my case similar issue have appeared when I used Oracle Instant Client 18.5
for connecting to DB using Toad 13.1.1.5
在我的情况下,当我使用Oracle Instant Client 18.5
连接到数据库时出现了类似的问题Toad 13.1.1.5
To solve it I've downloaded more recent version of OIC - Oracle Instant Client 19.3
and Toad connected to Oracle's DB without issues.
为了解决这个问题,我下载了更新版本的 OIC -Oracle Instant Client 19.3
并且 Toad 连接到 Oracle 的数据库没有问题。
Maybe there was version incompatibility issue. New version of Toad require a new version of oci library.
可能是版本不兼容的问题。新版本的 Toad 需要新版本的 oci 库。
Both OICs were 64 bit and folders of both of them I've added into the user's Path variable.
两个 OIC 都是 64 位的,并且我已将它们的文件夹添加到用户的 Path 变量中。
Client OS: Win10
客户端操作系统:Win10
Server: OL7.7,
服务器:OL7.7,
DB: 18c
数据库:18c
回答by Chris Chevalier
I just added the oracle folder to my environmental variables and that fixed my identical error
我刚刚将 oracle 文件夹添加到我的环境变量中,并修复了我的相同错误
回答by komal dubey
I was using SQLTool where I was getting oci.dll was not found then I downloaded instantclient-basic-nt-12.2.0.1.0 extracted it and added the folder till oci.dll file in path variable
我正在使用 SQLTool 在那里找不到 oci.dll 然后我下载了 Instantclient-basic-nt-12.2.0.1.0 解压缩它并添加文件夹直到路径变量中的 oci.dll 文件
eg.: Path: .;D:\Softwares\Oracle Instant Client\instantclient_12_2
例如:路径:.;D:\Softwares\Oracle Instant Client\instantclient_12_2
It resolve my issue, now I am able to open the SQLTool
它解决了我的问题,现在我可以打开 SQLTool