Задать вопрос
eddyx
@eddyx

Можно ли доработать odbc-драйвер?

Всем хабравчанам доброго дня!

Требуется определить, возможно ли реализовать импорт данных из бинарного файла в MS Excel по odbc-подобной технологии. Возможно ли подменить/переписать/дописать odbc-функции SQLGetData (и т.п.), чтобы включить в процесс импорта "разбор" (читай - структурирование) бинарной строки, то есть превращение её данных в табличный вид.
Структура файла такова (условно): бывший csv-файл, из которого удалены признаки разделения полей и конца записей, но в начало файла записаны данные о количестве полей и длине каждого.
Условия:
  • импорт - прямой, варианты промежуточных конвертеров (в txt/xml) не рассматриваются
  • импорт односторонний - только чтение
  • MS SQL Server не установлен и не предполагается


Буду рад любым комментариям, замечаниям и предложениям.
  • Вопрос задан
  • 304 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Nipheris
@Nipheris Куратор тега C++
Вот вроде понятно, что вы хотите сделать, но непонятно, зачем вам для иморта ODBC, если вам придется разбирать бинарник. Прочтите его стримами как вам надо, а в Excel уже загрузите с помощью ODBC, ну или что вы там используете. Если я не понял задачи, поясните пожалуйста.
Ответ написан
Комментировать
eddyx
@eddyx Автор вопроса
to: Станислав Макаров @Nipheris

ODBC среди прочего славен тем, что инициирование импорта данных вызывается из самого Excel всего одним (!) кликом. И начинается `цепная реакция` "Соединение с источником данных → Извлечение → Проверка → Структурирование → Выгрузка". В файл, к примеру, формата *.xlsx, данные загружаются либо в именованный диапазон, либо на скрытую страницу *.xlsx/xl/pivotCache/pivotCacheRecords1.xml".

Именно поэтому я подумал, что в существующий алгоритм есть возможность вставить 1 новый или доработать существующий подпроцесс "Извлечение", дополнив его "разбором" бинарника.
ODBC - не догма, я просто не знаю, есть ли варианты обойтись без него, сохранив желанный "1 клик" из Excel.

Надеюсь, что я Вас правильно понял и функционал ODBC здесь излишен. Требуется всего-то по известному алгоритму разбить бинарную строку разделителями и загрузить результат в файл Excel .

Вы предлагаете прочитать бинарник стримами и загрузить в Excel с помощью чего-либо. А чем инициировать начало обновления данных? И возможно ли это организовать в виде единого процесса? Иначе, если это будет два отдельных процесса и результаты "разбора" потребуется предварительно сохранять, получится тот же промежуточный конвертер, чего не хотелось бы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы