Error I've not seen before from oracle DBD

Bruce Johnson <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.general
Message-ID <[email protected]>
Can't mix placeholder styles (:foo/?) at /usr/local/lib64/perl5/DBD/Oracle.pm line 329., referer: https://resource-scheduler.pharmacy.arizona.edu/calendar/reserve.pl

I thought this is the code fragment producing this error:

my $lda = DBI->connect("dbi:Oracle:$dbname", $login, $dbpass) or die $DBI::errstr;

my $sq_res_pend = "insert into reservations_pend (pid, email, cn, purpose, reserver_affstring) values(?,?,?,?,?) returning reservations_pend_id into :NEWID";

my $csr_res_pend = $lda->prepare($sq_res_pend) or die $DBI::errstr;
$csr_res_pend->bind_param(1,$res_pid) or die $DBI::errstr;
$csr_res_pend->bind_param(2,$res_email) or die $DBI::errstr;
$csr_res_pend->bind_param(3,$res_name) or die $DBI::errstr;
$csr_res_pend->bind_param(4,$res_purp) or die $DBI::errstr;
$csr_res_pend->bind_param(5,$res_affil) or die $DBI::errstr;
$csr_res_pend->bind_param_inout(":NEWID",\$new_res_id, 25) or die $DBI::errstr;

$csr_res_pend->execute();

But when I changed it to all ':foo" style, I still got the same error:

my $sq_res_pend = "insert into reservations_pend (pid, email, cn, purpose, reserver_affstring) values(:1,:2,:3,:4,:5) returning reservations_pend_id into :NEWID";

my $csr_res_pend = $lda->prepare($sq_res_pend) or die $DBI::errstr;
$csr_res_pend->bind_param(':1',$res_pid) or die $DBI::errstr;
$csr_res_pend->bind_param(':2',$res_email) or die $DBI::errstr;
$csr_res_pend->bind_param(':3',$res_name) or die $DBI::errstr;
$csr_res_pend->bind_param(':4',$res_purp) or die $DBI::errstr;
$csr_res_pend->bind_param(':5',$res_affil) or die $DBI::errstr;
$csr_res_pend->bind_param_inout(":NEWID",\$new_res_id, 25) or die $DBI::errstr;

$csr_res_pend->execute();

This is the only place in my program where I even used bind_param; every other cursor is of the 'select foo, bar, bax from thetable where id =?' style.

Also, the line number in the error is from Oracle.pm, how do I find out what line in my program caused this?



-- 
Bruce Johnson
University of Arizona
College of Pharmacy
Information Technology Group

Institutions do not have opinions, merely customs
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.