powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Восстановление индексов в таблице включенной в БД
4 сообщений из 4, страница 1 из 1
Восстановление индексов в таблице включенной в БД
    #33214566
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос в следующем:
Есть таблица со структурным индексным файлом, входящая в некую БД.
По стечению некоторых обстоятельств - индексный файл рушится.
Получается, что таблицу уже открыть в БД нельзя, т.к. сразу же будет выдано сообщение об ошибке нахождения индексного файла.
Чтобы восстановить индексный файл, надо «отлучать» таблицу от БД командой FREE TABLE, восстановить индексы и включить обратно эту таблицу в БД. Однако порушатся триггеры , Default value, Rule и пр. Нужно программно восстановить индекс.
Мне интересно, кто как решает эту проблему?
...
Рейтинг: 0 / 0
Восстановление индексов в таблице включенной в БД
    #33214591
Иван Махно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Допустим, БД называется 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.
И все. Индесы перестроены, таблица подключена, релейшены , тригеры и условия валидности на месте.
...
Рейтинг: 0 / 0
Восстановление индексов в таблице включенной в БД
    #33214640
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Восстановление индексов в таблице включенной в БД
    #33214671
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ Как выполнить восстановление поврежденных индексов
Кто бы мог подумать :) Все гениальное просто!
Огромное спасибо за ответы.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Восстановление индексов в таблице включенной в БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]