возможно ли прочитать sqlite базу данных БЕЗ библиотеки sqlite3?
Мне нужно просто прочитать базу данных sqlite, точнее одну таблицу, в цикое пробежаться по каждому полю а потом получить в виде строки все что содержит данное поле
возможно ли подобное сделать без библиотеки sqlite3 на c++?
(нашел upx, который мне подходит)
Ответы (1 шт):
У вас три варианта на выбор:
Не страдать фигнёй, а подключить dll, за пару минут написать код и пойти пить... чай.
Изучить Database File Format, написать свой парсер этого формата, на что может понадобиться от нескольких недель до нескольких лет.
Экспортировать данные из БД в другой формат, который можно будет легко употребить в вашей программе.
Давайте этим и займёмся.
Идём на SQLite Download Page, качаем Precompiled Binaries for Windows с утилитой командной строки.
Запускаем sqlite3.exe.
Открываем вашу БД:
.open test.db
Вместо test.db
укажите имя вашего файла.
В документации смотрим раздел Export to CSV. Выполняем приведённые там команды:
.headers on
.mode csv
.once data.csv
SELECT * FROM tablename;
Это сохранит данные из указанной таблицы в указанный файл в желаемом формате.
Вместо data.csv
укажите желаемое имя и путь.
Выберите правильную таблицу.
При необходимости задайте нужные столбцы в SELECT
.
Вместо csv можно задать любой другой поддерживаемый формат, с которым вам будет удобней работать, например, json.
После этого можно удалить скачанные ранее файлы sqlite. Также можете удалить саму базу данных.
Теперь файл с данными (csv/json) положите в папку вашей программы (или по известному пути) и читайте данные из него.
На всё про всё нужно не более нескольких минут.