Extra nulls inserted with binary data (DBD::ODBC on Win7)

Jerrad Pierce <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.general
Message-ID <[email protected]>
Hello all, I'm updating a LONGBINARY column in a Jet 4 (MDB) database on 
Windows 7 with
DBD::ODBC and have encountered an odd issue. Rather than the common 
problem of Unicode
data being treated as bytes, I have bytes that seem to be being treated 
as UCS-2LE.

Data that should look like this in hex:
0x3000000040021000400000000000000000000e04000005140000822400000724

Ends up end the database like this: 
0x030000000000000004002000010000000400000000000000000000000000000000000000E0004000000000005000410000000000280042000000000070004200 


i.e; there is a null byte inserted between each legitimate byte of data.
How can I ensure the integrity of my inserted data?

DBI tracing with SQL|odbcconnection|2|odbcunicode emits the following 
for a column update:

DBI::db=HASH(0x24d0eb8) trace level set to 0x6000100/2 (DBI @ 0x0/0) in 
DBI 1.634-ithread (pid 10652) -> prepare for DBD::ODBC::db 
(DBI::db=HASH(0x24d0f90)~0x24d0eb8 'Update Room Set FloorUValue=? WHERE 
Number=?') thr#519fb8 SQLPrepare Update Room Set FloorUValue=? WHERE 
Number=? Processing non-utf8 sql in unicode mode <- prepare= ( 
DBI::st=HASH(0x24d35b8) ) [1 items] at db_ODBC.pl line 90 -> execute for 
DBD::ODBC::st (DBI::st=HASH(0x24d35b8)~0x24d45c8 '..... 
............α@..PA..(B..pB' 1) thr#519fb8 <- execute= ( 1 ) [1 items] at 
db_ODBC.pl line 91 -> DESTROY for DBD::ODBC::st 
(DBI::st=HASH(0x24d45c8)~INNER) thr#519fb8 <- DESTROY= ( undef ) [1 
items] at db_ODBC.pl line 70 
3000000040021000400000000000000000000e04000005140000822400000724! -> 
DESTROY for DBD::ODBC::db (DBI::db=HASH(0x24d0eb8)~INNER) thr#519fb8 
SQLDisconnect=0 ! <- DESTROY= ( undef ) [1 items] during global 
destruction And DBI::data_string_desc returns "UTF8 off, non-ASCII". Any 
assistance would be much appreciated. (A similar inquiry has been posted 
at http://perlmonks.org/?node_id=1153796)

-- 
Jerrad Pierce, Research Assistant 2, NMR Group
617-284-6230x21
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.