![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
упаковка 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 отличий :о)) (пробелы не в счет)