Работа с файлами SQLite (*.db) через ADODB

28.12.11

Интеграция - Внешние источники данных

Пример работы с файлами *.db формата SQLite на платформе 8.2

Скачать файлы

Наименование Файл Версия Размер
SQLite3 ODBC Driver
.exe 3,18Mb
101
.exe 3,18Mb 101 Скачать

Возникла необходимость загрузки данных из 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", если конечно он не установлен в системе (по умолчанию его нет).

См. также

Перенос данных из Парус 8 в ЗГУ 3

Зарплата Внешние источники данных Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 8 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

84000 руб.

19.08.2020    22460    19    1    

22

Перенос данных из Парус 10 в ЗГУ ред.3

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Обмен между базами 1C Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    9217    9    8    

10

Перенос данных из Парус 7.хх в ЗГУ ред.3

Внешние источники данных Зарплата Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 7.хх учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

24000 руб.

24.04.2017    48712    96    163    

86

Перенос начальных остатков из Парус 7.71 в БГУ

Внешние источники данных Взаиморасчеты Учет ОС и НМА Логистика, склад и ТМЦ Бюджетный учет Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 2.0 1С:Бухгалтерия государственного учреждения Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Перенос словарей и начальных остатков из ПП Парус-Бухгалтерия Бюджет 7.71 в 1Сv8 БГУ2. Заполнение словарей и документов по вводу начальных остатков. Не требуется установка ПП Парус7. Возможна дозагрузка. Позволит автоматически и наиболее полно ввести данные в программу для начала работы. 

15600 руб.

08.12.2011    81582    128    123    

147

Перенос данных из Парус 10 (Торнадо) в ЗГУ ред.3 через Excel

Внешние источники данных Загрузка и выгрузка в Excel Зарплата Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате из Парус 10(Торнадо) учреждений через файлы Excel в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ). В принципе, обработка может быть использована для загрузки из файлов Excel, полученных из любых информационных систем.

24000 руб.

16.11.2018    30006    20    31    

21

Загрузка спецификаций в УНФ из системы Базис-мебельщик

Производство готовой продукции (работ, услуг) Внешние источники данных Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Лесное и деревообрабатывающее хозяйство Россия Управленческий учет Платные (руб)

Обработка предназначена для загрузки файлов, выгруженных из системы Базис-мебельщик, в справочник "Спецификации" для последующих процессов учета и диспетчирования полуфабрикатов и изделий.

7200 руб.

24.06.2021    19134    52    50    

29
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. orefkov 1152 28.12.11 21:55 Сейчас в теме
Еще бы ссылочку на Sqlite ODBC драйвер.
2. cool.vlad4 2 28.12.11 22:14 Сейчас в теме
(1) дык вроде http://www.ch-werner.de/sqliteodbc/
автор +
baracuda; Dinara78; TerveRus; +3 Ответить
3. Ivon 673 29.12.11 11:08 Сейчас в теме
Посмотрите мою статью "Функции для хранения рисунков в отдельной базе MSSQL в varbinary с помощью ADODB", там выложены функции для работы с MSSQL. Замените строку подключения на свою и будет работа с SQLite.
chemezov; +1 Ответить
4. Avalanche 199 29.12.11 23:46 Сейчас в теме
Если лень искать в интернете, то драйвер прикреплен к публикации.
5. JohnyDeath 301 05.01.12 13:17 Сейчас в теме
Есть очень хорошая ВК по работе с базами Sqlite в 1С от Александра Орефкова http://infostart.ru/public/15977/
Не знаю работает ли она в 8.Х
6. amyd 94 01.02.12 15:10 Сейчас в теме
То что надо!
а то у нас стоит dameWare, а он может только импортировать данные, притом их дублируя.
а тут получил доступ к файлу, очистил, залил новые ip и имена пользователей, которые зашли в 1С.. и все! могу подключится к любому юзверю и не отслеживать смену их компов и ip
я бы даже двойной плюс поставил если бы можно было , мне это очень помогло!
7. Avalanche 199 02.02.12 17:46 Сейчас в теме
(6) amyd, рад, что помогло. Мне в свое время тоже этой информации не хватало. Что угодно был готов отдать за этот пример =)
8. fr.myha 27.03.12 12:15 Сейчас в теме
9. ekors 10 15.04.12 23:32 Сейчас в теме
Спасибо! Отличное решение для импорта из андроидных баз.
10. Yury1001 1470 14.07.12 21:39 Сейчас в теме
Спасибо. Теперь ещё бы создать базу SQLite format 3?
11. glime 106 18.07.13 12:38 Сейчас в теме
Всем привет, у меня почему то при подключение к БД, файл которой лежит на сетевой папки, выдает ошибку.
"Произошла исключительная ситуация (ADODB.Command): Для требуемой операции необходим объект OLE DB Session, не поддерживаемый текущим поставщиком." причем если локально, то все ок, что делать?
12. Dinara78 10.06.16 15:49 Сейчас в теме
Спасибо! Все просто и понятно!
13. ROM_1C 691 09.10.16 19:19 Сейчас в теме
А у меня ошибка file is encrypted or is not a database
Но файл открывается без проблем SQLiteStudio.
14. psa247 17 05.01.21 13:37 Сейчас в теме
(13) Пригодится: SQLite Database Browser - Примитивный просмотрщик этих баз данных, но умеет таблицы выгружать в текстовый файл с разделителями.
chemezov; user1503726; +2 Ответить
15. teembox 09.05.22 15:13 Сейчас в теме
Так и не понял смысл в функции SQLiteQuery(Запрос) сначала объявить переменную SQLiteRS в виде
SQLiteRS = Новый COMОбъект("ADODB.Recordset")
и сразу же перезаписать её на
SQLiteRS = SQLiteObject.Execute(Запрос).
16. user1052722 16.05.22 19:52 Сейчас в теме
Код не робочий. Переписал по своему.
Оставьте свое сообщение