Вниз
Скачать: CL | DM;

Как закрыть БД?   Найти похожие ветки 

← →
типа прогер   (2006-02-06 11:17) [0]

В общем такая ситуация, мне из программы надо заархивировать всю базу...
я сначала закрываю БД, потом архивирую, потом открываю для дальнейшей работы...

var command: string;
begin
 TbStatus.Close;
 TbMain.close;
 TbConf.Close;
 TbPersonal.Close;
 TbExport.Close;
 command:="rar.exe a -ieml bases.rar .\bases\*.*";
 WinExec(PChar(command),SW_HIDE);
 TbStatus.Open;
 TbMain.Open;
 TbConf.Open;
 TbPersonal.Open;
 TbExport.Open;

В файле bases.rar находится только часть файлов базы. Остальное пишет занят процессом... Delphi при этом я вообще закрывал, результат тот же.
пробовал вместо Close, ACTIVE:+FALSE тоже самое.
Как же мне всетаки освободить их от процесса и что я делаю не так?


← →
msguns ©   (2006-02-06 11:23) [1]

Судя по всему, парадокс (дибэйс), т.е. BDE
В подобных случаях, когда требуется вся "База" (например, для копирования, архивирования и т.д.), следует пользоваться объектом TDataBase. Через него закрывая ВСЕ таблицы, да и собственно, сессию с данной БД. Это поможет "убрать" неявно используемые ссылки на таблицы БД (например, мастер-детал)


← →
umbra ©   (2006-02-06 11:28) [2]

надо дождаться, пока рар закончит архивацию, а затем открывать таблицы. С WinExec это невозможно. Надо пользоваться функцией CreateProcess


← →
Desdechado ©   (2006-02-06 14:11) [3]

позакрывай таблицы в design-time



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.025 c
15-1138014947
Laymer
2006-01-23 14:15
2006.02.26
Web - server


2-1139573718
kyn66
2006-02-10 15:15
2006.02.26
Как сравнить два числа, с дробными частями !!!


3-1136217119
ищущий ответ
2006-01-02 18:51
2006.02.26
Ограничения Paradox


2-1139525949
veb
2006-02-10 01:59
2006.02.26
re: fkCalkulated


15-1138860793
ANB
2006-02-02 09:13
2006.02.26
Поздравляю себя с рождением вчера (01.02.2006) дочки




   Наверх