0

我已经设置了一个演示来测试datasnap 2009,我遇到了dbexpress的问题。

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

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

我的解决方案已经用完了。也许这是与我也安装了 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)
4

6 回答 6

1

windows error code 127 is an procedure not found,这可能意味着有旧版本的DLL,或者缺少函数什么的,

于 2009-01-09T12:32:41.503 回答
1

我在使用 Oracle 10g XE 客户端时遇到问题。我的错是,我安装了多个客户端。在我卸载它们并安装正确的之后问题就消失了。

于 2009-01-09T14:13:39.553 回答
1

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

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

于 2009-01-09T11:38:24.537 回答
0

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

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

于 2009-01-10T20:43:09.843 回答
0

I has a similar problem with the DBXpress drivers I cant rember 100% what I did to fix it, my problem was moving it from one windows PC to another (for installation).

here is what I can remember trying

Putting the database dll in the same dir as the application along with the 3 or 4 dll from dbexpress (as the problem I was having was the dbexpress dlls (not my application) couldn't find the database dll's)

Made sure I had the correct c++ run time libs installed, as I believe the DBX drivers need this.

Updated windows to sp3 (I guess you can skip this step as your not changing computers)

于 2009-01-09T15:18:43.230 回答
0

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

于 2009-01-09T10:30:32.053 回答