Як мені в бд Оракл записати bmp-файл, в blob поле

Як мені в БД Оракл записати bmp-файл, в BLOB поле

Підкажіть як записати зображення в БД Оракл, у мене для цього виділено поле типу BLOB, тобто в поле повинна зберігається сама картинка, але як її засобами Делфі туди запхати я не зрозумів !!
Підкажіть!

Легко! Картинку - в потік, потік - в BLOB

А використовувана тобою бібліотека доступу підтримує взагалі оракловий тип BLOB?

я використовую ODAC, а як мені перетворити картинку в потік, можна трохи докладніше?

Людина не здогадується, що є папка Demos, в якій є папка BlobPictures.

Все одно я повністю не наздогнав, в демке робиться через процедуру, тобто в Оракл створюється процедура, а мені вона не потрібна. я хочу зробити просто запитом, я зробив так

# XA0; # XA0; # XA0; SqlQ.Close;
# XA0; # XA0; # XA0; SqlQ.SQL.Clear;
# XA0; # XA0; # XA0; SqlQ.SQL.Add ( "UPDATE MONEY.HHHH SET # XA0; RAB_PHOTO =: Pic WHERE key_pole = 631 ");
# XA0; # XA0; # XA0; SqlQ.ParamByName ( "Pic"). ParamType: = ptInput;
# XA0; # XA0; # XA0; SqlQ.ParamByName ( "Pic"). AsOraBlob.LoadFromFile (FileName);
# XA0; # XA0; # XA0; SqlQ.Execute;

Але мені пише помилку: ORA-01403 даних не знайдено.

У демке не робиться через процедуру.

Key_pole таке є 100процентов, а нащет демки так там зроблено через ось таку процедуру

CREATE OR REPLACE
PROCEDURE ODAC_BLOB_Insert (
# XA0; p_ID NUMBER,
# XA0; p_Title VARCHAR2,
# XA0; p_Pic OUT BLOB
)
is
begin
# XA0; INSERT INTO ODAC_BLOB (ID, Title, Pic)
# XA0; VALUES (p_ID, p_Title, EMPTY_BLOB ())
# XA0; RETURNING Pic
# XA0; INTO p_Pic;
end;
/

Навіть демка яка йде місці з ОДАК пише майже те ж саме:
OCI_NO_DATA

Дивна річ, у мене або OCI загнувся або я незнаю, якщо я використовую Net в ODAC все працює без проблем.

У демке екземпляр TSmartQuery (ім'я у нього Query).
Точила на таблицю (нема на процедуру) ODAC_BLOB
Завантаження картинки йде через нього (в тому числі через нього)
Чого ще треба?
Що ще не зрозуміло?

У мене навіть демка не працює, вірніше працює тільки коли включена опція NET, а так пише OCI_NO_DATA, чому?

Тому що клієнт Оракл не встановлено / зіпсований

Врятли, всі програми працюють без проблем, а от це немає

Врятли, всі програми працюють без проблем, а от це немає

Гаразд, я так зрозумів з БЛОБ тут проблеми, і так швидко і просто не розібратися. Тоді може підкажіть (бажано шматочком коду) як в поле LONG RAW?

SQL.TEXT: = "insert into mytable (mylongrawfield) values ​​(: blob_body)";
ParamByName ( "blob_body"). LoadFromFile (.)

Спасибі, все працює, але коли я намагаюся зробити апдейт
SqlQ.SQL.Add ( "UPDATE MONEY.MMM SET PHOTO =: Pic");
SqlQ.ParamByName ( "Pic"). LoadFromFile ( "c: \ 1.bmp", ftBlob);

чомусь вискакує помилка AccesViolation в модулі ORA805.dll

запит незахотел працювати відразу для всіх записів