Как превратить плоский файл данных в запрашиваемый источник данных

Я создаю файлы, вызывая их .dwrf файлы, содержащие значительный объем данных. В настоящее время мы экспортируем их в .CSV, и полученные файлы большие (2 ГБ +). Я хотел бы отключить процесс экспорта и сделать содержимое файла .dwrf запрошенным непосредственно из Excel или других приложений.

Что бы я хотел сделать, это написать утилиту/службу - назовем ее dwrfMiner - извлечь данные из файла и передать ее как источник данных и связать dwrfMiner с файлами .dwrf каким-то образом, чтобы Excel распознал это как внешний источник данных.

Любые идеи?

Ответ 1

При написании драйвера ODBC для этого, вероятно, слишком много, если формат файлов, с которыми вы работаете, известен заранее и не слишком сложно перевести (это звучит не так, как вы уже не создаете CSV), а затем используя ODBC DSN звучит как ваш лучший выбор.

Есть хороший выбор драйверов ODBC, уже встроенных в Windows (.txt,.csv,.mdb,.xl *,.dbf, Paradox.db и т.д. и т.д.), и вы можете получить другие драйверы из Интернета для множество распространенных форматов.

Если размер существующего формата, который вы экспортируете, слишком обременителен (CSV), тогда логическая точка для запуска - это преобразование ваших данных в нечто более компактное, поддерживающее ODBC.

В противном случае ваш последний вариант - опция overkill (запись драйвера ODBC).

Ответ 2

Excel может запрашивать внешние суды данных, но будьте осторожны, что Excel (все версии) имеют жесткие ограничения на количество строк, которые они могут отображать, на рабочую книгу. Я думаю, что в Excel 2003 предел равен ~ 65k. Он выше в других версиях.

См. мой вопрос: инструмент для создания отчетов/просмотрщик для больших наборов данных (и у меня было намного меньше, чем > 2 ГБ).

Ответ 3

Я использовал PHP FlatFile DB для запроса плоских файлов в прошлом

Ответ 4

Я бы выбрал gcc и напишу себе полный драйвер ODBC. Затем вы можете сидеть сложа руки и использовать SQL.

Знаешь, если тебе скучно.;)

Ответ 5

использовать драйвер odbc с поддержкой многопоточности