![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запись BLOB из Delphi в Oracle 9.2
миникодер © (2008-11-18 16:35:00)procedure TfrmReports.SaveReportToDB(Report: TFrxReport);
Var
Stream1: TStream;
LOB: TLOBLocator;
begin
oqUpdateTemplate.ClearVariables;
try
odsReports.Edit;
try
Stream1 := odsReports.CreateBlobStream(odsReports.FieldByName('template'), bmWrite);
Report.SaveToStream(Stream1);
Report.SaveToFile(ExtractFilePath(Application.ExeName)+'\tempreport.fr3');
LOB := TLOBLocator.CreateTemporary(DMMain.OracleSession, otBLOB, True);
Lob.LoadFromFile(ExtractFilePath(Application.ExeName)+'\tempreport.fr3');
oqUpdateTemplate.SetComplexVariable('template', LOB);
oqUpdateTemplate.SetVariable('id', odsReportsID.AsInteger);
oqUpdateTemplate.Execute;
DMMain.OracleSession.Commit;
except
DMMain.OracleSession.Rollback;
odsReports.Cancel;
Application.MessageBox('Ошибка записи отчета!', 'Внимание', MB_ICONERROR);
raise;
end;
odsReports.Post;
finally
Stream1.Free;
LOB.Free;
end;
end;
при записи в базу выдает такую ошибку:
update reports set template = :template where id = :id
:ID = 1
Oracle error occurred: 600 (ORA-00600: internal error code, arguments:
[kokegPinLob1], [], [], [], [], [], [], [])
----------------------------------
Timestamp: 15:29:39.762
Successful rollback.
Подскажите, что я делаю нетак?
Заранее благодарен!
Val (2008-11-18 22:51:00) [1]+ к первому посту: желательно обновиться до 9.2.0.6\9.2.0.8, если не патчили.
Правильный$Вася (2008-11-18 16:55:00) [2]
> Oracle error occurred: 600 (ORA-00600: internal error code,
> arguments: [kokegPinLob1],
типичная ошибка ядра
лечится патчеванием как сервера, так и клиента
хотя патча можети не быть
читай металинк