2009-09-16 5 views
3

Моя компания имеет устаревшую программу микромиллинга, которая имитирует население и меняет эту популяцию в течение нескольких лет.Запуск SQL-запроса в двоичном файле?

Для каждого года программа создает двоичный файл с записью для каждого человека, который сохраняет свои характеристики (например, возраст, статус прихода, доход ... около 20 полей).

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

Невозможно изменить программу, чтобы записи сохранялись в базе данных вместо двоичных файлов (я несколько раз спрашивал). Я написал несколько программ, которые импортируют двоичные файлы в базу данных, а затем запускают запросы в созданных таблицах. Проблема здесь в том, что для импорта данных и выполнения запроса всегда требуется больше времени, чем для запуска служебной программы, написанной на C++, которая просто считывает записи один за другим и накапливает нужные данные. Часто двоичные файлы содержат более 30 миллионов записей, а шаг импорта - навсегда.

Итак, вот мой вопрос. Есть ли что-нибудь, что позволило бы мне указать структуру моего двоичного файла и затем запустить SQL-запросы в файле? Я думаю, вы можете использовать ODBC для запуска запросов в текстовых файлах, но я никогда не видел ничего подобного для двоичных файлов.

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

ответ

2

OpenAccess представляет собой набор инструментов, которые можно использовать для создания ODBC или JDBC драйверов для произвольных систем. Отказ от ответственности: я не использовал его, и другое подразделение моей компании продает его.

0

У меня нет большого опыта работы с LINQ, но разве вы не могли использовать InteropServices для синтаксического анализа двоичных файлов на объекты C#, а затем запросить информацию с помощью LINQ SQL?

+0

Похоже, вы находитесь в неправильном направлении ... OP ничего не рассказывал о LINQ ... – Kamarey

Смежные вопросы