Delphi 2009,带Oracle的DbExpress:无法加载oci.dll

Delphi 2009,带Oracle的DbExpress:无法加载oci.dll,oracle,delphi,delphi-2009,dbexpress,Oracle,Delphi,Delphi 2009,Dbexpress,我已经设置了一个演示来测试datasnap 2009,但我发现dbexpress有一个问题 dbexpress错误消息(在设计时或运行时相同): “无法加载oci.dll库(错误代码127)。系统路径中可能缺少oci.dll库。” 我正在使用Oracle 8.0.5。oci.dll(c:\orant\BIN)的路径在我的系统路径中,在该行的前面。我也安装了Delphi2005,完全相同的配置可以正常工作。我移动了dbexpress delphi 2005相关文件,多次重新启动,试图在c:\win

我已经设置了一个演示来测试datasnap 2009,但我发现dbexpress有一个问题

dbexpress错误消息(在设计时或运行时相同): “无法加载oci.dll库(错误代码127)。系统路径中可能缺少oci.dll库。”

我正在使用Oracle 8.0.5。oci.dll(c:\orant\BIN)的路径在我的系统路径中,在该行的前面。我也安装了Delphi2005,完全相同的配置可以正常工作。我移动了dbexpress delphi 2005相关文件,多次重新启动,试图在c:\windows\system或c:\windows\system32\中复制oci.dll,每次都出现相同的错误

我没有办法了。可能是因为我也安装了D2005

有人能帮我吗

谢谢

编辑: 这是事件日志,在IDE构建期间,我们可以看到它找到并加载了OCI.dll,因此错误(无法加载OCI.dll)可能不是好的错误:

Début du Thread : ID du thread : 5588. Processus Server.exe (5548)

Début du processus : C:\Documents and Settings\frplante\Mes documents\Développement\Projets\Démo DataSnap2009\Server\Server.exe. Adresse de base : $00400000. Processus Server.exe (5548)

Chargement du module : Server.exe. Contient des infos de débogage. Adresse de base : $00400000. Processus Server.exe (5548)

Chargement du module : ntdll.dll. Pas d'informations de débogage. Adresse de base : $7C910000. Processus Server.exe (5548)

Chargement du module : KERNEL32.dll. Pas d'informations de débogage. Adresse de base : $7C800000. Processus Server.exe (5548)

Chargement du module : OLEAUT32.dll. Pas d'informations de débogage. Adresse de base : $770E0000. Processus Server.exe (5548)

Chargement du module : ADVAPI32.dll. Pas d'informations de débogage. Adresse de base : $77DA0000. Processus Server.exe (5548)

Chargement du module : RPCRT4.dll. Pas d'informations de débogage. Adresse de base : $77E50000. Processus Server.exe (5548)

Chargement du module : Secur32.dll. Pas d'informations de débogage. Adresse de base : $77FC0000. Processus Server.exe (5548)

Chargement du module : GDI32.dll. Pas d'informations de débogage. Adresse de base : $77EF0000. Processus Server.exe (5548)

Chargement du module : USER32.dll. Pas d'informations de débogage. Adresse de base : $7E390000. Processus Server.exe (5548)

Chargement du module : msvcrt.dll. Pas d'informations de débogage. Adresse de base : $77BE0000. Processus Server.exe (5548)

Chargement du module : ole32.dll. Pas d'informations de débogage. Adresse de base : $774A0000. Processus Server.exe (5548)

Chargement du module : MSIMG32.dll. Pas d'informations de débogage. Adresse de base : $76310000. Processus Server.exe (5548)

Chargement du module : VERSION.dll. Pas d'informations de débogage. Adresse de base : $77BD0000. Processus Server.exe (5548)

Chargement du module : COMCTL32.dll. Pas d'informations de débogage. Adresse de base : $77390000. Processus Server.exe (5548)

Chargement du module : SHLWAPI.dll. Pas d'informations de débogage. Adresse de base : $77F40000. Processus Server.exe (5548)

Chargement du module : wxvault.dll. Pas d'informations de débogage. Adresse de base : $10000000. Processus Server.exe (5548)

Chargement du module : PSAPI.DLL. Pas d'informations de débogage. Adresse de base : $76BA0000. Processus Server.exe (5548)

Chargement du module : MPR.dll. Pas d'informations de débogage. Adresse de base : $71A60000. Processus Server.exe (5548)

Chargement du module : detoured.dll. Pas d'informations de débogage. Adresse de base : $00370000. Processus Server.exe (5548)

Chargement du module : SHELL32.dll. Pas d'informations de débogage. Adresse de base : $7C9D0000. Processus Server.exe (5548)

Chargement du module : IMM32.dll. Pas d'informations de débogage. Adresse de base : $76320000. Processus Server.exe (5548)

Chargement du module : UxTheme.dll. Pas d'informations de débogage. Adresse de base : $5B090000. Processus Server.exe (5548)

Chargement du module : **dbxora.dll**. Pas d'informations de débogage. Adresse de base : $00FC0000. Processus Server.exe (5548)

Chargement du module : **OCI.dll**. Pas d'informations de débogage. Adresse de base : $003F0000. Processus Server.exe (5548)

Chargement du module : ORA805.dll. Pas d'informations de débogage. Adresse de base : $01430000. Processus Server.exe (5548)

Chargement du module : CORE40.dll. Pas d'informations de débogage. Adresse de base : $015C0000. Processus Server.exe (5548)

Chargement du module : NLSRTL33.dll. Pas d'informations de débogage. Adresse de base : $01620000. Processus Server.exe (5548)

Chargement du module : WINMM.dll. Pas d'informations de débogage. Adresse de base : $76AE0000. Processus Server.exe (5548)

Chargement du module : NL80.dll. Pas d'informations de débogage. Adresse de base : $01660000. Processus Server.exe (5548)

Chargement du module : WSOCK32.dll. Pas d'informations de débogage. Adresse de base : $71A10000. Processus Server.exe (5548)

Chargement du module : WS2_32.dll. Pas d'informations de débogage. Adresse de base : $719F0000. Processus Server.exe (5548)

Chargement du module : WS2HELP.dll. Pas d'informations de débogage. Adresse de base : $719E0000. Processus Server.exe (5548)

Chargement du module : OTRACE80.dll. Pas d'informations de débogage. Adresse de base : $01680000. Processus Server.exe (5548)

Chargement du module : NS80.dll. Pas d'informations de débogage. Adresse de base : $016B0000. Processus Server.exe (5548)

Chargement du module : nasns80.dll. Pas d'informations de débogage. Adresse de base : $016F0000. Processus Server.exe (5548)

Chargement du module : nz80.dll. Pas d'informations de débogage. Adresse de base : $01720000. Processus Server.exe (5548)

Chargement du module : NNFG80.dll. Pas d'informations de débogage. Adresse de base : $01770000. Processus Server.exe (5548)

Chargement du module : NNCI80.dll. Pas d'informations de débogage. Adresse de base : $01780000. Processus Server.exe (5548)

Chargement du module : NNG80.dll. Pas d'informations de débogage. Adresse de base : $01790000. Processus Server.exe (5548)

Chargement du module : NMP80.dll. Pas d'informations de débogage. Adresse de base : $017B0000. Processus Server.exe (5548)

Chargement du module : NPL80.dll. Pas d'informations de débogage. Adresse de base : $017C0000. Processus Server.exe (5548)

Chargement du module : NR80.dll. Pas d'informations de débogage. Adresse de base : $017D0000. Processus Server.exe (5548)

Chargement du module : NT80.dll. Pas d'informations de débogage. Adresse de base : $017F0000. Processus Server.exe (5548)

Chargement du module : NCR80.dll. Pas d'informations de débogage. Adresse de base : $01800000. Processus Server.exe (5548)

Chargement du module : NMS80.dll. Pas d'informations de débogage. Adresse de base : $01840000. Processus Server.exe (5548)

Chargement du module : NNFD80.dll. Pas d'informations de débogage. Adresse de base : $01850000. Processus Server.exe (5548)

Chargement du module : NNFN80.dll. Pas d'informations de débogage. Adresse de base : $01860000. Processus Server.exe (5548)

Chargement du module : NI80.dll. Pas d'informations de débogage. Adresse de base : $01870000. Processus Server.exe (5548)

Chargement du module : PLS805.dll. Pas d'informations de débogage. Adresse de base : $01880000. Processus Server.exe (5548)

Chargement du module : NDWSI80.DLL. Pas d'informations de débogage. Adresse de base : $01A80000. Processus Server.exe (5548)

Exception déclenchée à $7C812AEB. Classe d'exception TDBXError avec message '**Cannot load oci.dll library** (error code 127).  The oci.dll library may be missing from the system path'. Processus Server.exe (5548)

尝试将dll复制到程序的根文件夹中

尝试将dll复制到程序的根文件夹中

如果切换Oracle主目录,则通常会出现此类问题,但您没有提到多次安装


您可以使用SqlPlus连接到Oracle吗?还建议在路径(特别是windows\system32)中检查oci.dll的多个副本。

如果您切换Oracle Homes,则通常会出现此类问题,但您没有提到多次安装


您可以使用SqlPlus连接到Oracle吗?还建议检查路径(特别是windows\system32)中的oci.dll的多个副本。

windows错误代码127是一个未找到的过程,这可能意味着dll的旧版本或缺少函数或其他内容。

windows错误代码127是一个未找到的过程,这可能意味着DLL有一个旧版本,或者缺少一个函数或其他什么,

我在Oracle 10g XE客户端上遇到了问题。我的错误是,我安装了多个客户端。卸载后问题消失,并安装正确的。

我在Oracle 10g XE客户端上遇到问题。我的错误是,我安装了多个客户端。在我卸载了DBXpress驱动程序并安装了正确的DBXpress驱动程序后,问题消失了。

我对DBXpress驱动程序也有类似的问题,我无法100%记得我是如何修复它的,我的问题是将它从一台windows PC移动到另一台(用于安装)

这是我能记得的

将数据库dll与来自dbexpress的3或4 dll放在与应用程序相同的目录中(因为我遇到的问题是dbexpress dll(不是我的应用程序)找不到数据库dll的目录)

确保我安装了正确的C++运行时LIBS,因为我相信DX驱动程序需要这个。


将windows更新为sp3(我想你可以跳过这一步,因为你没有更换电脑)

我的DBXpress驱动程序也有类似的问题,我无法100%记得我是如何修复它的,我的问题是将它从一台windows PC移动到另一台(用于安装)

这是我能记得的

将数据库dll与来自dbexpress的3或4 dll放在与应用程序相同的目录中(因为我遇到的问题是dbexpress dll(不是我的应用程序)找不到数据库dll的目录)

确保我安装了正确的C++运行时LIBS,因为我相信DX驱动程序需要这个。


已将windows更新为sp3(我想您可以跳过此步骤,因为您的计算机没有更改)

如果您在windows Vista上运行此操作,是否检查您的程序是否具有访问oci.dll的权限


如果没有一个答案有效,那么您应该联系CodeGear以确认是否仍然支持Oracle 8.0.5。甚至驱动程序中的Oracle也已经有好几年不支持访问8.0.5了。有一篇关于Metalink的文章描述了特定客户端版本可以访问哪个版本的服务器

如果您在Windows Vista上运行此程序,是否检查了您的程序是否具有访问oci.dll的权限



如果没有一个答案有效,那么您应该联系CodeGear以确认是否仍然支持Oracle 8.0.5。甚至驱动程序中的Oracle也已经有好几年不支持访问8.0.5了。有一篇关于Metalink的文章描述了特定客户端版本可以访问哪个版本的服务器

抱歉,我想不出其他可能的解决方案,也没有datasnap 2009可供测试。抱歉,我想不出其他可能的解决方案,也没有datasnap 2009可供测试。我以前安装过Oracle 10g Express Edition,但现在已卸载。我如何检查我的甲骨文主页是否混乱?我将检查注册表以确保卸载程序没有留下不好的东西。我与SQL+的连接没有问题。我以前安装过Oracle 10g Express Edition,但现在它已被卸载。我如何检查我的甲骨文主页是否混乱?我将检查注册表以确保卸载程序没有留下不好的东西。我连接SQL+Hi没有问题,是的,我想知道它是否是我的oci.dll的旧版本,但它与D2005Hi一起工作,是的,我想知道它是否是我的oci.dll的旧版本,但它与D2005Hi一起工作,谢谢,我将尝试重新安装我原来的oracle安装我已经从旧的oracle引用中清理了注册表,重新安装了oracle 8.0.5,但仍然存在问题…可能是dbx oracle驱动程序有问题。例如,delphi 2009是否可能使用D2005中的dbexpora.dll?你能查一下吗?并尝试检查是否可以使用其他组件集(例如ADO)从Delphi 2009连接Oracle。感谢您的建议,我检查了,我卸载了D2005,并且我只有一个版本的dbxora.dllAnd。我通过ADOHi连接没有问题,谢谢,我将尝试重新安装我原来的oracle安装我已经从旧的oracle引用中清理了注册表,重新安装了oracle