Имя: Пароль:
1C
1C 7.7
v7: Как передать список значений для поставщика данных ODBCDataProvider.MSSQL
0 Herby
 
19.02.15
12:45
Задал вопрос на форуме 1сpp. никто не ответил, может как-то криво я объяснил :-/


Использую следующую связку:

ТабличноеПоле + Поставщик: "ODBCDataProvider.MSSQL"

Часто возникает необходимость передавать в условие запроса
СписокЗначений, но метод УложитьСписокОбъектов() для
данного поставщика не работает.

Метод УложитьСписокОбъектов() работает только для объекта
"ODBCRecordSet".

В принципе не проблема и самому уложить список во временную
таблицу, но проблема в том, что если в текст запроса добавлю
декларирование временной таблицы и ее заполнение из моего
СпискаЗначений, то часть этого запроса как будто не сохраняется.

Т.е. если включить режим отладки, то мой вставленный блок
декларирования временной таблицы отсутствует.

Что делать?

Пока остается вариант - из списка формировать строку с
разделителями, и использовать ее в операторе IN.

Но этот вариант не очень хотелось бы, потому что список может
быть огромный, строка раздуется и может сработать ограничение
на количество символов в строке.
1 Ёпрст
 
19.02.15
13:08
2 Herby
 
19.02.15
13:18
(1) премного благодарен...

надо устроиться на курсы обучения гуглопоиском((
вчера весь день потратил на поиски, но ни одна гугловыдача не дала желаемую ветку (
3 Ёпрст
 
19.02.15
13:22
(2) та ну.. твой вопрос ищется за 2 минуты..
твоя хотелка site:http://www.1cpp.ru/forum/
и привет
4 ADirks
 
19.02.15
13:24
(0) в данном случае вариант "из списка формировать строку с разделителями, и использовать ее в операторе IN" наиболее предпочтителен
всякие ВТ - нафик
5 Ёпрст
 
19.02.15
13:30
Ну, если список мааааленький, то пользуем это
http://www.1cpp.ru/docum/icpp/html/ODBC.html#getstringinvl
6 Ёпрст
 
19.02.15
13:30
(4) ну, ТС говорит за.. огромный список. Тут хз, как без временной обойтись
7 ADirks
 
19.02.15
13:33
(6) а, ну если может в 64К не влезть, тогда конечно  :))
а так, я проверял на нескольких десятках тысяч значений - с константой слегка быстрее, даже если кластерный индекс на ВТ наворачивать
Независимо от того, куда вы едете — это в гору и против ветра!