簡而言之,我有一個VC++ DLL,它連接到MS Access(.mdb)文件並讀取數據。兩個Perl腳本將加載這個相同的DLL並讀取相同的數據。唯一的區別是perl腳本位於不同的文件夾中(比如文件夾'A'&文件夾'B')。MS Access OLEDB connection.open():未指定的錯誤
當文件夾'A'中的Perl腳本加載DLL並打開數據庫連接時,它成功。
當文件夾'B'中的Perl腳本加載DLL並打開數據庫連接時,它無法打開連接(發生異常)。
當我查看事件查看器時,發現以下日誌。
Faulting application name: perl.exe, version: 5.12.1.1201, time stamp: 0x4bed097d
Faulting module name: msjet40.dll, version: 4.0.9756.0, time stamp: 0x49246e48
Exception code: 0xc0000005
Fault offset: 0x0007128f
Faulting process id: 0x1634
Faulting application start time: 0x01cecb4f0080e109
Faulting application path: C:\Perl512\Perl\bin\perl.exe
Faulting module path: C:\Windows\SysWOW64\msjet40.dll
Report Id: 42f2cbc9-3742-11e3-91cd-001b2109685d
OS: Windows 7專業版64位
微軟Office: MS Office 2007的標準版(不MS訪問完整版,僅在安裝Access運行時引擎)
連接字符串:strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"D:\\Documents\\LocalFile.mdb\"";
注:的DLL將始終連接到相同的MS Access文件,並使用相同的連接字符串
因爲從文件夾中的腳本「A」是能夠連接到數據庫,我不認爲有連接字符串中存在問題。 任何關於根本原因的想法/線索?
讓我知道,如果你需要任何額外的細節。提前致謝!