Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запись 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],

типичная ошибка ядра
лечится патчеванием как сервера, так и клиента
хотя патча можети не быть
читай металинк


Наверх

Титульная страница Поиск, карта сайта Написать письмо