Ошибка Command.Execute в 1С 8.3.19

1. SapowAA 16.08.21 11:28 Сейчас в теме
В базе выполняется синхронизация со свободными таблицами dbf (запись, обновлние, удаление) с помощью "Advantage OLE DB Provider" v.11
	
СтрокаПодключения="Provider=Advantage OLE DB Provider; Data Source=D:\BASE; ServerType = ADS_LOCAL_SERVER; TableType = ADS_ANSI ; CharType = ADS_VFP; LockMode = ADS_COMPATIBLE_LOCKING";
Соединение = Новый COMОбъект("ADODB.Connection");
Соединение.Open(СтрокаПодключения);

СтрокаЗапрос = "SEL ECT * FR OM spz";

Command = Новый COMОбъект("ADODB.Command");
Command.ActiveConnection = Соединение;
Command.CommandText = СтрокаЗапрос;     

RecordSet = Новый COMОбъект("ADODB.RecordSet");
RecordSet = Command.Execute();

//работа с RecordSet (помещение результата выполнения запроса в ТЗ)

RecordSet.close();
Соединение.close();
Показать


В версии 8.3.16.1026 все отрабатывало нормально, при переходе на версию 8.3.19.1150/1229 отрабатывает один раз либо ни разу, останавливаясь на строке "RecordSet = Command.Execute();".
При этом ошибки не выдает.
Найденные решения
12. SapowAA 21.02.22 19:30 Сейчас в теме
(10) установил параметр ServerType в значение "ADS_REMOTE_SERVER", только сервер Advantage, агент 1с и базы dbf должны быть на одном сервере
Если будут на разных временами на больших базах будут те-же проблемы
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. BackinSoda 16.08.21 11:32 Сейчас в теме
(1) "SEL ECT * FR OM spz"; может пробелы убрать тут
3. SapowAA 16.08.21 11:39 Сейчас в теме
(2) Запрос нормальный, портал исправил сам (защита от SQL инъекции)
4. alxarz 31 16.08.21 11:45 Сейчас в теме
(3) А в отладчике тоже не проходит? Что-то возвращается в RecordSet ?
5. SapowAA 16.08.21 11:48 Сейчас в теме
(4)В отладке также зависает при проходе строки "RecordSet = Command.Execute();"
6. alxarz 31 16.08.21 11:54 Сейчас в теме
(5) Видимо поэтому и ошибки не выдаёт, потому что зависает...
А если запрос изменить на "SEL ECT * FR OM spzqqq" ? Если тоже зависает, может переустановить "Advantage OLE DB Provider" ?
7. SapowAA 16.08.21 11:59 Сейчас в теме
8. SapowAA 17.08.21 17:30 Сейчас в теме
(6) Не помогло
полностью удалили и поставили драйвер, пере удалением драйвера, остановил агент-сервер, после удалил драйвер, вновь поставил и запустил агент сервер
9. Mirit 21.02.22 11:37 Сейчас в теме
(8) Удалось решить проблему? У меня тоже зависает advantage на платформе 8.3.20.1710. На платформе 8.3.18.1208 такой проблемы не было
11. SapowAA 21.02.22 19:15 Сейчас в теме
(9) новость конечно, собираемся переходить на эту версию на этой неделе - на тестах проблем вроде нет
Спорным решением является установка параметра ServerType в значение "ADS_REMOTE_SERVER"
Спорное оно т.к. сервер Advantage, агент сервер 1с и базы должны находится физически на одном сервере
Если Advantage с базами будет находится на одном сервере а агент 1с на другом возникают риски все тех же зависаний
10. winapi 60 21.02.22 11:49 Сейчас в теме
А попробуйте выполнить какой-нибудь другой запрос, обычно такие зависания бывают когда система пытается на запрос ответить каким-то интерактивным действием и просто ждет реакции. Надо убедиться что проблема не в запросе для начала. Если проблема не в нем, то скорей всего в параметрах подключения. Вы сами пишите что запрос 1 раз выполняется, возможно вы открываете файл не только на чтение.
12. SapowAA 21.02.22 19:30 Сейчас в теме
(10) установил параметр ServerType в значение "ADS_REMOTE_SERVER", только сервер Advantage, агент 1с и базы dbf должны быть на одном сервере
Если будут на разных временами на больших базах будут те-же проблемы
13. Mirit 20.04.22 17:15 Сейчас в теме
Написал в техподдержку 1с по поводу этой проблемы advantage, ответ ниже
Ответ 1с 0: "Посмотрели дамп. Платформа 1С запустила COM Advantage 11.10 и вызвала "ЗагрузкаНакладныхНаСервере". После чего компонента Advantage выдала диалоговое окно (DialogBox). Что именно она там спрашивает установить не удалось, данных по этой компоненте у нас нет. Но никаких диалоговых окон быть не должно, это же серверный процесс, именно из-за этого и "висит" соединение."
После этого попробовал на файловой версии на платформе 8.3.20.1710, при открытии соединения выводится ошибка, прикрепил к сообщению.
Ответ 1с 1:
"Вот, теперь есть ясность. В процессе работы компоненты произошла критическая ошибка (исключение).
При этом платформа 1С ожидает от неё ответ, но ответа соответственно нет. Поэтому с данной проблемой стоит обратиться к разработчику компоненты.
Как вариант, стоит проверить обрабатываемые компонентой данные. Возможно падение происходит именно из-за данных. Или попробуйте обновить (или понизить) версию Advantage."

В общем, ясности по-прежнему нет. Проверял так же на advantage 12, ошибки такие же
Всё равно не понятно почему тогда на платформе 8.3.18.1208 при той же версии advantage на том же сервере ошибок никаких нет
Прикрепленные файлы:
e-its; SapowAA; +2 Ответить
14. Mirit 23.04.22 22:02 Сейчас в теме
В общем, техподдержка не признала косяк в платформе, хотя я снял видео как одновременно работает на платформе 8.3.20.1789 при разрядности запуска х86 и не работает на той же платформе при разрядности запуска х64. Сообщили, что косяк у провайдера и отправили к разработчику advantage
15. laperuz 46 24.04.22 06:12 Сейчас в теме
(14)Ну если компонента 32-битная, логично, что она не будет работать на 64-битной платформе.
16. Mirit 24.04.22 08:39 Сейчас в теме
(15) Драйвер провадера установлен и под х86 и под х64, естественно. На 8.3.18.1208 работает при любой разрядности, если установлен драйвер провайдера соответствующей разрядности
17. gusen_it 6 02.08.23 08:23 Сейчас в теме
у меня такая же проблема. https://photo-screen.ru/i/j8U0EdLVt
1с вообще отваливается платформа 8.3.19
18. SapowAA 02.08.23 16:31 Сейчас в теме
(17) а что за команда помещена в параметр "CommandText", не совсем понимаю?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот