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

Вниз

Ошибка при попытке вставить изображение в БД   Найти похожие ветки 

 
alextov   (2004-08-23 20:28) [0]

Пытаюсь вставить изображение в БД (юзаю ODAC)
при помощи следующего кода

var
J:TJpegImage;
S:TMemoryStream;
begin
if not OpenDialog1.Execute then exit;
J:=TJpegImage.Create;
J.LoadFromFile(OpenDialog1.FileName);
S:=TMemoryStream.Create;
J.SaveToStream(S);
S.Position:=0;
OraSQL1.ParamByName("PAC_ID").AsInteger:=887;
OraSQL1.ParamByName("PHOTO").LoadFromStream(S,ftOraBlob);
OraSQL1.Execute;
S.Free;
J.Free;

но получаю ошибку - "OCI_INVALID_HANDLE"

Подскажите что бы это значило...


 
Kraj   (2004-08-24 09:40) [1]

Попробуй изображение не в jpg а в bmp. У меня получилось, но вот базу раздувает. А по другому никак впарить не получилось. Только у меня база access :-)


 
Sergey13 ©   (2004-08-24 09:50) [2]

2alextov   (23.08.04 20:28)
Мысли вслух просто.
А не может такого быть из-за (как там в ОДАКе) опции, что б работать без ораклового клиента? Вроде я читал, что в этом случае работают не все опции.


 
roottim ©   (2004-08-24 09:56) [3]

попробуй через SmartQuery
var
J:TJpegImage;
S:TMemoryStream;
q:TSmartQuery;
begin
if not OpenDialog1.Execute then exit;
J:=TJpegImage.Create;
S:=TMemoryStream.Create;
q:=TSmartQuery.Create(Self);
try
 J.LoadFromFile(OpenDialog1.FileName);
 J.SaveToStream(S);
 S.Position:=0;
 q.Session := ses1;
 q.Sql.Text := "insert into table1(id, photo) values(:pac_id, :photo)";
 q.ParamByName("PAC_ID").AsInteger:=887;
 q.ParamByName("PHOTO").LoadFromStream(S,ftOraBlob);
 q.ExecSQL;
finally
 S.Free;
 J.Free;
 q.Free;
end;


2Sergey13 ©   (24.08.04 09:50) [2]
Net option of ODAC has some limitations:

· Connect using TCP/IP protocol only.
· Oracle 8 objects, arrays and refs are not supported.
· TOraLoader"s direct load is not supported.
· Please note that we don"t guarantee working Net with all Oracle server and in each network. We tested Net option for all versions Oracle server for Windows since 7.3 in local network.
· ODAC work with all range of Oracle servers through OCI. Net option was tested with all version of Oracle for Windows and Linux. We don"t guarantee working it with other platforms.

· Also certain problems may occur when using firewalls.


 
YaMaximus   (2004-08-25 18:29) [4]

Я долго парился этими блобами в ODAC, в итоге пришел к приблизительно такому виду:
query.sql.text := "Update Sf_Empl set Photo=EMPTY_BLOB() Where Mainkey = :Mainkey RETURNING Photo INTO :Photo";
query.ParamByName("Photo").ParamType := ptInput;
query.ParamByName("Photo").DataType := ftOraBlob;
query.ParamByName("Photo").AsBLOBLocator.LoadFromFile("c:\staff.jpg");
query.ParamByName("Mainkey").asinteger := 1;
Попробуй такой вариант, может поможет.



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

Форум: "Базы";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.033 c
4-1092708584
Александр1
2004-08-17 06:09
2004.09.26
Работа с дисками!


1-1094636929
hgd
2004-09-08 13:48
2004.09.26
Подскажите алгоритм или ...... ?


1-1094638585
Abajun
2004-09-08 14:16
2004.09.26
TreeView


14-1094504553
Knight
2004-09-07 01:02
2004.09.26
Что ж это за полоса такая...


14-1094407289
wl
2004-09-05 22:01
2004.09.26
Visual Studio 2005 beta - ваши впечатления?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский