![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как мне в БД Оракл записать bmp-файл, в BLOB поле [D6]
Relaxxx © (2004-07-01 13:22:00)Подскажите как записать изображение в БД Оракл, у меня для этого выделено поле типа BLOB, тоесть в поле должна хранится сама картинка, но как ее средствами Делфи туда запихнуть я не понял!!
Подскажите!
Reindeer Moss Eater (2004-07-01 17:51:00) [1][15]
Relaxxx (2004-07-01 17:44:00) [2]запрос незахотел работать сразу для всех записей
Relaxxx (2004-07-01 17:34:00) [3]Спасибо, все работает, но когда я пытаюсь сделать апдейт
SqlQ.SQL.Add('UPDATE MONEY.MMM SET PHOTO=:Pic');
SqlQ.ParamByName('Pic').LoadFromFile('c:\1.bmp', ftBlob);
почему-то выскакивает ошибка AccesViolation в модуле ORA805.dll
Reindeer Moss Eater (2004-07-01 16:47:00) [4]SQL.TEXT := 'insert into mytable(mylongrawfield) values (:blob_body)';
ParamByName('blob_body').LoadFromFile(.....)
Relaxxx (2004-07-01 16:39:00) [5]Ладно, я так понял с БЛОБОМ тут проблемы, и так быстро и просто не разобраться. Тогда может подскажите(желательно кусочком кода) как в поле LONG RAW?
Relaxxx (2004-07-01 16:01:00) [6]Врятли, все приложения работают без проблем, а вот это нет
Relaxxx (2004-07-01 16:01:00) [7]Врятли, все приложения работают без проблем, а вот это нет
Reindeer Moss Eater (2004-07-01 15:57:00) [8]Потому что клиент Оракла не установлен/испорчен
Relaxxx (2004-07-01 15:55:00) [9]У меня даже демка не работает, вернее работает только когда включена опция NET, а так пишет OCI_NO_DATA, почему?
Reindeer Moss Eater (2004-07-01 15:49:00) [10]В демке экземпляр TSmartQuery (имя у него Query).
Наточен на таблицу (не на процедуру) ODAC_BLOB
Загрузка картинки идет через него (в том числе через него)
Чего еще надо?
Что еще не понятно?
Relaxxx (2004-07-01 15:30:00) [11]Странное дело, у меня или OCI загнулся или я незнаю, если я использую Net в ODAC все работает без проблем?!!?
Relaxxx (2004-07-01 15:22:00) [12]Даже демка которая идет месте с ОДАК пишет почти тоже самое:
OCI_NO_DATA
Relaxxx (2004-07-01 15:14:00) [13]Key_pole такое есть 100процентов, а нащет демки так там сделано через вот такую процедуру
CREATE OR REPLACE
PROCEDURE ODAC_BLOB_Insert (
p_ID NUMBER,
p_Title VARCHAR2,
p_Pic OUT BLOB
)
is
begin
INSERT INTO ODAC_BLOB(ID, Title, Pic)
VALUES (p_ID, p_Title, EMPTY_BLOB())
RETURNING Pic
INTO p_Pic;
end;
/
Соловьев (2004-07-01 15:12:00) [14]
> WHERE key_pole=631');
а есть такое?
Reindeer Moss Eater (2004-07-01 15:09:00) [15]В демке не делается через процедуру.
Relaxxx (2004-07-01 15:07:00) [16]Все равно я полностью не догнал, в демке делается через процедуру, тоесть в Оракле создается процедура, а мне она не нужна. я хочу сделать просто запросом, я сделал так
SqlQ.Close;
SqlQ.SQL.Clear;
SqlQ.SQL.Add('UPDATE MONEY.HHHH SET RAB_PHOTO=:Pic WHERE key_pole=631');
SqlQ.ParamByName('Pic').ParamType := ptInput;
SqlQ.ParamByName('Pic').AsOraBlob.LoadFromFile(FileName);
SqlQ.Execute;
Но мне пишет ошибку: ORA-01403 данных не найдено.
В чем я неправ???
Reindeer Moss Eater (2004-07-01 13:37:00) [17]Человек не догадывается, что есть папка Demos, в которой есть папка BlobPictures.
Курдль (2004-07-01 13:34:00) [18]TBLOBField.SaveToStream/LoadFromStream + F1
Reindeer Moss Eater (2004-07-01 13:33:00) [19]метод LoadFromFile
Relaxxx (2004-07-01 13:32:00) [20]я использую ODAC, а как мне превратить картинку в поток, можно немного поподробней?