Re: bytea problem

Поиск
Список
Период
Сортировка
От chris humphrey
Тема Re: bytea problem
Дата
Msg-id 4ECBFF53.9020303@parallelsw.com
обсуждение исходный текст
Ответ на Re: bytea problem  (Thomas Kellerer <spam_eater@gmx.net>)
Ответы Re: bytea problem  (Maciek Sakrejda <msakrejda@truviso.com>)
Re: bytea problem  (alkampfer <kazucat@gmail.com>)
Список pgsql-jdbc
I had this problem recently.
I had just upgraded from postgres 8 to 9, but did not get the jdbc
driver updated.

I read a posting that the bytea datatype was refactored in version 9,
and one indication was that twice as many bytes came out as went in...
this seems to be the case for you, so try looking at the version of the
jdbc driver and make sure you have a matching driver for your instance.

your code for the prepareStatement is how I am doing it and it now works
perfectly, since I updated my driver.

hope this helps.

On 11/22/2011 11:25 AM, Thomas Kellerer wrote:
> alkampfer wrote on 22.11.2011 18:37:
>> Hello, this is my problem :
>> I use java + postgres and I want to store image files into a table
>>
>> my table : (id int,  image bytea)
>>
>> the code :
>>                  byte bytes[] = new byte[(int)file.length()];
>>
>>                  sqlq ="UPDATE table set image= ? where id=?";
>>                  ps = .....prepareStatement(sqlq);
>>                  ps.setBytes(2,bytes);
>>                  ps.setString(2,id);
>>
>> put the file into my table, stream of 41054 bytes, OK.
>>
>> but when I retrieve it from the database resultSet.getBytes("image")
>> gives
>> an array of 82108 bytes!!
>> worst of all those bytes I get have no sense at all, like 00 00  00
>> or 11
>> 11....
>
> How do you read the data into the bytes[] array?
>
> I usually use setBinaryStream() instead of setBytes(), that saves me
> from "manually" reading the file content into an array:
>
> InputStream in = new FileInputStream(file);
> sqlq ="UPDATE table set image= ? where id=?";
> ps = .....prepareStatement(sqlq);
> ps.setBinarayStream(1, in, (int)file.length());
> ps.setString(2,id);
>
>
>
>


В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Dave Cramer
Дата:
Сообщение: Re: SslTests failures
Следующее
От: alkampfer
Дата:
Сообщение: Re: bytea problem