Huh? 4=3?

Bruce Johnson <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.general
Message-ID <[email protected]>
Getting the error:

DBD::Oracle::st execute failed: called with 3 bind variables when 4 are needed [for Statement "insert into employee_fte_annualrate_l (emplid, emptype_cd, fte, annual_rate) values(?,?,?,?)" with ParamValues: :p1='22057713', :p2='R', :p3='1', :p4='47311'] at /home/oraweb/perl/frs/kfsupdate.pl line 64, <DATA> line 581.

I'm pretty sure I count 4 placeholders and 4 parameter values in that error message, so where is the '3 bind variables' coming from?

here's the cursor definition:

my $csr_emp_info = $lda->prepare("insert into employee_fte_annualrate_l (emplid, emptype_cd, fte, annual_rate) values(?,?,?,?)");

I'm pulling the data from an LDAP query, here's the offending line 64 (where $mesg is the returned LDAP object):

$csr_emp_info->execute($mesg->entry($n)->get_value('emplId'), $mesg->entry($n)->get_value('employeeType'),$mesg->entry($n)->get_value('employeeFTE'),$mesg->entry($n)->get_value('employeeTotalAnnualRate'));

All the columns allow null entries, and these are all single-valued entries in the LDAP schema.


-- 
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.