Brad,

What version of DBD::ODBC are you using?  If you are using DBD::ODBC 0.28
from ActiveState, then I suggest upgrading to the latest (which has a PPM
file at ftp://ftp.esoftmatic.com/pub/outgoing/DBI

Please upgrade your DBI too, as you must use the version I have uploaded
there.

Regards,

Jeff
>
> Scenario:
>
> I am using the following code to update an Access database.  The fields
> case_notes1...case_notes4 are MEMO fields.  Sometimes, I have no
> problem whatsoever.  Other times, I get the following error:
>
> DBD::ODBC::st execute failed: [Microsoft][ODBC Microsoft Access
> Driver]Invalid precision value  (SQL-S1104)(DBD:
> _rebind_ph/SQLBindParameter err=-1) at c:/i-networks/soar/cgi-
> bin/collab_gatekeepers_channel_open.pl line 930.
>
> The code:
>
>     my $dbh = DBI->connect("dbi:ODBC:gatekeepers") || die DBI::errstr;
>     my $sth = $dbh->prepare("UPDATE gatekeepers
>                                SET caller_last_name=?,
> caller_first_name=?,
> caller_phone_areacode=?,
>                                    caller_phone_prefix=?,
> caller_phone_suffix=?, caller_anonymous=?, referral_source=?,
>                                    referral_source_other=?,
> caller_callback=?,
> client_first_name=?, client_last_name=?,
>                                    client_soc_security=?,
> client_address=?,
> client_city=?, client_state=?,
>                                    client_zipcode=?, client_zipfour=?,
> client_phone_areacode=?, client_phone_prefix=?,
>                                    client_phone_suffix=?,
> client_gender=?,
> client_age=?, client_race=?,
>                                    composition=?, composition_other=?,
> referral_reasons=?, directions=?,
>                                    outcomes_mental_health_agency=?,
> outcomes_crisis_services=?, outcomes_senior_ir=?,
>
> outcomes_home_and_community_services=?,
> outcomes_home_health_agency=?,
> outcomes_adult_protective_services=?,
>                                    outcomes_medical_facility=?,
> outcomes_medical_services=?,
> outcomes_involuntary_psychiatric_hospital=?,
>
> outcomes_voluntary_psychiatric_hospital=?,
> outcomes_detoxification_facility=?, outcomes_law_enforcement=?,
>                                    outcomes_other1=?, outcomes_other2=?,
> outcomes_other3=?, outcomes_other4=?,
>                                    refused_face_to_face=?,
> refused_recommended_services=?, refused_will_return=?,
> unable_to_contact=?,
>                                    refusal_comments=?,
> other_actions_comments=?, caregiver_stress=?, condition_of_home=?,
>                                    economic_problems=?,
> medication_problems=?, mental_health=?, nutrition=?,
>                                    personal_appearance=?,
> personality_changes=?, physical_health=?, physical_losses=?,
>                                    social_isolation=?, substance_abuse=?,
> reason_other1=?, reason_other2=?,
>                                    case_notes1=?, case_notes2=?,
> case_notes3=?, case_notes4=?,
>                                    last_update_date=?, last_update_name=?
>                               WHERE sid   = ?
>                            ") || die DBI::errstr;
>
>     $sth->execute(
>     $in{'caller_last_name'}, $in{'caller_first_name'},
>     $in{'caller_phone_areacode'},
> $in{'caller_phone_prefix'},$in{'caller_phone_suffix'},
>     $in{'caller_anonymous'}, $in{'referral_source'},
> $in{'referral_source_other'},
>     $in{'caller_callback'}, $in{'client_first_name'},
> $in{'client_last_name'},
>     $in{'client_soc_security'}, $in{'client_address'}, $in{'client_city'},
>     $in{'client_state'}, $in{'client_zipcode'}, $in{'client_zipfour'},
>     $in{'client_phone_areacode'}, $in{'client_phone_prefix'},
> $in{'client_phone_suffix'},
>     $in{'client_gender'}, $in{'client_age'}, $in{'client_race'},
>     $in{'composition'}, $in{'composition_other'}, $in{'referral_reasons'},
>     $in{'directions'}, $in{'outcomes_mental_health_agency'},
> $in{'outcomes_crisis_services'},
>     $in{'outcomes_senior_ir'},
> $in{'outcomes_home_and_community_services'},
> $in{'outcomes_home_health_agency'},
>     $in{'outcomes_adult_protective_services'},
> $in{'outcomes_medical_facility'}, $in{'outcomes_medical_services'},
>     $in{'outcomes_involuntary_psychiatric_hospital'},
> $in{'outcomes_voluntary_psychiatric_hospital'},$in{'outcomes_detoxific
> ation_facility'},
>     $in{'outcomes_law_enforcement'}, $in{'outcomes_other1'},
> $in{'outcomes_other2'}, $in{'outcomes_other3'},
>     $in{'outcomes_other4'}, $in{'refused_face_to_face'},
> $in{'refused_recommended_services'}, $in{'refused_will_return'},
>     $in{'unable_to_contact'}, $in{'refusal_comments'},
> $in{'other_actions_comments'},
>     $in{'caregiver_stress'}, $in{'condition_of_home'},
> $in{'economic_problems'}, $in{'medication_problems'},
>     $in{'mental_health'}, $in{'nutrition'}, $in{'personal_appearance'},
> $in{'personality_changes'},
>     $in{'physical_health'}, $in{'physical_losses'},
> $in{'social_isolation'},
> $in{'substance_abuse'},
>     $in{'reason_other1'}, $in{'reason_other2'}, $in{'case_notes1'},
> $in{'case_notes2'},
>     $in{'case_notes3'}, $in{'case_notes4'}, $now_date, $new_specialist,
> $in{'sid'});
>
>     $dbh->disconnect();
>
> Any ideas?  So far, I have tried enclosing the wildcard variables in the
> execute() statement in quotes, but that hasn't seemed to work as well
> as I expected.
>
> Thanks in advance
>
> Brad Smith
>


Reply via email to