I got similar results combining DBI 1.15 with DBD::Oracle 1.06 under WinNT
4.0 SP4, Oracle 8.1.5.0.0, and Perl 5.6.0.

Please run this script and send the results to the list:

#!perl -w

use DBI;
use DBD::Oracle qw(ORA_RSET);
use strict;

$| = 1;

my $dbuser = $ENV{ORACLE_USERID} || 'scott/tiger';
my $dbh = DBI->connect('', $dbuser, '', 'Oracle')
   or die "Connect failed, $DBI::errstr\n";

my $cur_query = q{
   SELECT object_name, owner FROM all_objects
      WHERE object_name LIKE :p1 and ROWNUM <= 3
    };
my $cur1 = 42;
$dbh -> trace( 10, 'rset_test-10.txt' );
my $parent = $dbh->prepare(qq{
   BEGIN OPEN :cur1 FOR $cur_query; END;
    }) or die "Prepare failed, $DBI::errstr\n";
$parent->bind_param(":p1", "V%");
$parent->bind_param_inout(":cur1", \$cur1, 0, { ora_type => ORA_RSET } );
$parent->execute();

===================
My trace results are:
    DBI::db=HASH(0x2cdd554) trace level set to 10 in DBI 1.15-nothread
    -> prepare for DBD::Oracle::db (DBI::db=HASH(0x2cdd590)~0x2cdd554 '
   BEGIN OPEN :cur1 FOR
   SELECT object_name, owner FROM all_objects
      WHERE object_name LIKE :p1 and ROWNUM <= 3
    ; END;
    ')
    dbih_setup_handle(DBI::st=HASH(0x2cdd68c)=>DBI::st=HASH(0x2cdd6ec),
DBD::Oracle::st, 2cdd698, Null!)
    dbih_make_com(DBI::db=HASH(0x2cdd554), DBD::Oracle::st, 204)
    dbih_setup_attrib(DBI::st=HASH(0x2cdd6ec), Err, DBI::db=HASH(0x2cdd554))
SCALAR(0x30f319c) (already defined)
    dbih_setup_attrib(DBI::st=HASH(0x2cdd6ec), State,
DBI::db=HASH(0x2cdd554)) SCALAR(0x30fb438) (already defined)
    dbih_setup_attrib(DBI::st=HASH(0x2cdd6ec), Errstr,
DBI::db=HASH(0x2cdd554)) SCALAR(0x30f316c) (already defined)
    dbih_setup_attrib(DBI::st=HASH(0x2cdd6ec), Handlers,
DBI::db=HASH(0x2cdd554)) ARRAY(0x2cdd560) (already defined)
    dbih_setup_attrib(DBI::st=HASH(0x2cdd6ec), Debug,
DBI::db=HASH(0x2cdd554)) 10 (already defined)
    dbd_preparse scanned 2 distinct placeholders
OCIHandleAlloc(031150D0,02CE15FC,4,0,00000000)=SUCCESS
OCIStmtPrepare(0312B58C,031230A0,'
   BEGIN OPEN :cur1 FOR
   SELECT object_name, owner FROM all_objects
      WHERE object_name LIKE :p1 and ROWNUM <= 3
    ; END;
    ',136,1,0)=SUCCESS
OCIAttrGet(0312B58C,4,02CE1600,00000000,24,031230A0)=SUCCESS
    dbd_st_prepare'd sql BEGIN
    dbd_describe skipped for BEGIN
    <- prepare= DBI::st=HASH(0x2cdd68c) at C:\tmp\rset_test.pl line 20.
    -> bind_param for DBD::Oracle::st (DBI::st=HASH(0x2cdd68c)~0x2cdd6ec
':p1' 'V%')
       bind :p1 <== 'V%' (type 0)
       bind :p1 <== 'V%' (size 2/3/0, ptype 4, otype 1)
       bind :p1 <== 'V%' (size 2/2, otype 1, indp 0)
OCIBindByName(0312B58C,02D77E5C,031230A0,":p1",3,02D77F90,2,1,02D77E6E,00000
000,02D77E6C,0,00000000,2)=SUCCESS
OCIBindDynamic(0312B274,031230A0,02D77E40,2317A050,02D77E40,2317A1A4)=SUCCES
S
       bind :p1 done
    <- bind_param= 1 at C:\tmp\rset_test.pl line 23.
    -> bind_param_inout for DBD::Oracle::st
(DBI::st=HASH(0x2cdd68c)~0x2cdd6ec ':cur1' SCALAR(0x310c0dc) 0
HASH(0x2cda954))
       bind :cur1 <== 42 (type 0, inout 0x310c0dc, maxlen 0, attribs:
HASH(0x2cda954))
       bind :cur1 done for ftype 116
    <- bind_param_inout= 1 at C:\tmp\rset_test.pl line 24.
    -> execute for DBD::Oracle::st (DBI::st=HASH(0x2cdd68c)~0x2cdd6ec)
    dbd_st_execute BEGIN (out1, lob0)...
       bind :cur1 - allocating new sth...
OCIHandleAlloc(031150D0,02D77DE0,4,0,00000000)=SUCCESS
OCIBindByName(0312B58C,02D77DDC,031230A0,":cur1",5,02D77DE0,0,116,00000000,0
0000000,00000000,0,00000000,0)=SUCCESS
    >> FETCH       DISPATCH (DBI::db=HASH(0x2cdd554) rc2/3 @2 g0 a2d70350)
at c:/perl/site/5.6.0/lib/DBI.pm line 748.
    <- FETCH= 'DBD::Oracle::db' ('ImplementorClass' from cache) at
c:/perl/site/5.6.0/lib/DBI.pm line 748.
===================
--
Mac :})
** I normally forward private database questions to the DBI mail lists. **
Give a hobbit a fish and he'll eat fish for a day.
Give a hobbit a ring and he'll eat fish for an age.
----- Original Message -----
From: "netguy37" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, April 02, 2001 4:47 PM
Subject: DBD::Oracle 'make test' fails (t/plsql 55-63)


> I am having difficulties testing DBD.  I've searched the web and the
various
> DBI/DBD lists, but can't find a solution.
>
> First, the environment:
> OS: Compaq Tru64 5.1
> Oracle: 8.1.6 (Enterprise Server)
> Perl: 5.6.0
> DBI: 1.15
> DBD: 1.06
> . . .
> t/plsql.............dubious
>         Test returned status 0 (wstat 139, 0x8b)
>         test program seems to have generated a core
> DIED. FAILED tests 55-63
>         Failed 9/63 tests, 85.71% okay
> t/reauth............skipped test on this platform
> Failed Test  Status Wstat Total Fail  Failed  List of failed
> --------------------------------------------------------------------------
--
> ---
> t/plsql.t         0   139    63    9  14.29%  55-63


Reply via email to