use strict; use warnings; use DBI; use Data::Dumper; my $h = DBI->connect("dbi:ODBC:xxx","xxx","xxx", {RaiseError => 1, PrintError => 0}); eval { $h->do(q/drop table mje/); }; $h->do(q/create table mje (a int)/); $h->do(q/insert into mje values(1)/); my $s = $h->prepare(q/select * from mje where a = ?/); eval { $s->execute('fred'); }; if ($@) { print "$@"; print Dumper($s->{ParamValues}); } # outputs # DBD::ODBC::st execute failed: [unixODBC][Easysoft][SQL Server Driver #11.0][SQL Server]Invalid character value for cast specification (SQL-22018) #at paramvalues.pl line 17. #$VAR1 = { # '1' => 'fred' # };