Имя: Пароль:
1C
1С v8
Запись в таблицу mssql
0 ttk
 
19.02.14
10:18
Сделал выборку из таблицы mySQL вот так:

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

теперь все эти записи надо записать в другую таблицу на mssql, как сделать это построчно знаю, но может есть решение без цикла?
з.ы. имена и типы колонок совпадают
1 Ёпрст
 
19.02.14
10:20
пробовать через
UpdateBatch
2 Ёпрст
 
19.02.14
10:22
а чорт, не то..
3 Ненавижу 1С
 
гуру
19.02.14
10:22
INSERT INTO ...
SELECT ...
FROM ...
4 butterbean
 
19.02.14
10:23
(0) имхо между соединениями не пролезет целый набор, так что только цикл
5 ttk
 
19.02.14
10:24
(3) а как мне передать эту таблицу, что бы ее в условие вставить?
6 Ненавижу 1С
 
гуру
19.02.14
10:24
(5) в секцию SELECT вставляешь свой запрос
то есть инсерт сразу, без выборки данных на клиента
7 ДенисЧ
 
19.02.14
10:26
Сервера разные, коннекты разные...
проще всего через цикл сделать.
Можно ещё поизвращаться через linked server
8 ttk
 
19.02.14
10:26
базы то разные, беру из mysql, а пишу в mssql
9 Ненавижу 1С
 
гуру
19.02.14
10:28
(8) тогда проще циклом в одной транзакции
10 D3O
 
19.02.14
10:29
поковырять в сторону промежуточного файла с плоской структурой (если данные позволяют). например csv
11 ttk
 
19.02.14
10:38
(10) позволяют, а что дальше с ним делать?
12 Серго62
 
19.02.14
10:38
(0) В качестве бредовой идеи (вдруг прокатит):
После получения данных подменить соединение НаборЗаписей.ActiveConnection на соединение с sql-сервером и записать этот набор данных.
13 D3O
 
19.02.14
10:40
(11) в mssql должна быть своя специфичная методика загрузки из файла с разделителями.
14 D3O
 
19.02.14
10:40
(12) скорее всего данные будут сброшены
15 Серго62
 
19.02.14
10:42
(14) Ну скорее всего да.
16 ttk
 
19.02.14
10:42
(9) в одной транзакции это как?
17 Ненавижу 1С
 
гуру
19.02.14
10:45
(16) это так
18 D3O
 
19.02.14
10:45
(9) эээ... транзакция 1С в данной ситуации никак не отразится на sql серверах
19 ttk
 
19.02.14
10:47
не знаю вот и спрашиваю как
"
(9)
  Ненавижу 1С
   (8) тогда проще циклом в одной транзакции
"
20 D3O
 
19.02.14
10:55
(19) циклом проще будет реализовать, через внешний файл - быстрее пройдет вся процедура на большом объеме данных.

Транзакция в 1С имеет отношение только к данным помещаемым в базу 1С. А ты фактически 1С-ку используешь просто как инструмент по переносу из одной СУБД в другую
21 ttk
 
19.02.14
10:57
да я это понимаю, просто хочу понять что имел ввиду Ненавижу1С в (9)
22 Господин ПЖ
 
19.02.14
10:58
настроить dts напрямую и "нажимать педаль" из 1с
23 Господин ПЖ
 
19.02.14
10:58
>Транзакция в 1С имеет отношение только к данным помещаемым в базу 1С. А ты фактически 1С-ку используешь просто как инструмент по переносу из одной СУБД в другую

если из 1с данные не подмешиваются - накуа тут 1с вообще...
24 ttk
 
19.02.14
11:09
(23)
Сейчас переношу старые данные, для новых строчек будут подмешиваться данные из 1с
Это журнал звонков АТС, к самому журналу есть доступ только на чтение, поэтому копирую записи в свой журнал с блэкджеком и шлюхами.


Перенес через цикл.
AdBlock убивает бесплатный контент. 1Сергей