Foxpro - Ошибка 15: «Не таблица» - PullRequest
0 голосов
/ 04 января 2012

Я работаю над приложением C #, которое читает / сохраняет данные в некоторых старых dbf-файлах.(используя Microsoft Visual FoxPro - драйвер) У меня не было проблем до недавнего времени, когда я попытался запросить таблицу, которую раньше не использовал, и получил это сообщение об ошибке.Эта таблица является чем-то особенным, поскольку в ней более 500 столбцов, и я подозреваю, что это может быть как-то связано с ней, но ничто из того, что я до сих пор гуглял, не дает никаких признаков того, что это вызывает какие-либо проблемы.взглянул на этот документ и проверил, что количество записей в заголовке соответствует фактическому числу (1 запись);Этот документ является единственным хорошим советом, который я нашел до сих пор, который не требует каких-либо тяжелых инструментов восстановления dbf.

Я пытался использовать и Microsoft Visual FoxPro - и драйвер VFPOLEDB, они оба даютболее или менее то же самое сообщение об ошибке.

Я попытался передать команду TableValidate = 0, но безуспешно.

У кого-нибудь есть опыт решения этой проблемы, предпочтительноиспользуя C #.

Ответы [ 3 ]

4 голосов
/ 05 января 2012

Таблицы VFP не поддерживают 500 столбцов, поэтому это не таблица VFP.Вам необходимо выяснить, что это за таблица, и открыть ее с помощью соответствующего драйвера.

0 голосов
/ 05 января 2012

Из комментария от Tamar я вспомнил еще одну базу данных приложений, которая использовала форматы файлов .DBF ... Clipper. Вот ссылка, которая описывает их вместимость таблицы.

База данных Apollo - (Clipper)

Это может быть отсутствующая ссылка, которую вы ищете.

0 голосов
/ 04 января 2012

Если таблица повреждена, вы можете использовать CmRepair.app , чтобы исправить это.Эта программа является приложением Visual Foxpro 8 (а не скомпилированным .EXE), поэтому вам нужно VFP для ее выполнения.

Если у вас не установлен VFP, вы можете загрузить служебную программу , которую я создал для выполнения сценариев VFP и .APP у клиентов, у которых не установлен VFP.Время выполнения VFP8 доступно здесь .Затем вы запускаете программу с помощью runner CmRepair.app и восстанавливаете таблицу.

Удачи!

...