http://bugs.winehq.org/show_bug.cgi?id=29961
Bug #: 29961 Summary: ADO.NET query on a Jet database fails. Product: Wine Version: 1.3.24 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: mscoree AssignedTo: wine-bugs@winehq.org ReportedBy: birdfamily715@googlemail.com Classification: Unclassified
Created attachment 38996 --> http://bugs.winehq.org/attachment.cgi?id=38996 ADO.NET Jet database commands that worked
ADO.NET commands (CREATE TABLE, INSERT, UPDATE and DELETE) work (inspection of the database afterwards shows that to be true), but a SELECT query produces the error "Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another." Needless to say, the same code ran successfully on Windows.
Winetricks was used to import JET40, MDAC28 and DOTNET20.
In order for a database connection to be made, however, it was necessary to copy across five DLLS from Windows: comsvcs.dll, CLBCatQ.DLL, colbact.DLL, COMRes.dll, and MTXCLU.DLL and register one: $ wine regsvr32.exe comsvcs.dll
Attached are c-sharp code files for the database commands that worked (adonet2.cs) and for the one that didn't (the SELECT query) (adonet1.cs). For succesful compilation they require the addition of references to (under COM) ' Microsoft ActiveX Data Objects 2.8' which results in the production of a Dll: Interop.ADODB.dll and this must be copied across into Wine along with the executables. An empty Jet database test.mdb, is also attached. This can be populated by adonet2.exe and then queried by adonet1.exe adonet2 creates a database table, inserts four records, updates one, deletes another and runs to completion. Finally odbc4.c is a C program which provides a query in odbc which can be used to inspect the table rows of the database.