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

Вниз

Сжатие Access   Найти похожие ветки 

 
Arkady ©   (2003-02-12 12:52) [0]

Как программно сжать базу данных Access?


 
SVM (Perm)   (2003-02-12 13:12) [1]

Можно, например, через автоматизацию. Поищи в MSDN.


 
sniknik ©   (2003-02-12 19:35) [2]

проимерно так

function TDMod.PackAccess(BaseName: string): boolean;
var je: Variant;
begin
result:= false;
sPath:= ExtractFilePath(BaseName);
try
je:=CreateOleObject("JRO.JetEngine");
je.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source="+BaseName+";",
"Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source="+sPath+"NewBase$$$.Mdb;"+
"Jet OLEDB:Encrypt Database=True");
DeleteFile(BaseName);
RenameFile(sPath+"NewBase$$$.Mdb", BaseName);
result:= true;
except
on E: Exception do DoIfError(E.Message);
end;
end;


 
Arkady ©   (2003-02-13 08:38) [3]


> sniknik © (12.02.03 19:35)


После выполнения PackAccess база не открывается. Выводится сообщение: «Нераспознаваемый формат базы данных». Использую Access 97.


 
sniknik ©   (2003-02-13 11:03) [4]

немного измени строку DestConnection (по умолчанию 5 - формат 2000го)

Jet OLEDB:Engine Type Indicates the version of the source database to open or the version of the new database to be created. The OLE DB engine types that you can use are:
1 for JET Version 1.0
2 for JET Version 1.1
3 for JET Version 2.x
4 for JET Version 3.x
5 for JET Version 4.x
If this is omitted for the destination database, it will default to 5. The value for the destination database cannot be a version prior to that of the source database.

т.е. поставь Jet OLEDB:Engine Type=4, (4 для 97, можеш попробовать и др.), можно вместо "Jet OLEDB:Encrypt Database=True" (реально не нужно криптование будет унаследовано).

p.s. удивляюсь я вам, D7, винда небось XP а база от 97 офиса (признано самого глючного) небось и соеденение через BDE.


 
Arkady ©   (2003-02-13 12:44) [5]


> sniknik © (13.02.03 11:03)

Большое спасибо, заработало.


> винда небось XP

Windows у меня стоит 98.


> а база от 97 офиса (признано самого глючного)

зато читается на всех машинах (не везде есть 2000)


> небось и соеденение через BDE.

Соединение через ADO

p.s. Надо равняться на самую слабую машину, чтобы все везде работало одинаково :).




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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
8-5658
maveric
2002-11-18 21:02
2003.03.03
Очень тупой вопрос


3-5473
Comwad
2003-02-13 06:58
2003.03.03
В DBGrid выделить несколько строк сразу


1-5649
avch
2003-02-20 15:05
2003.03.03
Создание компонента


14-5712
Ork
2003-02-07 13:31
2003.03.03
Компоненты


14-5826
ZeroDivide
2003-02-11 14:21
2003.03.03
Самая лучшая защита программы от нелегального пользования.