Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Требуется помощь по таблице БД (Paradox)!!! [Delphi]


leopoldo ©   (2002-06-14 13:40:00) 

После перезагрузки повисшего компа при попытке получить доступ к таблице вылетает сообщение: "Corrupt table/index header"...
Можно что-то исправить?
Гавкнули две недели работы (данные придется по новой забивать)...
Памагиття!!!


Weare   (2002-06-21 17:34:00) [1]

Слушай, расскажи поподробнее...


Влад(Одесса)   (2002-06-21 17:11:00) [2]

Может этот вопросик уже никто и не смотрит, да вот только у меня аналогичная проблемка была. Тоже писалось "Index is out of date".
Тогда я решил вставить в код программы перегенерацию индексов:

DataModule2.Users.Exclusive:=True;
DataModule2.Users.Open;
Check(dbiRegenIndexes(DataModule2.Users.Handle));

Для этой таблицы все нормально отрабатывает, а для другой пишет:
"Must use baseorder for this operation".Подскажите, в чем тут дело и есть ли другое решение проблемы.
Буду очень призателен.


cav   (2002-06-15 23:06:00) [3]

предыдущие советы правильные, кста если програ сама индексы может востановить то выноси все нафиг кроме *.db и *.mb (в принципе если ты знаеш какие поля используются в индексах то их можно и ручками востанновить, а вобще есть процедурка которая могет проверить-восстановить если надо пиши)


Keizer   (2002-06-14 16:52:00) [4]

Не придется Вам забивать данные по-новой. Это распространенная проблема решается. Как один из вариантов: установите Сorel Paradox 9 а затем в меню "Tools" выберите Table Repair

Дальше думаю разберетесь.
и еще НИКОГДА не используйте AutoInc как тип ключегого поля
при Repair потеряете достоверность ключей


VICTOR_   (2002-06-14 15:47:00) [5]

1.Поищи на локальных дисках *.lck и удали их.
2.Сделай копию базы(рабочей, в которой сейчас ошибка)
3.Удали индексы *.xg*, *.yg* и подкинь их из любой копии программы если она у тебя есть(лучше всего от пустых баз), зайти в DATABASE DESKTOP, открой таблицу, поставить галочку PACK TABLE и SAVE
4.Если 1-2 пункты выполнены успешно, то данные у тебя скорее всего не повреждены, а повреждены только индексы, так что перенабирать по новой не прийдется
5.При проблемах с компом(или WINDOWS), а также питанием делай чаще резервные копии


Ptr   (2002-06-14 15:25:00) [6]

Попробуй в проводнике удалить (переименовать) все индексные файлы. Оставь только файлы базы и затем переиндексируй. т.е. создай индексы заново...


Наверх

Титульная страница Поиск, карта сайта Написать письмо