Ученик-кочегар
Группа: Участник
Сообщений: 10
|
Здравствуйте !!!
Столкнулся со следующей проблемой:
Взял с этого форума код, позволяющий сжать БД Access, с помощью Microsoft.Jet.OLEDB.4.0. Вот он:
CODE |
AnsiString path=GetCurrentDir();
if (!DirectoryExists(path+"backup")) CreateDir(path+"backup");
CopyFile((path+"base.mdb").c_str(),(path+"backup\base.mdb").c_str(),false);
Variant JetEng;
JetEng = CreateOleObject("JRO.JetEngine");
WideString OutputDB = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path+"base1.mdb;";
OutputDB = OutputDB + "Jet OLEDB:Database Password=yi82";
WideString InputDB = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path+"base.mdb;";
InputDB = InputDB + "Jet OLEDB:Database Password=yi82";
JetEng.OleFunction("CompactDatabase",InputDB,OutputDB);
JetEng = Unassigned;
|
попробовал его использовать в программе, работает, только он скорее "расширяет" БД, а не сжимает. Моя БД в несжатом виде имела размер 487 kb, а после, так называемоего "сжатия", размер увеличился до 627 kb. И при ее загрузке Access ругается — "Unrecognized database format".
Хоть этот вопрос уже и затрагивался на форуме, но предложенные решения мне не помогли.
Подскажите !!! ПОЖАЛУЙСТА !!! в чем проблема и как ее можно решить (тольке без использования ADO).
Заранее благодарен. |