Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > firebird update таблицы с blob-полями


Автор: Clio 13.7.2009, 09:04
Добрый день!

У меня в БД "firebird" имеется таблица

Код

CREATE TABLE PO (
    ID       INTEGER NOT NULL,
    NAME_PO  VARCHAR(20) NOT NULL,
    VER      VARCHAR(10),
    PO_DATE  DATE DEFAULT CURRENT_DATE NOT NULL,
    TZ       BLOB SUB_TYPE -1 SEGMENT SIZE 16384,
    SOURCE   BLOB SUB_TYPE -1 SEGMENT SIZE 16384,
    EXE      BLOB SUB_TYPE -1 SEGMENT SIZE 16384
);



Далаю запрос:

Код

update po set NAME_PO=:po where id=42
;

если в записи, где делаю update blob поля заполнены update работает правильно. Но если blob поля = null , то выдает
ошибку: "Overflow occurred during data type conversion.
conversion error from string "BLOB".
Проверял в своей проге , через FibPlusQuery и в IBExpert.

Подскажите, пожалуйста, в чем проблема?


Автор: RomanEEP 13.7.2009, 12:47
FireBird после Update проверяет значения ВСЕХ полей на соответсвие установленным ограничениям. 
Blob поле объявлено not null, а там нет значения и FB откатывает Update
Выход - заполнить все BLOB поля

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)