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


Reply via email to