Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.25;
Скачать: CL | DM;

Вниз

Упаковка БД   Найти похожие ветки 

 
Zlod3y   (2004-07-01 01:25) [0]

Упаковывал базу с одной таблицей (эксперимент был), в которой было удалено 65536 записей.......упаковалось нормально как через JRO так и через DAO......только проблема вот в чём: та база, которая была прописана в ODBC не упаковывалась (выдавало ошибку, типа "фаил уже используется" и т. п.), а вот та база, которая в ODBC не фигурирует, нормально упаковалась....!!!!

Почему так? Что я делаю неправильно?


 
Zlod3y   (2004-07-01 01:28) [1]

вот отсюда я брал процедуры:

http://delphibase.endimus.com/?action=viewfunc&topic=baseaccess&id=10303

http://delphibase.endimus.com/?action=viewfunc&topic=baseaccess&id=10165


 
sniknik ©   (2004-07-01 07:54) [2]

то что она в DSN ODBC прописана не означает что она открыта (используется), у тебя же явное указание на это. закрой все конекты/проги что ее используют (посмотри при нормально открытой базе рядом создается файл *.ldb, это можеш использовать как признак "открытости", пока он есть база открыта (кроме редких исключений)).


 
Zlod3y   (2004-07-01 08:46) [3]

я так и делаю:

Table1.Close;
CompactDatabase_JRO(ExtractFilePath(Application.ExeName) + "db1.mdb",ExtractFilePath(Application.ExeName) + "db1_pack.mdb","");
Table1.Open;

или

Table1.Close;
CompactAccessDatabase(ExtractFilePath(Application.ExeName) + "db1.mdb","");
Table1.Open;

Больше коннектов нет!
А ошибку выдаёт такую: "Попытка открыть базу данных, открытую пользователем "admin" на машине "такой-то" для монопольного доступа. Повторите попытку, когда база данных освободится"

самое интересно, что когда я запускаю программулю с предварительно закрытой базой, то всё упаковывается, а если она открывается при запуске, то см. выше :-(


 
sniknik ©   (2004-07-01 09:30) [4]

вместо Table1.Close; делай DataBase.Close; (если действительно других коннектов нет)


 
Zlod3y   (2004-07-01 09:31) [5]

Я не использую TDataBase.....


 
sniknik ©   (2004-07-01 09:32) [6]

> а если она открывается при запуске,
т.е. в дельфях открыта? (при старте у db компанентов стоит активность в труе?)


 
sniknik ©   (2004-07-01 09:34) [7]

> Я не использую TDataBase.....
тогда он создается по умолчанию (и открывается ес-но)


 
Zlod3y   (2004-07-01 09:47) [8]

дельфя закрыта была......:-)

Table1.DataBase.Close и Table1.DataBase.Close работают.....
осталось разобраться с Table1.DataBase.LoginPrompt!!!

да и спасибо за помощь



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

Текущий архив: 2004.07.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
4-1086149145
Newbe
2004-06-02 08:05
2004.07.25
Именение рабочей области как это делает панель office


14-1089290277
Tot
2004-07-08 16:37
2004.07.25
Чтение нестандартных дискет


3-1088360583
Zlod3y
2004-06-27 22:23
2004.07.25
Что быстрее BDE, ODBC или ADO?


14-1089113841
Акуля
2004-07-06 15:37
2004.07.25
Кто может, помогите!!!!!


3-1088576437
AleKo
2004-06-30 10:20
2004.07.25
Кол-во обработанных записей ADOCommand