DBD::ODBC::st execute failed: [Microsoft][ODBC SQL Server Driver]String data, right truncation (SQL-22001)(DBD: st_execute/SQLExecute err=-1) at userDataConv.pl line 101. #### sub insertData { my (@columns, @data); # Only insert fields with values # @fields contains the names of the columns in the database # @textFields containst the names of the columns in the text files for (0 .. $#textFields) { if (exists $data{$textFields[$_]} && $data{$textFields[$_]} !~ /^\s*$/) { push @columns, $fields[$_]; # Database fieldnames push @data, $data{$textFields[$_]}; # Corresponding hash values } } my $fields = join ',', @columns; my $placeHolders = ('?,' x ($#columns)) . '?'; my $sql = "INSERT INTO userData ($fields) VALUES ($placeHolders)"; my $sth = $dbh->prepare($sql); $sth->execute(@data); $sth->finish; }