Давно уже голову ломаю, может кто подкинет идею.
Вообщем пару месяцев назад с репликацией какие-то странности начались. При
выгрузке иногда (один раз из 200-300 ) стали формироваться zip-файлы нулевой
длины. Ну ладно, где-то сбой. Толи у меня в программе (все вылизал - ничего
не нашел), толи в компоненте, который zip-архив создает, толи в win...
Плюнул, написал проверку длины файла и нифига... Вообщем программа выглядит
так :
Err := False;
Transaction.StartTransaction (snapshort)
try
Tут идет выборка данных для репликации из базы на основании лог-таблицы
и проставление в ней номера пакета, в который эти данные попадают.
Запись выбранных данных в cds и сохранение на диск.
Упаковка полученных файлов в zip и удаление *.cds.
except
Err := True;
end;
If (not Err) and (FileSize(FileNm) > 0) then
Transaction.Commit
else begin
Transaction.Rollback;
if FileExists(FileNm) then
DeleteFile(FileNm);
end;
В результате на диске все одно образуются файлы нулевой длины и при этом
номер пакета в лог-таблице проставлен... Я, честно говоря, чего-то не
врубаюсь, чего же происходит на самом деле. И в какую сторону думать. В
отладчике такую ситуацию фиг поймаешь. Вообщем может кто подкинет свежую
идейку...
With b/r. Gleb.