ADODB.Connection записать таблицу значений #673400


#0 by MiniMuk
В 1с запросом получаю набор данных, хочу сохранить во внешнюю таблицу. //Подключаюсь  к базе хочу сохранить таблицу, как можно сделать кроме [/1c] Какаятострока  ="insert into " + КакаятоБаза + ".dbo.КакаятоТаблица (Поле1,Поле2)     Кроме как формировать Какаятострока   в цикле есть еще способы? СП по функциям ADODB.Connection есть читаемая?
#1 by shuhard
Insert такой возможности не представляет, только Select
#2 by MiniMuk
Запрос я формирую в терминах 1с. Тоесть у меня там полноценные ссылки, перечисления, значения. На выходе  плоская таблица для excel. Было бы проще конечно весь запрос поместить в insert
#3 by shuhard
используй булк, то ни какой гарантии, что это будет быстрее нет
#4 by MiniMuk
это что? пни в сторону? мне не обязательно быстрее, это будет регламетное задание раз в сутки. просто боюсь записей будет много строка запроса ну ооочень длинная получиться
#5 by shuhard
откуда много строк, строка одна, выполняемая в цикле
#6 by tplink741nd
а зачем в цикле делать?
#7 by MiniMuk
ну к примеру я получил запросом 2222 строки. у меня в inser секция values  будет 2222 скобок  values ('Значение1', 'Значение2'), ('Значение2', 'Значение4' )('Значение1', 'Значение2'), ... 2222 раза
#8 by Серго62
Не знаю поможет или нет, но есть объект ADO.Recordset с ним можно работать почти как с таблицей значений. Почитать можно здесь
#9 by tplink741nd
можно это делать так insert табл1 (поле1, поле2, поле3) select поле1, поле2, поле3 from табл1 т.е. селектом ты получаешь 2222  строк а верхний инсерт их сразу пихает в нужную таблицу, как-то так
#10 by shuhard
ещё раз что мешает сделать 2222222 Insert по одной строке, а не один на 222222 строк ?
#11 by tplink741nd
для чего это делать?
#12 by tplink741nd
по одной строке?
#13 by tplink741nd
в ошибся  - в селекте естественно указывается таблица из которой нужно читать данные, а в инсерте таблица - в которую записывать
#14 by MiniMuk
inser в АДО а селект в 1с? ничего не смущает
#15 by MiniMuk
Тоже вариант, просто нухочется не влоб задачу, заодно ченибудь новое узнать. Пойду читать можно ли собственно как данные из  ADO.Recordset  читать понятно, а можно ли туда запихать пойду читну
#16 by Серго62
Можно и читать и добавлять
#17 by ДенисЧ
Мешает ограничение на размер запроса в адо... переходи на 77, там эо реализовано
#18 by MiniMuk
Клево, почти закончили переход на 8.2 а тут, вау, на 7.7 такая плюшка есть, айда обратно?! 7.7 ну подтупливала сильно
#19 by MiniMuk
я ПОДОЗРЕВАЛ что есть ограничение
#20 by shuhard
[Мешает ограничение на размер запроса в адо... ] открой для себя метод AddNew
#21 by Jaap Vduul
2000 строк - это не много, можно и циклом по одной строке. Когда строк действительно много, то данные из 1цэ сохраняем в текстовый файл, а через ADO вызываем bulk insert - будет очень быстро.
#22 by ДенисЧ
Имеется в виду - сформировать один запрос на всю базу. Вот тут-то и...
#23 by Jaap Vduul
Видимо, имелось в виду запихать все 2000 инсертов в один батч.
#24 by shuhard
булк предложен в =)
#25 by MiniMuk
можно кратенький пример?
#26 by MiniMuk
Много это сколько? сейчас пытаюсь представить масштабы происходящего
#27 by Jaap Vduul
over 9000
#28 by MiniMuk
Оромное, просто шикарно
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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