[Bug 22874] ADO fails to connect to Jet database via OLE DB

wine-bugs at winehq.org wine-bugs at winehq.org
Tue May 25 15:42:39 CDT 2010


http://bugs.winehq.org/show_bug.cgi?id=22874





--- Comment #5 from Barry Bird <birdfamily715 at googlemail.com>  2010-05-25 15:42:38 ---
Perhaps I need to give a bit more detail of what this is all about. I would
like to see Wine supporting ADO for my own purposes.  As you seem to have
mastered COM/DCOM, no mean feat, I thought I might be able to help you deal
with ADO, as I have found out how to drive ADO at a low level, from C. So I
wrote as simple a console program as I could and compiled the program on
Windows XP using Mingw. It was linked with libraries -lole32 -loleaut32 -luuid 
 You have the source. 
What it does in VB terms is:

- set obj = CreateObject("ADODB.Connection")
- obj.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=stock.mdb;Jet
OLEDB:Engine Type=4","","",0)
- obj.Close

It has a number of printf statements so that you see its progress. On Windows
the output is:
$ ado1a.exe
ADODB Object created
 CallMethod entered
 GetIDsOfNames returned
 Invoke 'Open' succeeded
ADODB connection opened
 CallMethod entered
 GetIDsOfNames returned
 Invoke 'Close' succeeded
Close down

On Kubuntu I created a clean new wine prefix, installed MDAC28 and JET40 using
winetricks and just added a few extra registry entries I mentioned earlier.
When this program is run I got:
$ ./ado1a.exe
err:ole:CoGetClassObject class {6c736db1-bd94-11d0-8a23-00aa00b58e10} not
registered
err:ole:CoGetClassObject no class object {6c736db1-bd94-11d0-8a23-00aa00b58e10}
could be created for context 0x1
ADODB Object created
 CallMethod entered
 GetIDsOfNames returned
err:ole:CoGetClassObject class {2206cdb0-19c1-11d1-89e0-00c04fd7a829} not
registered
err:ole:CoGetClassObject no class object {2206cdb0-19c1-11d1-89e0-00c04fd7a829}
could be created for context 0x1
err:ole:CoGetClassObject class {c8b522cf-5cf3-11ce-ade5-00aa0044773d} not
registered
err:ole:CoGetClassObject no class object {c8b522cf-5cf3-11ce-ade5-00aa0044773d}
could be created for context 0x1
 Invoke Method 'Open' failed: HRESULT 80020009
**  Invoke Method 'Open' failed 
Open connection failed

I'm not sure whether the log file (if only I could upload it), tells you much
more. A Query Interface fails and the message L"Provider cannot be found. It
may not be properly installed." is produced.  It seems to me that it all
reduces to the inability to register oledb32.dll with the interfaces
MSDASC.MSDAINITIALIZE (2206cdb0-19c1-11d1-89e0-00c04fd7a829) and MSDAER
(c8b522cf-5cf3-11ce-ade5-00aa0044773d) (at least).

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list