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
smime.p7s
Description: S/MIME Cryptographic Signature