Есть ли способ воссоздать пустую структуру таблицы только из файла .CDX и, возможно, экспортировать ее как команды SQL (СОЗДАТЬ ТАБЛИЦУ)?

#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 для программного обеспечения.