-
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.
Подскажите, что я делаю нетак? Заранее благодарен!
-
> Oracle error occurred: 600 (ORA-00600: internal error code, > arguments: [kokegPinLob1],
типичная ошибка ядра лечится патчеванием как сервера, так и клиента хотя патча можети не быть читай металинк
-
+ к первому посту: желательно обновиться до 9.2.0.6\9.2.0.8, если не патчили.
|