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

Вниз

сжатие mdb   Найти похожие ветки 

 
Dy1   (2009-09-07 13:15) [0]

KOLnMCK 2.88, ревизия вроде 17я.
Как правильно сжать?
procedure CompactDB(DatabaseName: string; DestDatabaseName: string);
var
 Name: string;
 Src, Dest: WideString;
 V: Variant;
begin
 Src := Provider + "Data Source=" + DatabaseName;
 Name := DestDatabaseName;
 DeleteFile(PChar(Name));
 Dest := Provider + "Data Source=" + Name;

//OleInit; //нужен? Ошибка в dll-ке
 V := CreateOleObject("jro.JetEngine");
 try
   V.CompactDatabase(Src, Dest); // исключение. С OleInit досюда не доходит
 finally
   V := 0;
 end;
end;


 
MTsv DN   (2009-09-07 15:13) [1]

Тестовый проект? Я, например, не работаю с БД.


 
Dy1   (2009-09-07 17:55) [2]

это практически тестовый проект :\ Только ещё модуль KOLComObj;
переизвращался с примера на VCL


 
Dy1   (2009-09-07 18:25) [3]

www.dy.cdrrhq.ru/t1.rar


 
MTsv DN   (2009-09-07 19:18) [4]

Во-первых:
uses ..., err,...
.
.
.
 KOL.OleInit;
 try
   V := CreateOleObject("jro.JetEngine");
   if @V <> nil then    
    V.CompactDatabase(Src, Dest);
 finally
   V := 0;
 end;
 KOL.OleUnInit;

Так будет правильнее код.

А во-вторых. Вы уверены, что у Вас V.CompactDatabase вообще работает...у меня, таки нет. Попробуйте-ка проверить: http://support.microsoft.com/default.aspx?scid=kb;en-us;295334 . У меня "Error compressing database..."


 
MTsv DN   (2009-09-07 19:19) [5]

Наверное, это из-за того, что у меня Access не установлен...


 
Dy1   (2009-09-07 20:04) [6]

на V.CompactDatabase(Src, Dest); эксепшен oleaut32.dll
И err вроде бы не нужен. По крайней мере ошибка та же.
Спасибо за OleInit


 
MTsv DN   (2009-09-07 20:09) [7]

> И err вроде бы не нужен.
ERR нужен ВСЕГДА, когда используешь try...except (finally)...endl; А ошибка та же, т.к. вылет похоже в системной библе.

Повторяю:

> А во-вторых. Вы уверены, что у Вас V.CompactDatabase вообще
> работает...у меня, таки нет. Попробуйте-ка проверить: http:
> //support.microsoft.com/default.aspx?scid=kb;en-us;295334
> . У меня "Error compressing database..."


 
Dy1   (2009-09-07 20:41) [8]

ещё не так давно err нужен был для try...except и не нужен для try...finally.
Работает, сжимает.
Кстати, когда меня заставляли писать на шарпе, проверяли - JET4.x есть даже в "чистой" ХР (и в Висте)


 
MTsv DN   (2009-09-07 20:54) [9]


> ещё не так давно err нужен был для try...except и не нужен
> для try...finally.

В общем, как показала практика.
1. err не подключен. try...except -> исключение -> вылет /сист.сообщение/
2. err подключен. try...except -> исключение -> нормальная работа программы
3. err не подключен. try...finally -> исключение -> вылет /сист.сообщение/
4. err подключен. try...finally -> исключение -> вылет /расширенное сист.сообщение/

Расширенное сист.сообщение - т.е. при делении на ноль выдало не "Error 200", а "Divide by zero".

...Один хрен не легче. Разве такова работа try...finally должна быть? Я всегда думал, что блок finally срабатывает в любом случае, но при исключении вылета нет как при except. Поправьте меня...


 
MTsv DN   (2009-09-07 20:56) [10]

Сам нашел. Действительно, поведение правильное. А для моего понимая надо использовать:
Try
 Try
   ...
 Except
   ...
 End;
Finally
 ...
End;


 
Dy1   (2009-09-08 11:50) [11]

CreateOleObject не работает даже VCLьный


 
Vladimir Kladov ©   (2009-09-09 22:39) [12]

Dy1, я тоже недавно пробовал на шарпе. Если прога на шарпе идет в системе ХП, то это уже не "чистая", там как минимум .net Framework накатан, а в него уже невесть что входит, заодно и доступ к БД.


 
Dy1   (2009-09-10 19:41) [13]

поставил на виртуалку ХР СП3 - нужные провайдеры там уже есть.
Нарыл JRO_TLB(без репликации) и ADO_TLB (под VCL наконец-то заработало), но как конвертировать?..
Меня пока что устраивает KOLEdb, только к нему бы сжатие приКОЛоть...


 
Dy1   (2009-09-13 18:30) [14]

помогла древняя TLB2KOL.exe



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

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

Наверх




Память: 0.49 MB
Время: 0.007 c
11-1253508265
Soloton
2009-09-21 08:44
2014.08.31
ImageList у TaskBar


15-1391169590
Несусвет
2014-01-31 15:59
2014.08.31
Что это за DELPHI-хак?


3-1300364942
OW
2011-03-17 15:29
2014.08.31
Позиционировать курсор после удаления и переоткрытия DS


2-1380735763
zibert
2013-10-02 21:42
2014.08.31
типы


2-1381237944
12345
2013-10-08 17:12
2014.08.31
получить строку