Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Неудачная паковка, paradox-таблицы 
:(
    Опции темы
Pakshin A. S.
  Дата 6.5.2004, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Пытаюсь упаковать тaблицу:
Код

var
TblDesc: CRTbldesc;
TempDBHandle: HDBIDb;
begin
FillChar(TblDesc, SizeOf(TblDesc), 0);
with TblDesc do
 begin
  StrPCopy(szTblName, DataBaseN);
  StrCopy(szTblType, szPARADOX);
  bPack:=True;
 end;
try
 Check(dbiOpenDatabase(PChar(DataBaseN), nil, dbiREADWRITE, dbiOpenExcl, nil, 0, nil, nil, TempDBHandle));
 try
  Check(dbiDoRestructure(TempDBHandle, 1, @TblDesc, nil, nil, nil, False));
 finally
  dbiCloseDatabase(TempDBHandle);
 end;
finally
 ShowMessage('Done');
end;
end;


На что эта зараза отвечает:
Цитата

An error occurred while attempting to initialize the Borland Database Engine (error $2A06)


Что мне с этим делать, вроде все остальные операции с базой работают...

P. S.
Работаю из Delphi 7

Это сообщение отредактировал(а) Pakshin A. S. - 6.5.2004, 21:05
PM   Вверх
Cetus
Дата 7.5.2004, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 18.4.2004

Репутация: нет
Всего: 1



Возможно таблица открыта не эксклюзивно.
попробуй так.

P.S. На оптимальный вариант не претендую.

procedure tform1.PackTable(Table: TTable);
var Props: CURProps;
hDb: hDBIDb;
TableDesc: CRTblDesc;
begin
table.Exclusive:=true;
table.Active:=true;
Check(DbiGetCursorProps(Table.Handle, Props));
if Props.szTableType = szPARADOX then begin
FillChar(TableDesc, sizeof(TableDesc), #0);
Check(DbiGetObjFromObj(hDBIObj(Table.Handle), objDATABASE, hDBIObj(hDb)));
StrPCopy(TableDesc.szTblName, Table.TableName);
StrPCopy(TableDesc.szTblType, Props.szTableType);
TableDesc.bPack := True;
Table.Close;
Check(DbiDoRestructure(hDb, 1, @TableDesc, nil, nil, nil, False));
end else errata(4);
end;


--------------------
Легко внести изменения в код.Трудно сделать это корректно.
PM MAIL   Вверх
Pakshin A. S.
Дата 7.5.2004, 05:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Впринцепе похоже, но надо попробовать...
PM   Вверх
Maverick
Дата 7.5.2004, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1307
Регистрация: 22.9.2003
Где: Odessa, Ukraine

Репутация: 2
Всего: 10



1)Выбираешь справку Delphi Tools....
2)Ищешь DbiPackTable....
3)Берешь Example...
4)Перетряхиваешь указанный пример (русские сообщения и тп)...
5)Вставляешь в прогу свою...
6)Пользуешься...


--------------------
smile
PM ICQ GTalk   Вверх
Pakshin A. S.
Дата 7.5.2004, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Спасибо, попробую и это...
PM   Вверх
Pakshin A. S.
Дата 9.5.2004, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Код из Help'а требует эксклюзивного открытия таблицы... А что это такое?
PM   Вверх
x77
Дата 9.5.2004, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: 19
Всего: 22



Код
Table1.Exclusive := TRUE


(перед открытием)


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
Pakshin A. S.
Дата 9.5.2004, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



WOW! Всё так просто! Спасибо...
PM   Вверх
x77
Дата 9.5.2004, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: 19
Всего: 22



Pakshin A. S., с Днём Победы smile.gif



--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
Pakshin A. S.
Дата 9.5.2004, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



biggrin.gif
PM   Вверх
Pakshin A. S.
Дата 9.5.2004, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Разовьём тему:
Начальный вес таблицы (добавлял, удалял и т. п. эксперименты несколько дней назад..): 6,144 Кб
Довавил новую запись: 6,144 Кб
Удалил её: 6,144 Кб
Выполнил паковку: 6,144 Кб
Несколько раз...: 6,144 Кб
biggrin.gif
PM   Вверх
x77
Дата 9.5.2004, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: 19
Всего: 22



Pakshin A. S., не морочьте людям голову.

только что сделал таблицу, забил около 10 тысяч случайных записей.
размер - 1.23 МБ (1 296 384 байт)

несколько тысяч записей из середины удалил.
размер - 1.23 МБ (1 296 384 байт)

сделал реструктуризацию с паковкой.
размер - 0.99 МБ (1 038 336 байт)


вы размер в статусной строке эксплорера смотрите?


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
Pakshin A. S.
Дата 9.5.2004, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Размер смотрю из свойств файла...

Просто добавление, удаление одной записи не влияет на размер, как я понял, а вот уже десяток влияет...
PM   Вверх
x77
Дата 9.5.2004, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: 19
Всего: 22



Pakshin A. S., я тоже так думаю. большинство субд увеличивают размер файла блоками, так гораздо быстрее происходит вставка кучи записей одновременно.



--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
Pakshin A. S.
Дата 9.5.2004, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Ухты, как всё сложно устроено!
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0506 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.