[Форум] [Помощь] [Поиск] [Выйти] |
Добро пожаловать, ![]() |
|
|
| ||
Необходимо Сжать и восстановить базу данных Access. Нашел в интернете вот такой код(Builder 5): OleVariant JetEngine; JetEngine= CreateOleObject(JRO.JetEngine); JetEngine.OleFunction(CompactDatabase,Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\alphapro\tele.mdb;Mode=ReadWrite!Share Deny None;Persist Security Info=False;,Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\alphapro\tele1.mdb;Mode=ReadWrite!Share Deny None;Persist Security Info=False;); При компиляции Builder ругается на вызов OleFunction() следующим образом: [C++ Error] Unit1.cpp(32): E2247 'OleFunction<char *,char *>(const AnsiString &,char *,char *)' is not accessible При вызове OleFunction() только с именем функции Builder не ругается, но вылетает во время исполнения - Слишком мало параметров. Может кто-нибудь знает в чем дело? Ну или как по другому сжать базу из Builder'а? |
| ||
![]() http://www.temporaldoorway.com/programming/cbuilder/databaseandbde/packingtables.htm |
| ||
Спасибо. Ты sms от меня получал? Тебе все еще надо, то что просил достать? |
| ||
Мдя, а я думаю кто это прислал. Да, надо. Я тебе позвоню. |
| ||
Мда, а оказалось на самом деле все просто: WideString WSCurrConn, WSTempDB; WSCurrConn=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=<Путь к оригинальной базе>;Mode=ReadWrite!Share Deny None;Persist Security Info=False; WSTempDB=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=<Руть к сжатой базе>; Variant JE = Variant::CreateObject (JRO.JetEngine); try { HRESULT hResult = JE.OleFunction (CompactDatabase, WSCurrConn, WSTempDB); } __finally { JE = Unassigned; } |