0

My Delphi XE8 app MyApp.exe fails with EOleException

ErrorCode = -2147024770 {$8007007E}, 
Message = 'The specified module could not be found'
Source = 'Microsoft OLE DB Service Components'

which unfortunately doesn't give name of the incriminated module.

The exception is raised during the very first attempt to access Interbase XE7 via ADO and IBProvider, using ConnectionString

Provider=LCPI.IBProvider.3.Lite;
Password=masterkey;
Persist Security Info=True;
User ID=SYSDBA;
Data Source=AFGIR;
Location=localhost/IBXE7D:E:\DvpData\Test.ADO\IB_XE7\AFGIRG7.IBXE7;
ctype=UTF8;
ctype_user=ACP;
dialect=3;
auto_commit=True;
dbclient_library="C:\Program Files (x86)\Embarcadero\IBXE7D\bin\gds32.dll";

The same ConnectionString without dbclient_library property (i.e. with default client library) leads to the same error.

The modules present in memory just before and just after IB access attempt are the same (according to Process Explorer), namely:

advapi32.dll    Advanced Windows 32 Base API    Microsoft Corporation   C:\Windows\SysWOW64\advapi32.dll
apisetschema.dll    ApiSet Schema DLL   Microsoft Corporation   C:\Windows\System32\apisetschema.dll
atl.dll ATL Module for Windows XP (Unicode) Microsoft Corporation   C:\Windows\SysWOW64\atl.dll
bcrypt.dll  Windows Cryptographic Primitives Library (Wow64)    Microsoft Corporation   C:\Windows\SysWOW64\bcrypt.dll
bcryptprimitives.dll    Windows Cryptographic Primitives Library    Microsoft Corporation   C:\Windows\SysWOW64\bcryptprimitives.dll
clbcatq.dll COM+ Configuration Catalog  Microsoft Corporation   C:\Windows\SysWOW64\clbcatq.dll
comctl32.dll    User Experience Controls Library    Microsoft Corporation   C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_41e6975e2bd6f2b2\comctl32.dll
comctl32.dll    User Experience Controls Library    Microsoft Corporation   C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\comctl32.dll
comctl32.dll.mui    Common Controls Library Microsoft Corporation   C:\Windows\winsxs\x86_microsoft.windows.c..-controls.resources_6595b64144ccf1df_5.82.7600.16385_en-us_020378a8991bbcc2\comctl32.dll.mui
comdlg32.dll    Common Dialogs DLL  Microsoft Corporation   C:\Windows\SysWOW64\comdlg32.dll
comsvcs.dll COM+ Services   Microsoft Corporation   C:\Windows\SysWOW64\comsvcs.dll
cryptbase.dll   Base cryptographic API DLL  Microsoft Corporation   C:\Windows\SysWOW64\cryptbase.dll
cryptsp.dll Cryptographic Service Provider API  Microsoft Corporation   C:\Windows\SysWOW64\cryptsp.dll
dwmapi.dll  Microsoft Desktop Window Manager API    Microsoft Corporation   C:\Windows\SysWOW64\dwmapi.dll
gdi32.dll   GDI Client DLL  Microsoft Corporation   C:\Windows\SysWOW64\gdi32.dll
GdiPlus.dll Microsoft GDI+  Microsoft Corporation   C:\Windows\winsxs\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7601.17514_none_72d18a4386696c80\GdiPlus.dll
MyApp.exe   MyApplication(Srv)  MyCompany   E:\Dvp\Delphi16\MyAppSrv\MyApp.exe
imm32.dll   Multi-User Windows IMM32 API Client DLL Microsoft Corporation   C:\Windows\SysWOW64\imm32.dll
kernel32.dll    Windows NT BASE API Client DLL  Microsoft Corporation   C:\Windows\SysWOW64\kernel32.dll
kernel32.dll.mui    Windows NT BASE API Client DLL  Microsoft Corporation   C:\Windows\SysWOW64\en-US\kernel32.dll.mui
KernelBase.dll  Windows NT BASE API Client DLL  Microsoft Corporation   C:\Windows\SysWOW64\KernelBase.dll
KernelBase.dll.mui  Windows NT BASE API Client DLL  Microsoft Corporation   C:\Windows\SysWOW64\en-US\KernelBase.dll.mui
locale.nls          C:\Windows\System32\locale.nls
lpk.dll Language Pack   Microsoft Corporation   C:\Windows\SysWOW64\lpk.dll
mpr.dll Multiple Provider Router DLL    Microsoft Corporation   C:\Windows\SysWOW64\mpr.dll
msado15.dll ActiveX Data Objects    Microsoft Corporation   C:\Program Files (x86)\Common Files\System\ado\msado15.dll
msctf.dll   MSCTF Server DLL    Microsoft Corporation   C:\Windows\SysWOW64\msctf.dll
msdart.dll  OLE DB Runtime Routines Microsoft Corporation   C:\Windows\SysWOW64\msdart.dll
msvcrt.dll  Windows NT CRT DLL  Microsoft Corporation   C:\Windows\SysWOW64\msvcrt.dll
ntdll.dll   NT Layer DLL    Microsoft Corporation   C:\Windows\System32\ntdll.dll
ntdll.dll   NT Layer DLL    Microsoft Corporation   C:\Windows\SysWOW64\ntdll.dll
ole32.dll   Microsoft OLE for Windows   Microsoft Corporation   C:\Windows\SysWOW64\ole32.dll
oleaut32.dll        Microsoft Corporation   C:\Windows\SysWOW64\oleaut32.dll
oledb32.dll OLE DB Core Services    Microsoft Corporation   C:\Program Files (x86)\Common Files\System\Ole DB\oledb32.dll
oledb32r.dll    OLE DB Core Services Resources  Microsoft Corporation   C:\Program Files (x86)\Common Files\System\Ole DB\oledb32r.dll
oledb32r.dll.mui    OLE DB Core Services Resources  Microsoft Corporation   C:\Program Files (x86)\Common Files\System\Ole DB\en-US\oledb32r.dll.mui
riched20.dll    Rich Text Edit Control, v3.1    Microsoft Corporation   C:\Windows\SysWOW64\riched20.dll
rpcrt4.dll  Remote Procedure Call Runtime   Microsoft Corporation   C:\Windows\SysWOW64\rpcrt4.dll
RpcRtRemote.dll Remote RPC Extension    Microsoft Corporation   C:\Windows\SysWOW64\RpcRtRemote.dll
rsaenh.dll  Microsoft Enhanced Cryptographic Provider   Microsoft Corporation   C:\Windows\SysWOW64\rsaenh.dll
sechost.dll Host for SCM/SDDL/LSA Lookup APIs   Microsoft Corporation   C:\Windows\SysWOW64\sechost.dll
shell32.dll Windows Shell Common Dll    Microsoft Corporation   C:\Windows\SysWOW64\shell32.dll
shlwapi.dll Shell Light-weight Utility Library  Microsoft Corporation   C:\Windows\SysWOW64\shlwapi.dll
SortDefault.nls         C:\Windows\Globalization\Sorting\SortDefault.nls
sspicli.dll Security Support Provider Interface Microsoft Corporation   C:\Windows\SysWOW64\sspicli.dll
StaticCache.dat         C:\Windows\Fonts\StaticCache.dat
user32.dll  Multi-User Windows USER API Client DLL  Microsoft Corporation   C:\Windows\SysWOW64\user32.dll
usp10.dll   Uniscribe Unicode script processor  Microsoft Corporation   C:\Windows\SysWOW64\usp10.dll
uxtheme.dll Microsoft UxTheme Library   Microsoft Corporation   C:\Windows\SysWOW64\uxtheme.dll
version.dll Version Checking and File Installation Libraries    Microsoft Corporation   C:\Windows\SysWOW64\version.dll
winspool.drv    Windows Spooler Driver  Microsoft Corporation   C:\Windows\SysWOW64\winspool.drv
winsta.dll  Winstation Library  Microsoft Corporation   C:\Windows\SysWOW64\winsta.dll
wow64.dll   Win32 Emulation on NT64 Microsoft Corporation   C:\Windows\System32\wow64.dll
wow64cpu.dll    AMD64 Wow64 CPU     Microsoft Corporation   C:\Windows\System32\wow64cpu.dll
wow64win.dll    Wow64 Console and Win32 API Logging Microsoft Corporation   C:\Windows\System32\wow64win.dll
wtsapi32.dll    Windows Remote Desktop Session Host Server SDK APIs Microsoft Corporation   C:\Windows\SysWOW64\wtsapi32.dll

MyApp.exe worked fine 3 weeks ago. Nothing, as far as I remember, was changed in the source since. I suspect rather a "collateral" incoherence of the system. Meanwhile, System File Checker finds no coherence violation and DependencyWalker don't give me any pertinent (for me) indication.

Q1. Have you any idea how to pinpoint the error cause?

Q2. Does there exist list of all DLLs related to Microsoft OLE DB Service Components, or better, a program checking their coherent presence on a system?

Kind regards, JK

  • Have you tried doing a TDump on your gds32.dll? – MartynA Oct 09 '15 at 18:08
  • @MartynA. If you mean: "check presence on disk of all DLLs that gds32.dll needs (imports)", the answer is "Yes, I did that just now with TDump". Before, I used DependencyWalker. I am novice to so system-deep investigations. I wonder why the exception doesn't give name of the lacking module? Could API hooking help zooming on the error origin? – jkomorowski Oct 09 '15 at 21:49

0 Answers0