Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.25;
Скачать: CL | DM;

Вниз

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

 
Relaxxx   (2004-07-01 13:22) [0]

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


 
Курдль ©   (2004-07-01 13:26) [1]

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


 
Reindeer Moss Eater ©   (2004-07-01 13:26) [2]

А используемая тобой библиотека доступа поддерживает вообще оракловый тип BLOB ?


 
Relaxxx   (2004-07-01 13:32) [3]

я использую ODAC, а как мне превратить картинку в поток, можно немного поподробней?


 
Reindeer Moss Eater ©   (2004-07-01 13:33) [4]

метод LoadFromFile


 
Курдль ©   (2004-07-01 13:34) [5]

TBLOBField.SaveToStream/LoadFromStream + F1


 
Reindeer Moss Eater ©   (2004-07-01 13:37) [6]

Человек не догадывается, что есть папка Demos, в которой есть папка BlobPictures.


 
Relaxxx   (2004-07-01 15:07) [7]

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

     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 15:09) [8]

В демке не делается через процедуру.


 
Соловьев ©   (2004-07-01 15:12) [9]


> WHERE key_pole=631");

а есть такое?


 
Relaxxx   (2004-07-01 15:14) [10]

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;
/


 
Relaxxx   (2004-07-01 15:22) [11]

Даже демка которая идет месте с ОДАК пишет почти тоже самое:
OCI_NO_DATA


 
Relaxxx   (2004-07-01 15:30) [12]

Странное дело, у меня или OCI загнулся или я незнаю, если я использую Net в ODAC все работает без проблем?!!?


 
Reindeer Moss Eater ©   (2004-07-01 15:49) [13]

В демке экземпляр TSmartQuery (имя у него Query).
Наточен на таблицу (не на процедуру) ODAC_BLOB
Загрузка картинки идет через него (в том числе через него)
Чего еще надо?
Что еще не понятно?


 
Relaxxx   (2004-07-01 15:55) [14]

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


 
Reindeer Moss Eater ©   (2004-07-01 15:57) [15]

Потому что клиент Оракла не установлен/испорчен


 
Relaxxx   (2004-07-01 16:01) [16]

Врятли, все приложения работают без проблем, а вот это нет


 
Relaxxx   (2004-07-01 16:01) [17]

Врятли, все приложения работают без проблем, а вот это нет


 
Relaxxx   (2004-07-01 16:39) [18]

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


 
Reindeer Moss Eater ©   (2004-07-01 16:47) [19]

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


 
Relaxxx   (2004-07-01 17:34) [20]

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

почему-то выскакивает ошибка AccesViolation в модуле ORA805.dll


 
Relaxxx   (2004-07-01 17:44) [21]

запрос незахотел работать сразу для всех записей


 
Reindeer Moss Eater ©   (2004-07-01 17:51) [22]

[15]



Страницы: 1 вся ветка

Текущий архив: 2004.07.25;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.055 c
14-1089111495
wnew
2004-07-06 14:58
2004.07.25
Скрытые функции в Delphi


1-1089147829
AndrewVolkov
2004-07-07 01:03
2004.07.25
:=nil; Free; Destroy


1-1089705572
Fast
2004-07-13 11:59
2004.07.25
Сервисы NT


8-1083651619
Vmaster
2004-05-04 10:20
2004.07.25
программный доступ к TV out


1-1089803500
TransparentGhost
2004-07-14 15:11
2004.07.25
Как определить Font выпадающего списка ComboBoxa?