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

alexber220_job
12.12.2007 20:52:52
Форум: Базы данных
Тема: Вопросы по FIBL
Ответы: 10
Просмотры: 23514

удалось уменьшить утечку за счёт добавления
после
FBToDataSet.Post;

добавил
for i:= 0 to FBFromDataSet.FieldCount-1 do
begin
if (FBToDataSet.Fields.Fields[i].DataType = ftBlob) then
TBlobField(FBToDataSet.Fields.Fields[i]).Clear;
end;

после перелива 40тыс записей 60Мб надеюсь хватит ...
alexber220_job
12.12.2007 19:48:53
Форум: Базы данных
Тема: Вопросы по FIBL
Ответы: 10
Просмотры: 23514

Сергей Смирнов писал(а):А CommitRetaining зачем? Почему не просто Commit?


Если менять не работает.
Но суть дела это не меняет. Течёт эта строка TBlobField(FBToDataSet.Fields.Fields[i]).LoadFromStream(blob_stream);
alexber220_job
11.12.2007 11:09:09
Форум: Базы данных
Тема: Вопросы по FIBL
Ответы: 10
Просмотры: 23514

сделал пока так
if RecordsInTransaction > MaxRecordsInTransaction then
begin
FBToDataSet.Transaction.CommitRetaining;
FBToDataSet.Close;
FBToDataSet.Open;
RecordsInTransaction := 0;
end;

топорно, тормозно но течёт ещё меньше
alexber220_job
11.12.2007 10:48:32
Форум: Базы данных
Тема: Вопросы по FIBL
Ответы: 10
Просмотры: 23514

Попробуй поставь
blob_stream := TMemoryStream.Create();
до начала выборки
а
blob_stream.Free;
в конце, где идет "освобождение ресурсов"

Это не помогает но чтоб нагрузку не создавать сделал.
сейчас проблемная строка это
TBlobField(FBToDataSet.Fields.Fields[i]).LoadFromStream(blob_stream ...
alexber220_job
11.12.2007 10:14:01
Форум: Базы данных
Тема: Вопросы по FIBL
Ответы: 10
Просмотры: 23514

После TBlobField(FBFromDataSet.Fields.Fields[i]).SaveToStream(blob_stream);

добавил
TBlobField(FBFromDataSet.Fields.Fields[i]).Clear;

сейчас течёт меньше но течёт на 8000 записей с 15 мб программа толстеет до 60
alexber220_job
11.12.2007 08:11:38
Форум: Базы данных
Тема: Вопросы по FIBL
Ответы: 10
Просмотры: 23514

alexber220_job
Приязнаюсь честно - я видел твой пост на UIB, но в таком большом куске кода - просто разбираться не хочется.

суть в том что скопировал из примера
C:\lazarus\components\UIB\examples\JvUIB\Component\CloneDatabase\
и не работает
написано вроде читабельно не DataSet1 и DataSet2 ...
alexber220_job
10.12.2007 11:37:39
Форум: Базы данных
Тема: Вопросы по FIBL
Ответы: 10
Просмотры: 23514

Вопросы по FIBL

Задача скопировать данные из одной FB базы в идентичную другую FB базу.

Сначало хотел на UIB сделать, но там проблемы с копированием BLOB
m

Сейчас сделал на FIBL но при копировании BLOB полей память течёт очень жёстко.

Вариант на FIBL.

// открытие FB базы.
// @param DBHost сервер ...