![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Востановление индексных файлов в Paradox [D7, Paradox]
D@Nger © (2006-08-14 08:56:00)Здравствуйте мастера! У меня TTable и парадоксовская таблица. После сбоя, полетели индексные файлы (Index is out of date). Пытаюсь сделать процедурку для восстановления индексных файлов.
Делаю так:
Check(DbiRegenIndex(log_Tbl.DBHandle, nil, PChar(log_tbl.TableName), nil, PChar(''), PCHar(''), 0));
Но не знаю что указывать в выделенном участке процедуры. В первом PChar, наверно, имя восстанавливаемого индекса, а во втором PChar не знаю что ставить, а в третьем, наверно номер индекса.
В общем ничего не получается. Битые индексы удалил. остался один *.db. Мне надо что бы индексные файлы создались.
Пробовал и вторым способом из RXLib процедурой ReindexTable и RestoreIndex. Тоже ничего не выходит. Подскажите как мне переиндексировать таблицу.
Спасибо!.
Anatoly Podgoretsky (2006-08-14 15:03:00) [1]Не каждому дано работать с АПИ, даже если есть подробные, рабочие примеры на Дельфи.
D@Nger (2006-08-14 14:24:00) [2]В общем, не получается у меня нифига. Придется наверно просто удалять индексы и создавать их заново. Не хотелось конечно делать по тупому, но другого варианта пока не вижу.
Desdechado (2006-08-14 13:59:00) [3]Check - это просто проверка корректности выполнения БДЕ его внутренней операции.
> Invalid handle to the function). В справке ясно указано, что в
> качестве параметра указывается хендл таблицы.
?
D@Nger (2006-08-14 13:34:00) [4]Пытаюсь востановить индексы следующим образом:
Check(DbiRegenIndexes(log_tbl.Handle));
Выходит ошибка, мол не правильный хендл (Invalid handle to the function). В справке ясно указано, что в качестве параметра указывается хендл таблицы.
Из-за чего это может быть ?
Anatoly Podgoretsky (2006-08-14 11:20:00) [5]Процедура Check имеет косвенное отношения к базам. Подробности в справке.
D@Nger (2006-08-14 11:09:00) [6]У меня возникли вопросы:
1)А процедура Check восстанавливает индексы, т.е. я двигаюсь в нужном направлении ?
2) Процедуру Check нужно вызывать для каждого индекса отдельно?
3) В каком модуле сидит процедура Check, в справке найти не получается ?
Anatoly Podgoretsky (2006-08-14 10:15:00) [7]Почему бы не получить этот ответ из первоисточника, то есть из родной справки?
pszIndexName, pszIndexTagName, iIndexId);
Каждый из параметров прекрасно описан, есть примеры использования на двух языках.