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