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


Reply via email to