Сохранение / извлечение двоичных данных из базы данных - PullRequest
0 голосов
/ 09 апреля 2011

У меня есть веб-приложение, развернутое в tomcat 6.0.32 x64, и оно использует Hibernate 3.0 для подключения к базе данных Postgres 9.0 x64.

Приложение сохраняет двоичное поле в базе данных, и когда я его нахожу, оноотличается.

Двоичные сохранены: [-82, 120, 71, 23, -88, 67, 36, 30, 57, -72, 42, 29, -64, 93, -8, -103, -63, 124, 66, 20]

Двоичные данные получены: [-67, 55, 56, 52, 55, 49, 55, 97, 56, 52, 51, 50, 52, 49, 101, 51, 57, 98, 56, 50, 97, 49, 100, 99, 48, 53, 100, 102, 56, 57, 57, 99, 49, 55, 99, 52, 50, 49, 52]

Спасибо

Ответы [ 2 ]

0 голосов
/ 09 апреля 2011

Проверьте версию драйвера postgres jdbc. Он должен быть как минимум таким же свежим, как ваш сервер БД, поэтому вам нужен драйвер 9.0 или выше.

Я считаю, что формат проводного байта изменился в 9.0, что может объяснить эту проблему, если у вас старый драйвер.

0 голосов
/ 09 апреля 2011

Вы не предоставили достаточно подробностей, но я собираюсь выйти из строя и предположить, что в какой-то момент вы переводите байты в символы (ваш вывод выглядит примерно вдвое длиннее, чем ваш ввод, символы java равны 2байт).bytes! = chars.

в противном случае это может быть связано с неправильным использованием потоков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...