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