Мне нужно подключиться к некоторым старым файлам базы данных C-tree Plus с 1998 года. Продукт снят с производства, но все еще используется сегодня в текущих выпусках программного обеспечения. Мне нужно иметь возможность как читать, так и писать, но нет доступного типа соединения ODBC, только доступ к файлам. Вот их образец:
Большая часть нужного мне контента хранится в виде целых чисел или строк, я могу увидеть это с помощью базового текстового редактора, но есть также двоичные / UTF / HEX-символы, которые необходимо отфильтровать. В файлах нет имен столбцов.
Мне нужно найти способ разобрать его в читаемую форму, например csv для чтения, а затем отменить его для записи.
У участвующих вендоров нет никакой помощи, честно говоря, я не уверен, что кто-либо в их компаниях знает, как это работает спустя более 20 лет с момента его разработки. Я потратил хороший час, пытаясь убедить людей из Faircom продать мне старый ODBC без какой-либо поддержки, но безрезультатно. Хотя некоторая документация все еще существует, библиотека ODBC для использования документации недоступна.
Я попытался связаться с Pervasive по поводу их DataConnect, но, очевидно, они отказались от синтаксического анализа плоских файлов в своей последней версии. Они сказали, что в их старой версии он был основан на awk.
Я нашел DataDirect на Progress.com интересным, но не получил от них никаких звонков, чтобы узнать, что возможно.
TextPipe Pro выглядит так, как будто его можно читать, но я не думаю, что смогу с его помощью писать.
Postgresql имеет обертки сторонних данных, которые будут анализировать CSV, я подумал о попытке создать фильтр на основе CSV для моих данных, но не был уверен, была ли это кроличья нора.
Я немного разбираюсь в C #, но не знаю, с чего начать. Насколько я понимаю, мне нужно определить «размер блока», который будет представлять одну строку, а затем преобразовать каждый столбец с фиксированной шириной в ANSI из того, что он сейчас есть. Затем экспортируйте каждую строку в формат csv, который можно было бы запросить.
Пожалуйста, скажите мне, что есть способ лучше. Может быть, библиотека синтаксического анализа, утилита, что-то вообще, что можно было бы интегрировать в приложение C #, которое запускается по расписанию в поисках обновлений.
data engine
, поскольку нет драйверов ODBC или других интерфейсов для использования. - person Alan   schedule 20.09.2018