ADODB.Command пытаюсь выполнить запрос UNION +? + 2*FROM, но получаю ошибку #723879


#0 by TormozIT
Сразу после установки этого текста в объект Command обращаюсь к его свойству Parameters.Count и получаю исключение (-2147467259 неверный синтаксис около конструкции ".2") Если же я делаю тоже самое с запросом или или то исключения не возникает. Акцентирую еще раз, что речь идет даже не о выполнении запроса, а о конкретно вычислении свойства Parameters.Count сразу после установки текста запроса. Т.е. код примерно такой Варианты явно встраивать в текст константу и выполнять запрос по частям понятны, но интересует именно озвученная проблема. Возможно тут какой то баг в драйвере? Или я просто чего то не знаю? Научите пожалуйста =) Пробовал 2 провайдера Поведение одинаковое и описание ошибки тоже.
#1 by Dmitry1c
что за f?
#2 by TormozIT
Забыл сразу указать, что речь про выполнение запроса в MSSQL из 1С. f и t - псевдонимы поля и таблицы.
#3 by dk
тоже недавно не смог победить UNION и параметрированный запрос хотя мне условие нужно было добавить в обе ветки uniona
#4 by Mordor_1C
Чтобы получить количество параметров их сначала надо добавить. )
#5 by Ёпрст
мот алиясы разные попробовать в юнионе ?
#6 by TormozIT
Это не объясняет РАЗНИЦУ в поведении описанных вариантов запроса.
#7 by TormozIT
пробовал без алиасов. Поведение не меняется.
#8 by Ёпрст
всякие сетнокоунт он/офф  не могут влиять ?
#9 by Mordor_1C
Объясняет причину, по которой появляется " (-2147467259 неверный синтаксис около конструкции ".2") "
#10 by Mordor_1C
И что показывает Parameters.Count для запроса?
#11 by TormozIT
0 показывает для всех успешных вариантов
#12 by Mordor_1C
И запрос. выполняется если убрать Parameters.Count?
#13 by Дык ё
с провайдером MSDASQL работает автоопределение критично? попробуй руками добавить:
#14 by TormozIT
Нет. Парсинг текста внутри объекта Command похоже выполняется при первом обращении к одному из свойств, в список которых входит Parameters. Поэтому его я указал для отсечения дополнительных возможных причин проблемы.
#15 by TormozIT
Автоопределение не нужно. Параметр добавляю как раз через CreateParameter. С MSDASQL не пробовал. Спасибо, поразбираюсь с ним.
#16 by Mordor_1C
А если хранимую процедуру создать в MSSQL и вместо запроса на объединение ее вызывать?
#17 by TormozIT
У меня может не быть прав на создание хранимых процедур. Нужно именно запросом.
#18 by Torquader
При присваивании Command система должна выполнить Prepare и установить число параметров. Parameters.Count в этом случае должно быть доступно только на чтение. Самый главный вопрос - он умеет вообще объединять вложенные запросы ?
#19 by TormozIT
Если заменить вложенные запросы именами таблиц, то ситуация не меняется.
#20 by Fragster
кто-нибудь победил глюки с асинхронным выполнением, когда параметры одного выражения влияли на другое? я чуть не поседел, отлаживая... пришлось отказаться от асинхронности, что привело к увеличению времени обработки в 3 раза :(
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С