Возникла необходимость загрузки данных из SQLite базы в 1С. Очень хотелось сделать это напрямую без посторонних программ и промежуточных файлов. Решение было найдено в ADODB. Ниже привожу несколько функций и пример их использования.
Функция SQLiteInit(ФайлБД) Экспорт
SQLiteObject = Новый COMОбъект("ADODB.Connection");
SQLiteConnectionString = "DRIVER=SQLite3 ODBC Driver;Database=" + ФайлБД + ";";
Попытка
SQLiteObject.Open(SQLiteConnectionString);
Исключение
Сообщить("Невозможно подключится к драйверу SQLite. Возможно файл [" + ФайлБД + "] открыт другим пользователем или программой!");
Возврат Ложь;
КонецПопытки;
Возврат Истина;
КонецФункции
Функция SQLiteQuery(Запрос) Экспорт
SQLiteRS = Новый COMОбъект("ADODB.Recordset");
Попытка
SQLiteRS = SQLiteObject.Execute(Запрос);
Исключение
Сообщить("Невозможно выполнить SQL запрос " + ОписаниеОшибки(), СтатусСообщения.Важное);
Возврат Ложь;
КонецПопытки;
Возврат SQLiteRS;
КонецФункции
Непосредственно пример для обработки полученных данных
МаркиАвтомобилей = SQLiteQuery("SELECT ID, Name FROM Auto ORDER BY ID");
Пока НЕ МаркиАвтомобилей.EOF Цикл
ID = МаркиАвтомобилей.Fields(0).value;
Name = МаркиАвтомобилей.Fields(1).value;
Сообщить("ID/Name: " + ID + "/" + Name);
МаркиАвтомобилей.MoveNext();
КонецЦикла;
Для того чтобы это все работало, необходимо установить "SQLite3 ODBC Driver", если конечно он не установлен в системе (по умолчанию его нет).