Страница 1 из 1

Сообщение сервера об ошибке "invalid BLOB ID"

Добавлено: 12 ноя 2004, 21:44
Aleksa
Вставляю в таблицу Blob данные в stored procedure, и получаю "invalid BLOB ID". Это чё?

Добавлено: 13 ноя 2004, 19:03
dimitr
Бага, исправлена в FB 2.0. У тебя небось присвоение блоба идет через локальную переменную?

Добавлено: 13 ноя 2004, 19:51
Гость
dimitr писал(а):Бага, исправлена в FB 2.0. У тебя небось присвоение блоба идет через локальную переменную?

Добавлено: 13 ноя 2004, 20:08
Aleksa
dimitr писал(а):Бага, исправлена в FB 2.0. У тебя небось присвоение блоба идет через локальную переменную?
У меня IB6.5. Присвоение через input parameter, имеющий тип Blob.

Код: Выделить всё

INSERT INTO ... (..., <Blob>) VALUES (..., :<Blob>)
Вот. И здесь он ругается.

Добавлено: 14 ноя 2004, 11:51
dimitr
Ошибка достаточно давняя и, видимо, Борландом до сих пор не исправленная. Либо пиши блобы с клиента без процедур, либо пробуй более свежие версии IB (или FB 1.5).

Добавлено: 15 ноя 2004, 12:19
kdv
Aleksa писал(а):У меня IB6.5. Присвоение через input parameter, имеющий тип Blob.

Код: Выделить всё

INSERT INTO ... (..., <Blob>) VALUES (..., :<Blob>)
Вот. И здесь он ругается.
чуть подробнее бы код привел. второй раз случаем этот же блоб никуда не пишешь?

Добавлено: 20 ноя 2004, 16:35
Aleksa
kdv писал(а):чуть подробнее бы код привел. второй раз случаем этот же блоб никуда не пишешь?
В процедуре дважды присутствует INSERT блоба, но вставляется-то он один раз! Примерно так:

Код: Выделить всё

 ...IF <условие> THEN
     ... INSERT(... <blob> )...
     ELSE
        ... INSERT(... <blob> )...

Так нельзя?

Добавлено: 25 мар 2005, 22:20
VictorIn
dimitr писал(а):Бага, исправлена в FB 2.0. У тебя небось присвоение блоба идет через локальную переменную?
У меня с Yaffil 884 тоже самое. Мож уже исправили?

Добавлено: 21 сен 2006, 07:57
uksus 70%
http://www.delphikingdom.com/asp/answer ... swer=15179

Подтверждаю, сам натыкался.

Добавлено: 12 ноя 2006, 15:22
starling13
У меня процедура просто вставляет в таблицу входной параметр типа BLOB SUB_TYPE 0. В клиенте на Delphi этот параметр читается
методом TField.LoadFromStream(buffer, ftblob).
Первый инсерт проходит отлично, на втором invalid blob id.
Firebird 2.0 RC5.