Storing binary with JDBCTemplate

Viewed 21

I have table like create table test(payload varbinary(max))

I am trying to store text lines in compressed format in the database using the following code

String sql = "insert into test(payload) values (compress(:payload))
MapSqlParametersource msps = new MapSqlParameterSource();
msps.addValue("payload", "some text", Types.VARBINARY)
NamedParameterJdbcTemplate npjt = //;
npjt.update(sql, msps);

This gives the following error -

String is not in a valid hex format

If I provide the datatype in MapSqlParameterSource as VARCHAR, it doesn't give any error, but then using MSSQL's decompress function returns garbage value

select decompress(payload) from test

0 Answers
Related