Memory problem

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
Vier

Memory problem

Post by Vier » Mon 06 Jun 2005 15:06

Hi, im using ODAC 4.50.3.24 with Delphi 6 and im having problems with memory leak after opening and closing a TOraQuery.

The test code that im using:

Code: Select all

var
  qTemp: TOraQuery;
begin
  qTemp := TOraQuery.Create(Self);

  try
    qTemp.Session := DMDatabase.OraSession;
    qTemp.SQL.Text :=   'select '+
                          'E.NUM_ESTADO_TESTE_FABRICA,'+
                          'E.SEQ_TESTE_FABRICA,'+
                          'E.SEQ_LISTA_ERROS,'+
                          'E.FLG_TIPO_ESTADO,'+
                          'E.NUM_PROX_ESTADO_OK,'+
                          'E.NUM_PROX_ESTADO_ERRO,'+
                          'E.NUM_PROX_SEQ_TESTE_FABRICA,'+
                          'E.DES_MENSAGEM,'+
                          'E.COD_ESPERADO,'+
                          'E.FLG_OPERACAO,'+
                          'E.DES_MASCARA,'+
                          'E.NUM_DEVSLOTPORT,'+
                          'E.NOM_ESTADO,'+
                          'E.PERIODO,'+
                          'E.TIMEOUT,'+
                          'E.NOM_CAMPO_ALTERAR,'+
                          'E.VLR_CAMPO_ALTERAR,'+
                          'E.OBS_ESTADO_TESTE_FABRICA,'+
                          'E.COMANDO,'+
                          'E.COD_GRUMAT,'+
                          'E.HEX_PARAMETROS,'+
                          'E.DES_CHAMADA_LUA '+
                        'from '+
                          'SYSDATACOM.TB_ESTADO_TESTE_FABRICA E '+
                        'where '+
                          'E.SEQ_TESTE_FABRICA = :SEQ_TESTE_FABRICA and '+
                          'E.NUM_ESTADO_TESTE_FABRICA = :NUM_ESTADO_TESTE_FABRICA '+
                        'order by '+
                          'E.NUM_ESTADO_TESTE_FABRICA';

    if qTemp.Active then
      qTemp.Close;
    qTemp.ParamByName('SEQ_TESTE_FABRICA').AsInteger := 1641;
    qTemp.ParamByName('NUM_ESTADO_TESTE_FABRICA').AsInteger := 0;
    qTemp.Open;
    qTemp.Close;
  finally
    FreeAndNil(qTemp);
  end;
If i keep running this code the memory of the application keeps raising. Is there any configuration that can avoid this, or is it a bug or something??

My application need to open the same query several times so this is becoming a serious problem cause after a day of work the memory is very high...

Tnks for the help, its much appreciated.

Vier

Alex
Posts: 655
Joined: Mon 08 Nov 2004 08:39

Post by Alex » Tue 07 Jun 2005 08:06

Sorry, we cannot reproduce your problem. We need more detailed description i.e. your Oracle client/server versions and complete sample to demonstrate your problem and script to create server objects.
Please, send a message to our ODAC support e-mail address.

Vier

Post by Vier » Mon 27 Jun 2005 20:12

I sent the necessary information by email.

Post Reply