Найдено 3 результата

cangaroo
Пт 04 окт 2019 13:58
Форум: Oracle Data Access Components
Тема: TOraSession утечка памяти
Ответы: 5
Просмотры: 12030

Re: TOraSession утечка памяти

Разобрался, что там за email и пароль нужно вводить. Форму заполнил.
Жду от вас ночную сборку.
cangaroo
Пт 04 окт 2019 13:51
Форум: Oracle Data Access Components
Тема: TOraSession утечка памяти
Ответы: 5
Просмотры: 12030

Re: TOraSession утечка памяти

Спасибо вам, что исправили ошибку.
Пытаюсь перейти по адресу формы e-support : https://www.devart.com/company/contactform.html (который вы указали) ввожу email указанный при регистрации на форуме devart и пароль от логина на форуме devart, но получаю ошибку - Invalid user name or password (хотя причем тут username когда требуется указать email?)
Что я делаю неправильно?
cangaroo
Пн 30 сен 2019 10:45
Форум: Oracle Data Access Components
Тема: TOraSession утечка памяти
Ответы: 5
Просмотры: 12030

TOraSession утечка памяти

Добрый день.
Приложение скомпилировано для Target Platforms - Win64 на Delphi XE10 Seattle Professional, используется Devart ODAC 9.7.26 for Delphi 10, в приложении происходит коннект к БД ORACLE (Oracle Database 12c Release 12.1.0.1.0 - 64bit Production; CORE 12.1.0.1.0 Production; TNS for 64-bit Windows: Version 12.1.0.1.0 - Production; NLSRTL Version 12.1.0.1.0 - Production) примерно 4 раза в секунду. При этом наблюдается непрерывный рост потребляемой памяти, а также непрерывный PageFault (Столбцы "Память" и "Ошибки страниц" в Диспетчере задач Windows). Приложение запускалось в среде Windows 7 64 Профессиональная Servise Pack 1 и Windows Server 2008 R2 Enterprise Servise Pack 1 (64 bit)
Исходник приложения ниже:

Код: Выделить всё

unit form_main;

interface

uses
  Winapi.Windows,
  System.SysUtils, System.Classes,
  Vcl.Controls, Vcl.Forms, Vcl.StdCtrls,
  Ora, OraCall;

type
  Tfrm_main = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
    FOraSession1: TOraSession;
    FOraQuery1: TOraQuery;
    FDoStop: boolean;
  public
    { Public declarations }
  end;

var
  frm_main: Tfrm_main;

implementation

{$R *.dfm}

procedure Tfrm_main.FormCreate(Sender: TObject);
const
    qr = 'select * from ddaoutput order by id';
begin
  FDoStop:= False;

  FOraSession1:= TOraSession.Create(nil);
  FOraSession1.ThreadSafety:=   True;
  FOraSession1.ConnectPrompt:=  False;
  FOraSession1.Options.Direct:= True;
  FOraSession1.Options.UseUnicode:= True;
  FOraSession1.ConnectString:= 'testuser/[email protected]:1521:xe';

  FOraQuery1:= TOraQuery.Create(nil);
  FOraQuery1.SQL.Clear;
  FOraQuery1.SQL.Text:= qr;
end;

procedure Tfrm_main.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  FOraSession1.Free;
  FOraQuery1.Free;
end;

procedure Tfrm_main.Button1Click(Sender: TObject);
begin
  while True do
  begin
    try
      FOraSession1.Connect;

      FOraQuery1.Session:= FOraSession1;
      FOraQuery1.Open;

      Application.ProcessMessages;
    finally
      FOraQuery1.Close;
      FOraSession1.Disconnect;
      sleep(250);
    end;
  end;
end;

end.
Также, данное приложение было скомпилировано с Devart ODAC 11.0.1 Trial for Delphi 10 - результат тот же, непрерывная утечка памяти и непрерывный PageFault.
Также, в приложении был оставлен только коннект, (все что связано с запросом было удалено) - результат тот же, непрерывная утечка памяти и непрерывный PageFault.
Также изменили БД, выполнили коннект к Oracle XE 64 bit - результат тот же, непрерывная утечка памяти и непрерывный PageFault.
Прошу прокомментировать данную ситуацию.