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

28.12.11

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
SQLite3 ODBC Driver
.exe 3,18Mb
106
106 Скачать (1 SM) Купить за 1 850 руб.

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

См. также

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

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

120000 руб.

19.08.2020    26676    26    1    

28

Внешние источники данных Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Готовая интеграция для управляемых форм. Встраивается в вашу 1С как расширение. Реализует автоматический обмен данными между 1С (1С:Фитнес клуб и аналогов) и СКУД RusGuard, автоматизирует бизнес-процессы по созданию и учету сотрудников в СКУД. Значительно упрощает работу специалистов отдела кадров и отдела безопасности: избавляет от двойного ввода информации в 1С и СКУД.

94999 руб.

11.07.2024    1347    1    0    

3

Розничная торговля Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Бухгалтерский учет 1С:Бухгалтерия 3.0 Фармацевтика, аптеки Россия Бухгалтерский учет Платные (руб)

Внешняя обработка загрузки данных из файла-выгрузки, сформированного в программе F3 TAIL версии 3.4 (и выше) или еФарма версии 2.1, в базу конфигурации 1С: Бухгалтерия предприятия 8, ред. 3.0 (базовая, ПРОФ, КОРП, ФРЕШ).

13200 руб.

19.12.2016    48791    99    106    

70

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

Представлена обработка для импорта документов из розничной программы учета товара в торговых точках и аптеках, необходимых для ведения бухгалтерского и налогового учёта, в Бухгалтерию 3.0. При загрузке данных в бухгалтерию переносятся документы поступлений, реализации, возвратов и перемещений в торговых точках и формируются все бухгалтерские и налоговые отчеты с учетом этих документов для любой системы налогообложения. Обработка позволяет загрузить данные из ПО ТрейдФарм. Имеются варианты для других розничных программ (ПО Manuscript Solution, Е-Фарма и S-Market).

18000 руб.

09.04.2020    18728    13    8    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. orefkov 1156 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 676 29.12.11 11:08 Сейчас в теме
Посмотрите мою статью "Функции для хранения рисунков в отдельной базе MSSQL в varbinary с помощью ADODB", там выложены функции для работы с MSSQL. Замените строку подключения на свою и будет работа с SQLite.
chemezov; +1 Ответить
4. Avalanche 199 29.12.11 23:46 Сейчас в теме
Если лень искать в интернете, то драйвер прикреплен к публикации.
5. JohnyDeath 302 05.01.12 13:17 Сейчас в теме
Есть очень хорошая ВК по работе с базами Sqlite в 1С от Александра Орефкова http://infostart.ru/public/15977/
Не знаю работает ли она в 8.Х
6. amyd 93 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 1473 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 692 09.10.16 19:19 Сейчас в теме
А у меня ошибка file is encrypted or is not a database
Но файл открывается без проблем SQLiteStudio.
14. psa247 21 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 Сейчас в теме
Код не робочий. Переписал по своему.
Оставьте свое сообщение