Re: [rt.cpan.org #65052] Cannot create ADODB.Connection object under Cygwin

[email protected] (Reini Urban)
Newsgroups perl.libwin32
Message-ID <[email protected]>
>> This is on 64bit Windows 7.
>>
>> On Cygwin:
>>
>> $ perl -Mblib -MData::Dumper -MWin32::OLE -le 'print Dumper(Win32::OLE-
>> >new("ADODB.Connection"))'
>> $VAR1 = undef;
>
> 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.

With a debugging OLE lib and perl:

$ perl5.13.8d-nt -Mblib -we'use Win32::OLE;
Win32::OLE->new(q(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

$ gdb perl5.13.8d-nt
(gdb) run -Mblib -we'use Win32::OLE; print Win32::OLE->new(q(ADODB.Connection))'
Starting program: /usr/local/bin/perl5.13.8d-nt -Mblib -we'use
Win32::OLE; print Win32::OLE->new(q(ADODB.Connection))'
[New thread 8308.0xa88]
[New thread 8308.0xb10]
[New thread 8308.0x2380]
[New thread 8308.0x1ccc]
[New thread 8308.0xd8c]
[New thread 8308.0x22d8]
[New thread 8308.0x125c]
Win32::OLE=HASH(0xb56348)

This needs now printf debugging, oh my.

>> On ActiveState Perl 32 bit:
>
> 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( {
                                          'Count' => 14,
                                          'Item' => undef
                                        }, 'Win32::OLE' ),
                 'ConnectionString' => 'Provider=MSDASQL.1',
                 'CommandTimeout' => 30,
                 'ConnectionTimeout' => 15,
                 'Version' => '6.1',
                 'Errors' => bless( {
                                      'Count' => 0,
                                      'Item' => undef
                                    }, 'Win32::OLE' ),
                 'DefaultDatabase' => undef,
                 'IsolationLevel' => 4096,
                 'Attributes' => 0,
                 'CursorLocation' => 2,
                 'Mode' => 0,
                 'Provider' => 'MSDASQL.1',
                 'State' => 0
               }, 'Win32::OLE' );

> Also, which Cygwin version are you using?  Your example works fine
> with my (obsolete) Cygwin 1.5 install.

Latest 1.7.8 with my official perl
-- 
Reini Urban
http://phpwiki.org/           http://murbreak.at/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.