Содержание
Когда нужен ремонт?
Инструмент
Ремонт
Удаление мусора
Руководство по использованию утилиты AdtFix для восстановления поврежденных adt-таблиц.
Когда нужен ремонт?
Ремонт таблицы adt-типа следует произвести, если при работе с ней вы получаете сообщения Ads со следующими кодами ошибок:
• | 7016 - Таблица разрушена |
• | 7072 - Разрушен мемо-файл, связанный с этой таблицей |
• | 7116 - Неопознана версия adt-таблицы |
• | 7123 - Неопознан тип поля |
• | 7124 - Неверное число записей |
Эти ошибки возникают, когда вы пытаетесь работать с данными :
1. | восстановленными из архива, который был создан без использования клиентской части Ads - например, вы свернули базу в архив с помощью Winrar, или сняли ее копию утилитой xcopy в то время, как с ней работали пользователи; |
2. | после резкой перезагрузки сервера - сбой питания, нажатие кнопки Reset и т.п. |
Для пользователей испорченность таблицы проявляется в том, что они не могут добавить новую запись - F6 не работает там, где всегда работал.
В таких случаях следует проверить подозрительные файлы, как это сказано ниже.
Инструмент
Для полного ремонта нужны следующие утилиты:
1. | adtfix.exe - ремонтирует таблицы, |
2. | freeadt.exe - отвязывает таблицы от Словаря базы данных, |
3. | arc32.exe - многофункциональная утилита "Advantage Database Architect". |
Утилиты adtfix.exe и freeadt.exe размещены на нашем ftp-сервере в директории /temp/Distrib/ads/9.1/fix.
Для получения arc32.exe смотрите Установка Ads, Подготовка, Получение дистрибутивов.
Ремонт
• | Создайте временную директорию типа \temp\fix. |
• | Копируйте в нее adtfix.exe, freeadt.exe и распакованные архивные или испорченные файлы. |
Жмите Next.
• | По кнопке Browse укажите директорию \temp\fix |
• | Начните проверку, нажав Next. |
• | Все файлы будут последовательно проверены. Перед именами правильных файлов появится слово VALID. Файлы с нарушенной внутренней структурой будут выделены. В этом примере это файлы DOCS0109.ADT, DOCZ0109.ADT. |
Старт лечения - кнопка Fix.
• | При лечении содержимое исправляемых файлов будет изменено, поэтому для каждого из файлов -.ADT и .ADM, входящих в одноименную таблицу, будет предложено сделать его bak-копию. |
Соглашайтесь - Да.
• | Укажите директорию размещения bak-копий. По умолчанию будет предложена директория запуска утилиты. Отвечайте Сохранить. |
• | Перед исправленными файлами появляется слово FIXED. |
• | Проверка и исправление закончены. |
Выход - Quit.
• | Перед тем, как завершить работу, утилита сообщает, что исправленые файлы могут содержать, коротко говоря, мусор и рекомендует произвести их чистку операцией Pack утилиты Advantage Data Architect. |
Жмите Ok.
• | Если вы спешите, то копируйте вылеченные таблицы на их рабочее место в "Фабиус". и известите пользователей о возможности работы с ними. |
|
Внимание!
|
Обязательно удалите в "Фабиус" одноименные с заменяемыми файлы .ADI. Например, вы восстановили таблицу DOCS0109 и заменяете в директории \Fabius\Opdata файлы DOCS0109.ADT и DOCS0109.ADM. Сразу же после замены файлов, или перед ней, удалите файл DOCS0109.ADI. И так для каждой заменяемой таблицы.
|
Удаление мусора
Изложенное здесь - очень полезный опцион, рекомендованный утилитой AdtFix.
Перед тем как удалить мусор необходимо "отвязать" таблицы от Словаря базы данных утилитой freeadt.exe, которая ранее была записана вами в директорию \temp\fix.
Итак, начали.
• | Перейдите в директорию \temp\fix и выполните freeadt. На приглашение командной строки наберите Y, Enter. |
Черный экран пропадет вместе сообщениями о том, что все таблицы директории отвязаны от Словаря.
• | Для каждого вылеченного файла ... |
• | ассоциативно запускайте утилиту Advantage Database Architect, нажимая Enter на выбранном файле .ADT. В открывшемся окне выполняйте пункт меню Pack. |
• | Копируйте вылеченные и вычищенные таблицы на их рабочее место в "Фабиус" и не забудьте удалить одноименные с ними файлы .ADI. |
Удачи.