Mon Jan 24 15:59:12 2011: Request 65052 was acted upon. Transaction: Correspondence added by j...@activestate.com Queue: Win32-OLE Subject: RE: [rt.cpan.org #65052] Cannot create ADODB.Connection object under Cygwin Broken in: 0.1709 Severity: Important Owner: Nobody Requestors: rkito...@cpan.org Status: open Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=65052 >
On Mon, 24 Jan 2011, Reini Urban via RT wrote: > > Can you please run with warnings enabled? Win32::OLE will print > > additional diagnostics on OLE calls when warnings are on. > > $ perl -MWin32::OLE -wle 'print Win32::OLE->new("ADODB.Connection")' > Win32::OLE(0.1709) error 0x8007007e: "The specified module could not be > found" at -e line 1 > eval {...} called at -e line 1 > Use of uninitialized value in print at -e line 1. [...] > > Is this just 32-bit ActivePerl on the same machine, or on a different > > one? > > I crosschecked with strawberry on the same machine, where > ADODB.Connection is registered. > c:\strawberry> perl -MData::Dumper -MWin32::OLE -le "print > Dumper(Win32::OLE->new(q(ADODB.Connection)))" > $VAR1 = bless( { > 'Properties' => bless( { [...] Could you try running Cygwin Perl from cmd.exe instead of bash? I've found several references with Google that certain COM components (WMI, ADODB) cannot be instantiated when the program is started from bash, but work fine when started from cmd.exe. If that is the case, start looking into differences in those environments, especially settings of PATH and maybe COMSPEC, and try to copy setting from cmd.exe to bash until it starts working. Cheers, -Jan