Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Вниз

Как мне в БД Оракл записать 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.047 c
14-1088668148
Красная Майка
2004-07-01 11:49
2004.07.25
Неофициальное MMP завтра для всех желающих!!!


14-1088943121
Ломброзо
2004-07-04 16:12
2004.07.25
Занесло на рынок


3-1088490793
Dark Elf
2004-06-29 10:33
2004.07.25
Программное изменение типа ячейки в БД


1-1089354023
Максим
2004-07-09 10:20
2004.07.25
Как сделать у Button что-то на подобие у Label OnMouseLeave?


14-1088740087
Ozone
2004-07-02 07:48
2004.07.25
Красивый и функциональный DBGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский