Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

упаковка Access - базы... [D7, Access]


koks ©   (2003-09-01 15:02:00) 

Уважаемые мастера, упаковываю БД Access 2000. Формат базы - 2000, на машине - Office XP.

uses JRO_TLB, ActiveX

...

procedure TdmShared.CompactDB;
var
DBFileName: string;
DBTempName: string;
AEngine: IJetEngine;
SourceConnection: string;
DestConnection: string;
begin
DBFileName := ExtractFilePath(Application.EXEName) + "data.mdb";
DBTempName := ExtractFilePath(Application.EXEName) + "data_.mdb";
SourceConnection := "Privider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
DBFileName + ";";
DestConnection := "Privider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
DBTempName + ";";
DeleteFile(DBTempName);
CoInitialize(nil);
AEngine := CoJetEngine.Create;
AEngine.CompactDatabase(SourceConnection, DestConnection);
DeleteFile(DBFileName);
MoveFile(PChar(DBTempName), PChar(DBFileName));
DeleteFile(DBTempName);
CoUninitialize;
end;

При вызове CompactDatabase вылетает:

EOleException with message "Невозможно найти установленный ISAM".

Господа, просвятите - что это значит...


koks   (2003-09-02 15:15:00) [1]

нда.... сказалась усталость...

sniknik - спасибо за терпение...


sniknik   (2003-09-01 16:50:00) [2]

замени строки на эти
SourceConnection := "Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source="+DBFileName+";";
DestConnection := "Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source="+DBTempName+";";
копированием отсюда!(судя по тому как пишеш, руками не судьба) и в следуюший раз внимательней переписывай.
что называется найдите 10 отличий :о)) (пробелы не в счет)


Наверх

Титульная страница Поиск, карта сайта Написать письмо