Spec-Zone.ru › MariaDB

Добавление файлов DataFlex 3.1c .dat в качестве внешнего типа таблицы с помощью CONNECT

Я использую движок CONNECT MariaDB для доступа к набору файлов Visual FoxPro/dBase в рамках поддержки очень старого программного обеспечения для клиента. Он работает очень хорошо, и я очень доволен этим.

На самом деле, мой клиент так доволен моей поддержкой, что он порекомендовал меня своему другу. Программное обеспечение его друга, которое невероятно устарело, использует файлы DataFlex 3.1c в качестве таблиц. Они просто хранятся в виде набора файлов .dat в папке.

Я нашел достаточно документации, чтобы практически полностью разобраться с форматом файла. Движок CONNECT распознает их как файлы типа DOS или BIN. Единственная проблема заключается в том, что MariaDB ожидает, что первый запис будет начинаться в начале файла, но файлы .dat содержат заголовок, описывающий саму таблицу. Я могу прочитать его и вычислить правильное выражение CREATE TABLE, но, похоже, не могу найти способ компенсировать тот факт, что заголовок находится там, где MariaDB ожидает записей.

Как я могу сказать MariaDB, где фактически начинается первая запись?

Я фактически написал функциональный парсер для файлов .dat на Python, основываясь на примечаниях здесь здесь и здесь.

Я также использовал проект GitHub этот в качестве руководства/шаблона (поскольку я не хотел конвертировать файлы DataFlex, а только читать и записывать в них на месте).

Мне посоветовал @montywi на канале Freenode IRC, что это лучшее место для моего вопроса. Я с удовольствием предоставлю файлы .dat для справки и поддержу их включение в CONNECT, насколько это возможно. Я просто совершенно растерян, как поступить.

Содержание, воспроизводимое на этом сайте, является собственностью соответствующих владельцев, и это содержание не проверяется заранее MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/adding-dataflex-31c-dat-files-as-an-external-table-type-with-connect/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API