Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как мне в БД Оракл записать bmp-файл, в BLOB поле [D6]


Страницы:   1 2

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, а как мне превратить картинку в поток, можно немного поподробней?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо