Главная страница
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.038 c
1-1089394943
BBoost
2004-07-09 21:42
2004.07.25
Text


14-1089121711
QuasiLamo
2004-07-06 17:48
2004.07.25
Избавиться от запаха часов


3-1088503541
SergeyV
2004-06-29 14:05
2004.07.25
ADOConnection теряет соединение


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


1-1089728961
Studentik
2004-07-13 18:29
2004.07.25
Стиль XP в XP