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

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
Aleksa
Сообщения: 3
Зарегистрирован: 12 ноя 2004, 21:35

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

Сообщение Aleksa » 12 ноя 2004, 21:44

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

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 13 ноя 2004, 19:03

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

Гость

Сообщение Гость » 13 ноя 2004, 19:51

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

Aleksa
Сообщения: 3
Зарегистрирован: 12 ноя 2004, 21:35

Сообщение Aleksa » 13 ноя 2004, 20:08

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

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

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

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 14 ноя 2004, 11:51

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

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 15 ноя 2004, 12:19

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

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

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

Aleksa
Сообщения: 3
Зарегистрирован: 12 ноя 2004, 21:35

Сообщение Aleksa » 20 ноя 2004, 16:35

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

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

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

Так нельзя?

VictorIn
Сообщения: 26
Зарегистрирован: 25 мар 2005, 22:16

Сообщение VictorIn » 25 мар 2005, 22:20

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

uksus 70%
Сообщения: 1
Зарегистрирован: 21 сен 2006, 07:53

Сообщение uksus 70% » 21 сен 2006, 07:57

http://www.delphikingdom.com/asp/answer ... swer=15179

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

starling13
Сообщения: 8
Зарегистрирован: 02 мар 2005, 14:56

Сообщение starling13 » 12 ноя 2006, 15:22

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

Ответить