Воссоздать ddf файлы из файлов данных (Pervasive SQL)

Я унаследовал проект, который использует базу данных pervasiveSQL через интерфейс btrieve. Со временем произошло некоторое копирование файлов данных. Как кажется, btrieve на самом деле не нуждается в файлах ddf; он доволен только файлами данных, поэтому ddf-файлы не всегда копировались с ними. Со временем это привело к проблеме, заключающейся в том, что на некоторых установках файлы ddf и файлы данных не совпадают (т.е. определение данных ddf не соответствует фактической структуре таблицы). Это не проблема для работающей версии программы, но становится проблемой обслуживания, когда что-то нужно изменить в структуре базы данных.

Итак, вот вопрос: есть ли способ / инструмент для воссоздания файлов ddf из файлов данных? Мне кажется, что это возможно, потому что в файлах данных содержится структурная информация. Я не возражаю, если воссозданные ddf потеряют фактические имена полей и индексов.

Если это поможет: между таблицами не определено никаких отношений (в данных есть внешние ключи, но о них не сообщается в базе данных). Поэтому мне нужны только поля и определения индекса.

1 ответ

Решение

There is no generic tool to recreate the DDFs from the data files. You can use DDF Builder to recreate the table definitions based on data files but you will need to know the record layout.

Btrieve data files do not store field structure information. DDFs have that information and the application that generates the data files stores that information but the data files themselves do not store any field information. The only thing metadata related in Btrieve files is index information.

Мое предложение состояло бы в том, чтобы поддерживать файлы данных с помощью файлов DDF, используя операторы CREATE TABLE / ALTER TABLE (или DTI/DTO), вместо того, чтобы сначала вносить изменения в файлы данных, а затем обновлять файлы DDF. Изменяя таблицы с помощью операторов ALTER TABLE, DDF и файлы данных всегда синхронизируются.

Другие вопросы по тегам