- Код: Выделить всё
- Program Test;
 uses
 sqldb, oracleconnection,
 sysutils;
 var
 OraConn : TOracleConnection;
 OraTrans : TSQLTransaction;
 OraQuery : TSQLQuery;
 i : integer;
 begin
 OraConn := TOracleConnection.Create (nil);
 with OraConn do begin
 DatabaseName := 'mybase';
 UserName := 'user';
 Password := 'pass';
 HostName := '192.168.1.1';
 Open;
 end;
 OraTrans := TSQLTransaction.Create (nil);
 OraTrans.DataBase := OraConn;
 OraQuery := TSQLQuery.Create (nil);
 OraQuery.DataBase := OraConn;
 OraQuery.Transaction := OraTrans;
 OraQuery.Sql.Clear;
 OraQuery.Sql.Add ('insert into gkx.aaa (a1, a2, a3) ');
 OraQuery.Sql.Add ('values (:A, :B, :C)');
 for i := 1 to 10000 do begin
 OraQuery.Params.ParamByName ('A').AsInteger := 1;
 OraQuery.Params.ParamByName ('B').AsString := 'bla-bla-bla';
 OraQuery.Params.ParamByName ('C').AsDateTime := Now;
 OraQuery.ExecSql;
 end;
 readln;
 end.
В результате таких, достаточно безобидных действий, внутри цикла кушается более 100мбайт. Причем, если строковый параметр исключить, то все нормально.
Причем утечки все равно есть, даже если использовать oracleconnection.pp без моего "патча" из топика http://freepascal.ru/forum/viewtopic.php?t=2941
Или это все тот же юникод жить не дает, или я что-то не так делаю...


