OK,
good question.
DBI: 1.19
DBD::Oracle: 1.06 (which actually plays on the DB server side and seems to
be OK)
DBI::ProxyServer: 0.2004
DBD::Proxy: 0.2003
Perl: 5.6.1
Oracle: 8.0.6/Sparc Solaris (DB server)
BTW, it seems to me that the problem is with the way the parameters are
passed. I.e. when I use placeholder numbers instead of names it works.
Namely that code snippet being rewritten works:
$sth = $dbh->prepare(q{BEGIN :p1 := first_req.req_put_sub(:p2);END;});
$sth->bind_param_inout(1,\$addr_id,32,DBI::SQL_INTEGER);
$sth->bind_param(2,$address,DBI::SQL_VARCHAR);
That could be a workaround for me but the problem is that I have tons and
tons of scripts which use passing parameters by name rather then by numbers.
Reg's
Oleg
> -----Original Message-----
> From: Hardy Merrill [mailto:[EMAIL PROTECTED]]
> Sent: Monday, August 20, 2001 2:00 PM
> To: Oleg Mechtcheriakov
> Cc: [EMAIL PROTECTED]
> Subject: Re: DBD::Proxy and bind_param (with ORACLE)
>
>
> How 'bout giving the versions of DBI, DBD::Oracle that you're
> using?
>
> Oleg Mechtcheriakov [[EMAIL PROTECTED]] wrote:
> > Greetings,
> >
> > has someone experienced troubles with DBD::Proxy and
> bind_param function?
> >
> > I'm trying to switch from DBD::Oracle to DBD::Proxy and
> everything was OK
> > but bind_param gives me an exception.
> >
> > Here is the code snippet:
> >
> > my $addr_id;
> > my $sth = $dbh->prepare(q{BEGIN :id :=
> > first_req.check_req_sub_ok(:address);END;});
> > $sth->bind_param_inout(":id",\$addr_id,32,DBI::SQL_INTEGER);
> > $sth->bind_param(":address",$address);
> >
> > which gives me the following error message at the first
> bind_param_inout
> >
> > Modification of non-creatable array value attempted, subscript -1 at
> >
> /usr/local/lib/perl5/site_perl/5.6.1/i86pc-solaris/DBD/Proxy.p
> m line 536
> >
> > Any ideas?
> >
> > Many thanks in advance
> > Oleg
>