Sorry for my last post. I managed to attach a much to big trace (several 
runs of the program).

Roger Perttu wrote:

> I've just started to experiment with DBD-ADO 2.5. I'm trying to figure 
> out if it's a viable option to DBD-ODBC.
>
> I've got this snippet of code that doesn't seem to work with DBD-ADO:
>
>    my $dbh = newDbh();
>    my $sth = $dbh->prepare("{call testPrc(?)}");
>      $sth->bind_param(1, 10, { TYPE => 4 });
>    $sth->execute();
>      print '$sth->{NUM_OF_FIELDS}: ', $sth->{NUM_OF_FIELDS}, "\n";
>    if($sth->{NUM_OF_FIELDS})
>    {    $sth->fetchrow_hashref('NAME');
>    }
>
>
> I just get lots of errors like this (trace is attached):
>
> OLE exception from "ADODB.Connection":
>
> Object or provider is not capable of performing requested operation.
>
> Win32::OLE(0.1502) error 0x800a0cb3
>    in METHOD/PROPERTYGET "OpenSchema" at E:/Perl/site/lib/DBD/ADO.pm 
> line 1402
> OLE exception from "ADODB.Connection":
>
> Object or provider is not capable of performing requested operation.
>
> Win32::OLE(0.1502) error 0x800a0cb3
>    in METHOD/PROPERTYGET "OpenSchema" at E:/Perl/site/lib/DBD/ADO.pm 
> line 1402
> OLE exception from "ADODB.Connection":
>
> Object or provider is not capable of performing requested operation.
>
> Win32::OLE(0.1502) error 0x800a0cb3
>    in METHOD/PROPERTYGET "OpenSchema" at E:/Perl/site/lib/DBD/ADO.pm 
> line 1402
> OLE exception from "ADODB.Connection":
>
> Object or provider is not capable of performing requested operation.
>
> Win32::OLE(0.1502) error 0x800a0cb3
>    in METHOD/PROPERTYGET "OpenSchema" at E:/Perl/site/lib/DBD/ADO.pm 
> line 1402
> OLE exception from "ADODB.Connection":
>
> It just goes on like that.
>
> Using SQL Profiler I can see that the code executes as it's supposed 
> to on the server.
>
> Finally my questions:
>
> 1. Why do I get those errors?
>
> 2. Is DBD-ADO mature? Experiences?
>
> 3. Does DBD-ADO support input/output parameters for stored procedures? 
> Multiple result sets?
>
> 4. I've noticed that DBD-ADO call sp_sproc_columns for my sp's, can 
> that be avoided?
>
> Thanks,
>
> Roger P


    DBI::st=HASH(0x29c16d0) trace level set to 4 in DBI 1.30-ithread
    -> bind_param for DBD::ADO::st (DBI::st=HASH(0x29c31ec)~0x29c16d0 1 
10 HASH(0x29be6e8)) thr#01B0F27C
1   <- FETCH= 1 ('NUM_OF_PARAMS' from cache) at ADO.pm line 1778 via 
E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 54
->(default) : 2 3
    <- bind_param= 1 at DbiTest4ADO.pl line 54 via 
E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 69
    -> execute for DBD::ADO::st (DBI::st=HASH(0x29c31ec)~0x29c16d0) 
thr#01B0F27C
1   <- FETCH= '{call testPrc(?)}' ('Statement' from cache) at ADO.pm 
line 1831 via E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 55
-> execute state handler
  -> Not Supported flag: 0
  -> Is the Parameter Object Supported? Yes
-> Parameter count: 1
-> Parameter 0: 10
-> Parameter 0: 10
1   -> STORE for DBD::ADO::st (DBI::st=HASH(0x29c16d0)~INNER 
'ado_rowset' Win32::OLE=HASH(0x29bcca8)) thr#01B0F27C
1   <- STORE= Win32::OLE=HASH(0x29bcca8) at ADO.pm line 2005 via 
E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 55
1   -> FETCH for DBD::ADO::st (DBI::st=HASH(0x29c16d0)~INNER 
'RowCacheSize') thr#01B0F27C
    .. FETCH DBI::st=HASH(0x29c16d0) 'RowCacheSize' = undef
1   <- FETCH= undef at ADO.pm line 2008 via 
E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 55
1   -> FETCH for DBD::ADO::st (DBI::st=HASH(0x29c16d0)~INNER 
'NUM_OF_FIELDS') thr#01B0F27C
    .. FETCH DBI::st=HASH(0x29c16d0) 'NUM_OF_FIELDS' = 0
1   <- FETCH= 0 at ADO.pm line 2020 via 
E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 55
1   -> STORE for DBD::ADO::st (DBI::st=HASH(0x29c16d0)~INNER 'Active' 1) 
thr#01B0F27C
    STORE DBI::st=HASH(0x29c16d0) 'Active' => 1
1   <- STORE= 1 at ADO.pm line 2021 via 
E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 55
1   -> STORE for DBD::ADO::st (DBI::st=HASH(0x29c16d0)~INNER 
'NUM_OF_FIELDS' 18) thr#01B0F27C
    STORE DBI::st=HASH(0x29c16d0) 'NUM_OF_FIELDS' => 18
1   <- STORE= 1 at ADO.pm line 2022 via 
E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 55
1   -> STORE for DBD::ADO::st (DBI::st=HASH(0x29c16d0)~INNER 'NAME' 
ARRAY(0x29b9644)) thr#01B0F27C
1   <- STORE= [ 'name' 'xtype' 'status' 'xusertype' 'length' 'xprec' 
'xscale' 'tdefault' 'domain' 'uid' 'reserved' 'usertype' 'variable' 
'allownulls' 'type' 'printfmt' 'prec' 'scale' ] at ADO.pm line 2024 via 
E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 55
-> _determine_type_support
-> _determine_type_support
-> _determine_type_support
-> _determine_type_support
-> _determine_type_support
-> _determine_type_support
-> _determine_type_support
-> _determine_type_support
-> _determine_type_support
-> _determine_type_support
-> _determine_type_support
-> _determine_type_support
-> _determine_type_support
-> _determine_type_support
-> _determine_type_support
-> _determine_type_support
-> _determine_type_support
-> _determine_type_support
1   -> STORE for DBD::ADO::st (DBI::st=HASH(0x29c16d0)~INNER 'TYPE' 
ARRAY(0x29a6e78)) thr#01B0F27C
1   <- STORE= [ -9 -9 undef 0 0 undef 0 0 undef 5 5 undef 5 5 undef 0 0 
undef 0 0 undef 4 4 undef 4 4 undef 5 5 undef 5 5 undef 5 5 undef 16 16 
undef 16 16 undef 0 0 undef 12 12 undef 5 5 undef 0 0 undef ] at ADO.pm 
line 2026 via E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 55
1   -> STORE for DBD::ADO::st (DBI::st=HASH(0x29c16d0)~INNER 'PRECISION' 
ARRAY(0x29a8570)) thr#01B0F27C
1   <- STORE= [ 255 3 3 5 5 3 3 10 10 5 5 5 255 255 3 255 5 3 ] at 
ADO.pm line 2028 via E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl 
line 55
1   -> STORE for DBD::ADO::st (DBI::st=HASH(0x29c16d0)~INNER 'SCALE' 
ARRAY(0x29b7594)) thr#01B0F27C
1   <- STORE= [ 255 255 255 255 255 255 255 255 255 255 255 255 255 255 
255 255 255 255 ] at ADO.pm line 2030 via 
E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 55
1   -> STORE for DBD::ADO::st (DBI::st=HASH(0x29c16d0)~INNER 'NULLABLE' 
ARRAY(0x29a7088)) thr#01B0F27C
1   <- STORE= [ 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 ] at ADO.pm line 
2033 via E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 55
1   -> STORE for DBD::ADO::st (DBI::st=HASH(0x29c16d0)~INNER 'ado_type' 
ARRAY(0x29a6f14)) thr#01B0F27C
1   <- STORE= [ 202 17 17 2 2 17 17 3 3 2 2 2 11 11 17 200 2 17 ] at 
ADO.pm line 2038 via E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl 
line 55
1   -> STORE for DBD::ADO::st (DBI::st=HASH(0x29c16d0)~INNER 
'CursorName' undef) thr#01B0F27C
1   <- STORE= undef at ADO.pm line 2049 via 
E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 55
1   -> STORE for DBD::ADO::st (DBI::st=HASH(0x29c16d0)~INNER 'Statement' 
'{call testPrc(?)}') thr#01B0F27C
1   <- STORE= '{call testPrc(?)}' at ADO.pm line 2050 via 
E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 55
1   -> STORE for DBD::ADO::st (DBI::st=HASH(0x29c16d0)~INNER 
'RowsInCache' 1) thr#01B0F27C
1   <- STORE= 1 at ADO.pm line 2051 via 
E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 55
1   -> STORE for DBD::ADO::st (DBI::st=HASH(0x29c16d0)~INNER 'rows' -1) 
thr#01B0F27C
    STORE DBI::st=HASH(0x29c16d0) 'rows' => -1
1   <- STORE= '' at ADO.pm line 2052 via 
E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 55
<- executed state handler
    <- execute= -1 at DbiTest4ADO.pl line 55 via 
E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 69
    <- FETCH= 18 ('NUM_OF_FIELDS' from cache) at DbiTest4ADO.pl line 57 
via E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 69
    <- FETCH= 18 ('NUM_OF_FIELDS' from cache) at DbiTest4ADO.pl line 58 
via E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 69
    -> fetchrow_hashref in DBD::_::st for DBD::ADO::st 
(DBI::st=HASH(0x29c31ec)~0x29c16d0 'NAME') thr#01B0F27C
1   -> fetch for DBD::ADO::st (DBI::st=HASH(0x29c16d0)~INNER) thr#01B0F27C
2   -> FETCH for DBD::ADO::st (DBI::st=HASH(0x29c16d0)~INNER 'Active') 
thr#01B0F27C
    .. FETCH DBI::st=HASH(0x29c16d0) 'Active' = 1
2   <- FETCH= 1 at ADO.pm line 2068 via 
E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 58
2   -> FETCH for DBD::ADO::st (DBI::st=HASH(0x29c16d0)~INNER 
'ChopBlanks') thr#01B0F27C
    .. FETCH DBI::st=HASH(0x29c16d0) 'ChopBlanks' = ''
2   <- FETCH= '' at ADO.pm line 2100 via 
E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 58
    dbih_setup_fbav for 18 fields => 0x29a5b40
1   <- fetch= [ 'binary' 173 2 173 8000 0 0 0 0 1 0 3 0 1 45 undef 8000 
undef ] row1 at DbiTest4ADO.pl line 58 via 
E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 69
1   <- FETCH= [ 'name' 'xtype' 'status' 'xusertype' 'length' 'xprec' 
'xscale' 'tdefault' 'domain' 'uid' 'reserved' 'usertype' 'variable' 
'allownulls' 'type' 'printfmt' 'prec' 'scale' ] ('NAME' from cache) at 
DbiTest4ADO.pl line 58 via 
E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 69
    <- fetchrow_hashref= HASH(0x29a5ccc)18keys row1 at DbiTest4ADO.pl 
line 58 via E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 69
    -> DESTROY for DBD::ADO::st (DBI::st=HASH(0x29c16d0)~INNER) thr#01B0F27C
<- destroy statement handler
    -> STORE for DBD::ADO::st (DBI::st=HASH(0x29c16d0)~INNER 
'ado_rowset' undef) thr#01B0F27C
    <- STORE= undef at ADO.pm line 2196 via 
E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 75
    -> STORE for DBD::ADO::st (DBI::st=HASH(0x29c16d0)~INNER 'Active' 0) 
thr#01B0F27C
    STORE DBI::st=HASH(0x29c16d0) 'Active' => 0
    <- STORE= 1 at ADO.pm line 2197 via 
E:\Projekt\Helpdesk\Perl\UpgradeDB\DbiTest4ADO.pl line 75
-> destroy statement handler
    <- DESTROY= undef at DbiTest4ADO.pl line 75

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to