http://www.perlmonks.org?node_id=977097

ahmedmc has asked for the wisdom of the Perl Monks concerning the following question:

I'm trying to insert an image into ms sql server but I'm getting some errors while inserting it in db.

"DBD::ODBC::st execute failed: unixODBCFreeTDSSQL ServerError converting client characters into server's character set. Some character(s) could not be converted. (SQL-HY000)"

For inserting image in mysql I was able to insert it i.e. using '?' in insert statement but tried out different methods including N character to insert in ms sql but attempt was unsuccessful. Please advise at earliest to overcome this issue. Stating my query below;

my $dbh = DBI-> connect("dbi:ODBC:DSN=MSSQL;Server=$server_name;Databa +se=$db_name;UID=$db_user;PWD=$db_pass") or die "CONNECT ERROR! :: $DB +I::err $DBI::errstr $DBI::state $!\n"; my $myfile = "/home/sysadm/perl-scripts/fax-5-rx.tif"; open MYFILE, $myfile or die "Cannot open file"; my $data; # Read in the contents while (<MYFILE>) { $data .= $_; } close MYFILE; my $sql = "INSERT into tblImages(imageid,channel,pages,msgid,content) +values ('000111222','8','1','000111222',?)"; my $sth = $dbh->prepare($sql) or die("\n\nPREPARE ERROR:\n\n$DBI::err +str"); $sth->execute($data) or die("\n\nQUERY ERROR:\n\n$DBI::errstr"); $sth->finish; $dbh->disconnect;