|
|
|
Восстановление индексов в таблице включенной в БД
|
|||
|---|---|---|---|
|
#18+
Вопрос в следующем: Есть таблица со структурным индексным файлом, входящая в некую БД. По стечению некоторых обстоятельств - индексный файл рушится. Получается, что таблицу уже открыть в БД нельзя, т.к. сразу же будет выдано сообщение об ошибке нахождения индексного файла. Чтобы восстановить индексный файл, надо «отлучать» таблицу от БД командой FREE TABLE, восстановить индексы и включить обратно эту таблицу в БД. Однако порушатся триггеры , Default value, Rule и пр. Нужно программно восстановить индекс. Мне интересно, кто как решает эту проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2005, 16:48:02 |
|
||
|
Восстановление индексов в таблице включенной в БД
|
|||
|---|---|---|---|
|
#18+
Допустим, БД называется MyDB.DBC, таблица в ней MyTable.DBF. Перед, как вы говорите "отлучить", дабы сохранить всю информацию о Default value, Rule и пр.: 1) открываем ручками контейнер БД и ищем запись о твоей таблице; 2) Запоминаем значение OBJECTID,PARENTID,OBJECTNAME найденной записи; 3) Выбираем все PARENTID равному найденному OBJECTID - это и есть твои индексы, свойства Default value, Rule и Relation. 4) Отцепляем таблицу, только не по DROP TABLE MyTable ..., а стиранием ссылки в DBF, ищем 0x0D и сохраняем все что после него до конца файла ( по идее 263 байта), потом удалим это. 5) Открываем таблицу и создаем индексы из созданных в п.3 с критерием OBJECTTYPE ="Index". 6) Открываем таблицу и опять записываем после 0x0D, то , что сохранили в п.4. И все. Индесы перестроены, таблица подключена, релейшены , тригеры и условия валидности на месте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2005, 18:03:02 |
|
||
|
Восстановление индексов в таблице включенной в БД
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2005, 19:23:04 |
|
||
|
Восстановление индексов в таблице включенной в БД
|
|||
|---|---|---|---|
|
#18+
ВладимирМ Как выполнить восстановление поврежденных индексов Кто бы мог подумать :) Все гениальное просто! Огромное спасибо за ответы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2005, 21:41:41 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=308&tid=1593689]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 187ms |
| total: | 327ms |

| 0 / 0 |
