Главная страница


su.dbms.sql

 
 - SU.DBMS.SQL ------------------------------------------------------------------
 From : Alexander Bodnar                     2:5020/400     29 Mar 2001  11:30:40
 To : All
 Subject : Re: Хранение бинарных   данные в PostgreSQL
 -------------------------------------------------------------------------------- 
 
 
 "Constantin Svintsoff" <kostik@iclub.nsu.ru> wrote in message
 news:Pine.BSF.4.21.0103282010320.69938-100000@iclub.nsu.ru...
 
 > On Wed, 28 Mar 2001, Alexander Bodnar wrote:
 >
 > > > > Знаю, что можно воспользоваться Large Object.
 > > > > Hо у меня этих записей очень много, и размер всего несколько байт,
 > > примерно
 > > > > 1 - 10 байт. Hо может достигать и несколько сотен килобайт (редко).
 > > > > Могу я их запихнуть в поле text?
 > > > > У меня вроде все нормально запихивается, но байт со значением 0 ни
 
 как
 
 > > не
 > > > > получается.
 > > > > Подскажите как лучше сделать.
 > > > Hу либо действительно Large Object'ы (и если действительно сотни
 
 килобайт
 
 > > > и Postgres не очень новый (где еще есть ограничение на tuple size) -
 
 то
 
 > > > точно large objects). Либо используй не text, а byea.
 > >
 > > Использую поле с типом bytea, и снова та-же проблема.
 > > Hе записываются бинарные данные в которых есть ноль.
 > > Я делаю так
 > >   INSERT INTO table1('\022\003\000\003\004');
 > > а в итоге записывается запись '\022\003'
 > > а все после нуля, включая его же, не записывается.
 > > Таблица имеет одно поле с типом bytea.
 > Тут на самом деле в данноом случае фигня, явно, в том, что когда строка
 > '\022\003\000\003\004' преобразуется в bytea функция преобразования
 > находит этот ноль и считает его концом строки, потому ноль и то что дальше
 > - не попадают в результат. Воот. Если сказать instert into table1 values
 > (set_byte('\022\003\0XX\003\004', 3, 0)); то получится все что ожидалось
 >              ^^ не ноль
 > (то есть с нулем на 3м месте) (я, конечно не предлагаю так делать).
 > А для доступа к базе - вы что используете? (Просто надо чтобы Постгрес не
 > преобразовывал строку в bytea, а чтоб ему сам bytea и шел).
 >
 > /Constantin
 
 Все работает, но а если несколько нулей?
 Hапример надо вставить
 '\001\002\000\003\004\005\000\006\007\008\000\009\010'
 --- ifmail v.2.15dev5
  * Origin: Unknown (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Хранение бинарных данные в PostgreSQL   Alexander Bodnar   28 Mar 2001 12:31:33 
 Re: Хранение бинарных данные в PostgreSQL   Constantin Svintsoff   28 Mar 2001 13:27:01 
 Re: Хранение бинарных данные в PostgreSQL   Alexander Bodnar   28 Mar 2001 16:38:25 
 Re: Хранение бинарных данные в PostgreSQL   Constantin Svintsoff   28 Mar 2001 17:25:03 
 Re: Хранение бинарных данные в PostgreSQL   Alexander Bodnar   29 Mar 2001 11:30:40 
 Re: Хранение бинарных данные в PostgreSQL   Andrei N.Sobchuck   29 Mar 2001 13:12:36 
 Re: Хранение бинарных данные в PostgreSQL   Alexander Bodnar   30 Mar 2001 13:27:35 
 Re: Хранение бинарных данные в PostgreSQL   Andrei N.Sobchuck   30 Mar 2001 15:27:41 
 Хранение бинарных данные в PostgreSQL   Andrey Andruikhanov   30 Mar 2001 16:34:26 
Архивное /su.dbms.sql/91381b560257.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional