Problem with bytea getBytes and setBytes
От | Xavier Poinsard |
---|---|
Тема | Problem with bytea getBytes and setBytes |
Дата | |
Msg-id | 3F83F6BE.5000509@openpricer.com обсуждение исходный текст |
Список | pgsql-jdbc |
I am trying to use a bytea column to store binary data, but the getBytes and setBytes methods aren't working as expected. I suspect a strange escaping occuring. I ran the following code : // insert test value PreparedStatement stmtInsert connection.prepareStatement("insert into test_blob (colblob) values(?)"); byte testBytes[] = new byte[255]; for (int i=0;i<255;i++) testBytes[i]=(byte)(i-128); stmtInsert.setBytes(1,testBytes); int count = stmtInsert.executeUpdate(); stmtInsert.close(); stmtInsert = null; // read and compare test value PreparedStatement stmtSelect =connection.prepareStatement("select colblob from test_blob"); ResultSet rs = stmtSelect.executeQuery(); while (rs.next()){ byte resByte[]=rs.getBytes(1); for (int i=0;i<255;i++){ if (resByte[i]!=testBytes[i]) System.out.println("Problem with byte "+i + " "+resByte[i]+" different from original " + testBytes[i] ); } } rs.close(); The results (truncated) : Problem with byte 32 -62 different from original -96 Problem with byte 33 -96 different from original -95 Problem with byte 34 -62 different from original -94 Problem with byte 35 -95 different from original -93 Problem with byte 36 -62 different from original -92 Problem with byte 37 -94 different from original -91 Problem with byte 38 -62 different from original -90 ... -- Xavier Poinsard xavier.poinsard@openpricer.com
В списке pgsql-jdbc по дате отправления: