#visual-foxpro #dbf
#visual-foxpro #dbf
Вопрос:
Мне было поручено преобразовать некоторое старое программное обеспечение, созданное с использованием Visual FoxPro, но мне дали только некоторые файлы .CDX. У меня есть доступ к программе VFP (версия 9), но я ничего не знаю о dbf, cdx и т.д. Кажется, что программа «импортирует» файл .CDX в порядке, но я даже не могу найти способ просмотреть их содержимое.
Что я пробовал до сих пор:
SET INDEX TO S:mail.cdx
Затем я попытался:
ATAGINFO(B, S:mail.cdx)
это я нашел здесь и там, но ничего.
Мне кажется, что кривая обучения здесь очень крутая, потому что даже терминология, которую я нашел, полностью отличается как от баз данных SQL, так и от баз данных NoSQL. Некоторая помощь здесь была бы весьма признательна.
Комментарии:
1. Как объяснил Итан, файлы cdx содержат только информацию об индексе и значения индекса в нем специальным «сжатым» способом. Из этого вы не получите никакой информации о структуре таблицы. Если вы не знаете VFP на продвинутом уровне, даже с таблицами и исходными кодами, вам будет нелегко. Мое предложение: забудьте структуры, код и делайте все с нуля. Вы потеряете меньше времени. ИМХО, это «преобразование» — непростая задача для всех.
2. @CetinBasoz проблема в том, что компания сохранила ценные данные в этом формате, поэтому важно восстановить данные. Я могу перестроить другое решение с нуля, но если я получу как .dbf, так и c.dx, разве нельзя было бы извлечь структуру и данные и преобразовать их в формат SQL? Например, я видел, что есть какой-то проект для взаимодействия с dbf на python; если это может сработать, я мог бы справиться с остальным.
3. Если у вас есть все файлы данных, то да, вы можете получить данные в базе данных SQL или NoSQL. Я не могу говорить о python, я делал это годами с MS SQL server, PostgreSQL, SQLite, MongoDB, используя C #, Go, VFP. Я помню, что нашел что-то с драйвером python, но я действительно не работаю с python (это должно быть в одном из моих старых сообщений). Вы не просто в безопасности с DBF и CDX. Могут быть и другие файлы, обычно FPT и, возможно, DBC, DCT и DCX (и надеюсь, что нет столбцов, которые заданы как системные).
4. Файлы DBF — это основные таблицы базы данных, если вы просто хотите восстановить данные и получить файлы DBF, тогда вы можете использовать мастер импорта MS SQL Sever mssqltips.com/sqlservertip/2463 /…
Ответ №1:
.CDX
файлы имеют только индексы, поэтому вы не найдете там всех полей; в идеале вам должны быть предоставлены .DBF
файлы и .DBC
файл, если он существует.
Даже если вы получите эти файлы, у вас все равно останутся только поля и индексы. Что вам действительно нужно, так это исходный код Foxpro для программного обеспечения.