Hi, I have been using the Cygwin Perl Win32::OLE module as a nice way to query Access databases [*]. This worked fine on Windows XP (32-bit), but no longer works on a new Vista (64-bit) machine. The initial connection
$conn= Win32::OLE->new ('ADODB.Connection') fails with Win32::OLE(0.1709) error 0x8007007e: "The specified module could not be found" Connecting to some other OLE applications (eg. Excel.Application) works OK. The same ADODB script works fine from ActiveState Perl (at least for the 32-bit version; there is no 64-bit version of the Microsoft Access Driver, so ActiveState Perl x64 fails at the next step). However I'd prefer to use Cygwin Perl. I upgraded Cygwin's Win32::OLE to the latest version (perl-5.10.0-5 comes with Win32::OLE 0.1703, while the latest ActiveState Perl has Win32::OLE 0.1709), but that didn't help. Does anyone have any ideas? Thanks, Tim. [*] eg. the following will read all values from $field in $table of $file (this example can be modified with an arbitrary SQL query). use Win32::OLE; Win32::OLE->Option (Warn => 3); my $conn= Win32::OLE->new ('ADODB.Connection') or die; $conn->Open ("PROVIDER=MSDASQL;". "DRIVER={Microsoft Access Driver (*.mdb)};". "DBQ=$file"); my $rs= Win32::OLE->new ('ADODB.Recordset') or die; $rs->Open ("SELECT $field FROM $table", $conn, 1, 1); until ($rs->EOF) { print $rs->Fields ($field)->value, "\n"; $rs->MoveNext; } $rs->Close; $conn->Close; =========================== cut here ============================ Tim Adye t.j.a...@rl.ac.uk http://hepunx.rl.ac.uk/~adye Atlas/BaBar Groups, Particle Physics Dept, Rutherford Appleton Lab -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/