Содержание
Руководство по использованию утилиты 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 и распакованные архивные или испорченные файлы. |

| • | Выполните adtfix. |

Жмите 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. |
Удачи.