Имя: Пароль:
1C
1C 7.7
v7: Запрос к SQLite
0 vsy
 
07.02.26
13:02
Вопрос к знатокам запросов
Есть задача из базы SQLite получить данные.
Скачал и установил драйвер  GM — драйвер ODBC для SQLite.
Подключаюсь к базе все в порядке. Через ADODB делаю простенький запрос к маленькой табличке.
ТекстЗапроса="SELECT * FROM account";
RecordSet.Open(ТекстЗапроса, БД_SQLite);
Запрос выполняется без ошибок.
Причем вижу RecordSet.RecordCount - 2 записи.
RecordSet.Fields.Count - 7 колонок.
Когда пробегаюсь по коллекции Fields получаю пустые значения.
Пока RecordSet.EOF() = 0 Цикл
Сообщить("запись "+RecordSet.Fields(0).Name+" - "+RecordSet.Fields(0).Value+"  "+RecordSet.Fields(2).Name+" - "+RecordSet.Fields(2).Value);
RecordSet.MoveNext();
КонецЦикла;
Не могу понять где ошибка. Попробовал получить тип колонок, все как положено показывает 1 - 20 и 6 - 203.
Подскажите где накосячил.
1 Ёпрст
 
гуру
07.02.26
13:06
(0) зачем это делать через жпо, когда есть 1csqlite?
2 vsy
 
07.02.26
13:08
База сторонняя, как с помощью 1csqlite  к ней подключиться?
3 Ёпрст
 
гуру
07.02.26
13:35
(2) точно так же, прописав путь до базы
4 vsy
 
07.02.26
13:46
Вот так БазаДанныхSQLite = СоздатьОбъект("SQLiteBase");
БазаДанныхSQLite.Открыть("Путь к базе");
5 vsy
 
07.02.26
13:59
Ёпрст спасибо. Все получилось с 1csqlite.
7 orefkov
 
11.02.26
11:41
(5)
Если вдруг на восьмерку занесёт, есть и для неё - https://github.com/orefkov/v8sqlite
8 opener
 
17.02.26
12:33
Аналогичная проблема. Из 8-ки в 7.7 нужно перетащить заявки аптек та товар. Аптек много, тащить нужно быстро...В 7.7 ,для своих баз,  мы сделали прямым запросом,  используя ADODB:
    ТекстЗапроса = "SELECT
    |Left(_1SJOURN.DATE_TIME_IDDOC,8) AS DataDoc,                  
    |_1SJOURN.DOCNO, _1SJOURN.ISMARK, _1SJOURN.CLOSED,
    |DH846.IDDOC,
    |DH846.SP838 AS SCLADID,
    |DH846.SP1420 AS POSTAVSHIK,   .... и т.д.
Работает года три уже...как часы

С 8-кой такое прокатит?
9 Ёпрст
 
гуру
17.02.26
12:38
(8) всё тоже самое
10 opener
 
17.02.26
12:42
Ок, спасибо... будем готовить отладочные базы для работв...
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.