Использование Delphi 7, BDE и Oracle
Я выполняю оператор SQL select, а затем перебираю каждую из записей возвращенного набора и выполняю следующее обновление sql
var
AQuery: TQuery;
begin
AQuery:= TQuery.Create(nil);
AQuery.DatabaseName:= ADatabase.DatabaseName;
with AQuery do
begin
SQL.Text:= 'UPDATE AP_Master SET CMCL_FORECAST_CLEARED=:AClearedDate WHERE ID=:AMasterId';
ParamByName('AMasterId').AsString:= IntToStr(AId);
ParamByName('AClearedDate').AsDateTime:= StrToDateTime(FormatDateTime('mm/dd/yyyy', AForeCastClearedDate));
try
ExecSql;
except on E: Exception do
begin
raise Exception.create('Error Updating AP_Master Tables Forecast Cleared Date!' + E.Message);
end;//except
end; //try
end; //with
AQuery.Close;
AQuery.Free;
end;
Это работает для первых 500 записей, но затем я получаю: ORA-01000: превышено максимальное количество открытых курсоров
Есть ли что-то, что мне нужно сделать на стороне BDE, оракула или в моем коде (я использую стандартные компоненты TQuery и TDatabase)