BLOB в строку

2010-02-08 Пенетрантность Konstantin R. Beliaev

Какие-то непонятки...
Вроде на 1.5 функция SUBSTRING должна преобразовывать текстовый BLOB в 
VARCHAR, однако это срабатывает для блобов в созданных мной таблицах, и 
не работает в системных.


Вот такой запрос выполняется нормально:
 select c.Num, c.Name, substring(c.Requisits from 1 for 1000)
 from client  с

а вот такой:
SELECT  substring(rf.RDB$DESCRIPTION from 1 for 1000), rf.RDB$FIELD_NAME
FROM RDB$RELATIONS r,  RDB$RELATION_FIELDS rf,   RDB$FIELDS f, 
 RDB$TYPES rt

WHERE
  (r.RDB$RELATION_NAME = rf.RDB$RELATION_NAME) and
  (rf.RDB$FIELD_SOURCE =f.RDB$FIELD_NAME)  and
  (f.RDB$FIELD_TYPE = rt.RDB$TYPE)   and
  ((r.RDB$SYSTEM_FLAG = 0) and (r.RDB$VIEW_SOURCE IS NULL) and
   (rt.RDB$FIELD_NAME = 'RDB$FIELD_TYPE')) and
  (r.RDB$RELATION_NAME='EMPGROUP')
дает
conversion error from string BLOB.

Разница в объявлении полей вроде только в Charset: у меня c.Requisits 
типа WIN1251,

а в RDB$RELATION_FIELDS -- UNICODE_FSS

Как это обойти?
Чарсет коннекта - WIN1251



Re: BLOB � ������

2010-02-08 Пенетрантность Alex Cherednichenko
Hello, Konstantin!
You wrote  on Mon, 08 Feb 2010 16:13:52 +0300:

 KRB Какие-то непонятки...
 KRB Вроде на 1.5 функция SUBSTRING должна преобразовывать текстовый BLOB в
 KRB VARCHAR, однако это срабатывает для блобов в созданных мной таблицах, и
 KRB не работает в системных.
[...skipped...]
 KRB Как это обойти?
 KRB Чарсет коннекта - WIN1251

Имхо, никак.
Попробуй напрямую заюзать UDF Blob2String().

--
With best regards, Alex Cherednichenko. 




Re: BLOB в строку

2010-02-08 Пенетрантность Konstantin R. Beliaev

Alex Cherednichenko wrote:

Попробуй напрямую заюзать UDF Blob2String().

Не нашел ее среди стандартных, есть только обратная: string2blob в fbudf.dll
:((



Re: BLOB � ������

2010-02-08 Пенетрантность Alex Cherednichenko
Hello, Konstantin!
You wrote  on Mon, 08 Feb 2010 16:58:04 +0300:

 AC Попробуй напрямую заюзать UDF Blob2String().
 KRB Не нашел ее среди стандартных, есть только обратная: string2blob в 
fbudf.dll

Вродь тут народ брал: ftp://ftp.adhoc-data.de/FreeAdhocUDF/

зы: я лично не проверял.

--
With best regards, Alex Cherednichenko. 




Re: BLOB в строку

2010-02-08 Пенетрантность Konstantin R. Beliaev

Alex Cherednichenko wrote:

Вродь тут народ брал: ftp://ftp.adhoc-data.de/FreeAdhocUDF/
Не хотелось бы использовать то, что не идет с птицей: слишком по многим 
серверам надо раскладывать...




Re: BLOB в строку

2010-02-08 Пенетрантность dennis redozubov

08.02.2010 17:27, Konstantin R. Beliaev пишет:


Не хотелось бы использовать то, что не идет с птицей: слишком по многим
серверам надо раскладывать...


Тогда нужно брать 2.1+ :)

С апгрейдостимулирующим уважением,
Денис Редозубов




xor

2010-02-08 Пенетрантность Dmitry Lendel

Привет
Есть в Firebird встроенная ф-ция xor(X,Y)?
Дмитрий