Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2014.08.31;
Скачать: [xml.tar.bz2];

Вниз

сжатие 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 вся ветка

Форум: "KOL";
Текущий архив: 2014.08.31;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.002 c
1-1327604156
DmitriyG.
2012-01-26 22:55
2014.08.31
Отмена асинхронного Fetch


2-1381050306
Антипов В.А.
2013-10-06 13:05
2014.08.31
Как расшифровать коды сканера штрих-кодов?


15-1390229340
Пит
2014-01-20 18:49
2014.08.31
Отображаемые элементы в cxGrid


2-1381400402
Error-Code-0xDEADBEEF
2013-10-10 14:20
2014.08.31
проектирование бд


15-1391254319
xayam
2014-02-01 15:31
2014.08.31
Проводник для больших папок





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский