Имя: Пароль:
1C
 
7.7 не подключится к базе "Microsoft Visual FoxPro Driver"
0 Zoeh
 
24.01.22
16:40
ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"1cpp.dll");
БазаДанных = СоздатьОбъект("ODBCDataBase");
БазаДанных.Соединение("
|DRIVER=Microsoft Visual FoxPro Driver;
|Deleted=No;
|Null=No;
|Collate=RUSSIAN;
|BackgroundFetch=No;
|Exclusive=No;
|SourceType=DBF;
|SourceDB=" + КаталогИБ());
РекордСет=СоздатьОбъект("ODBCRecordset");
РекордСет.УстБД(БазаДанных);


.........

РекордСет.УстБД1С();
ТекстЗапроса = "
|SELECT
| Спр.Code as Код,
| Спр.Descr as Наименование
|FROM
| $Справочник.Номенклатура as Спр";

ТЗДолгов = РекордСет.ВыполнитьИнструкцию(ТекстЗапроса);

Сообщить(ТЗДолгов);
Сообщить(типЗначенияСтр(ТЗДолгов));


=
0
Число


ИБ=СоздатьОбъект("ODBCDataBase");
ИБ.ПрисоединитьИБ("\\server\КаталогИБ\");
рс=СоздатьОбъект("ODBCRecordset");
рс.УстБД(ИБ);
Результат=рс.ВыполнитьИнструкцию(ТекстЗапроса);

данный вариант валит в ошибку
State IM001, native 0, message [Microsoft][Диспетчер драйверов ODBC] Драйвер не поддерживает данную функцию
1 Ёпрст
 
гуру
24.01.22
17:52
(0) Формат базы какой ? ДБФ или SQL ?
2 Zoeh
 
24.01.22
18:11
DBF
3 Ёпрст
 
гуру
24.01.22
18:53
(2)
С этого и надо было начинать.
Для дбф нужно использовать vfpoledb , там другая строка подключения и чутка отличный синтаксис запросов + нет виртуальных табличек остатков и т.д.
4 Ёпрст
 
гуру
24.01.22
18:55
и, для скорости, если используется фокс, нужно правильно писать условия и соединения в тексте запроса, что б использовался нужный индекс.

А так, в твоём случае, проще писать через использование sqllite