|
v7: Как сделать такой обмен между 2-мя базами с помощью Sqlite с распараллеливанием процессов? | ☑ | ||
---|---|---|---|---|
0
FobusVGrunt
17.05.16
✎
15:15
|
Добывать данные через OLE из другой базы, медленно + различные ограничения (с длинными строками проблемы там и другие есть). Если попробовать так:
Через OLE подключаемся к нужной БД, там запускаем глобальную процедуру по выгрузки данных в БД Sqlite (через обработку ожидания). В основной базе подключаемся к этой же БД Sqlite и читаем данные. Сделать таблицу куда будут помещаться имена выгруженных видов объектов. Основная база мониторит эту таблицу и при появление новой строке начинает грузить таблицу. OLE процесс выгружает данные, основной процесс грузит. Какие ЗА и ПРОТИВ? Взлетит или нет? |
|||
1
Heckfy
17.05.16
✎
15:20
|
А чем РИБ не подходит?
|
|||
2
FobusVGrunt
17.05.16
✎
15:25
|
(1) Суть задачи немного другая, при переносе не которые реквизиты меняются, есть и другие моменты
|
|||
3
FobusVGrunt
17.05.16
✎
15:26
|
(1) + это разовые обмены, а не на постоянной основе
|
|||
4
Wern
17.05.16
✎
15:48
|
(3) Чем КД не подходит?
|
|||
5
FobusVGrunt
17.05.16
✎
15:51
|
(4) Что такое КД?
|
|||
6
Avalone2010
17.05.16
✎
15:51
|
(4)ее учить надо, велосипеды с оле намного веселее. Особенно когда после тебя приходит другой программист и разбирает их. Ох как ему весело!
|
|||
7
Avalone2010
17.05.16
✎
15:52
|
(5)конвертация данных.Конфигурация такая есть
|
|||
8
Valerik0101
17.05.16
✎
15:53
|
Взлетит. Против.
С сайтом один такой похожий обмен сделан, только через мсскуль. Работает. Насколько это целесообразно для обмена между базами 1С - есть сомнения, но взлетит если правильно сделать. |
|||
9
FobusVGrunt
17.05.16
✎
15:55
|
(8) Почему против ?
|
|||
10
Mikeware
17.05.16
✎
15:58
|
(0) подключайся как к внешней базе, метаданные присоединяй через 1с++, и тяни напрямую.
И да, класс "прямой запрос" вроде мог работать с другой базой тоже. |
|||
11
FobusVGrunt
17.05.16
✎
16:01
|
(8) Есть 3-основных подхода:
1)РИБ 2) Заходить в одну базу выгружать данные в промежуточный файл, заходить в другую загружать. 3) Через OLE Ну про КД нечего не могу сказать, незнаком. Чем такой нестандартных подход хуже, который я предложил. Пользователь запускает обработку в одной базе, без сложных настроек и беготни из одной базы в другую. + думаю скорость на порядок должна быть больше. Перебор ОЛЕТЗ-ки или ОЛЕ справочника в раз 10 медленей работает, чем не ОЛЕ |
|||
12
FobusVGrunt
17.05.16
✎
16:02
|
(10) Не совсем понятно "подключится как к внешней базе"
|
|||
13
Злопчинский
17.05.16
✎
16:04
|
(5) нахрена это самосвал в клюшках? я понимаю его использование в обменах 8-8 где восьмерчники схемы данных не знают/не помнят и за любым чихом в КД лезут...
|
|||
14
Mikeware
17.05.16
✎
16:06
|
(13) ну, при должном навыке - гораздо проще.
Ну и это уже стандарт, хочешь ты этого или нет. |
|||
15
ДенисЧ
17.05.16
✎
16:07
|
(13) Могу продать резиновую кувалдочку (сегодня в магазине видел).
|
|||
16
Mikeware
17.05.16
✎
16:09
|
||||
17
Mikeware
17.05.16
✎
16:09
|
(15) XNJ, GJ K,E&
|
|||
18
ДенисЧ
17.05.16
✎
16:13
|
(17) Составишь компанию? Одному там скучно
|
|||
19
FobusVGrunt
17.05.16
✎
16:23
|
(16) Тут для SQL версии по-моему только
|
|||
20
Mikeware
17.05.16
✎
16:25
|
(19) тут для метаданных. а уж используя подготовленный запрос, можешь обращаться и к чужой базе.
Ну и посмотри класс ПрямойЗапрос, там _вроде_ было сделано и для 1склайт, но не гарантирую |
|||
21
FobusVGrunt
17.05.16
✎
16:27
|
(20) ок спс
|
|||
22
Ёпрст
17.05.16
✎
16:29
|
(20) ошибаешься, скульлайт работает только в родной базе.
Если нужен для дбф запрос к сторонней базе, то всё лепится через фоксовый провайдер. И типизацию можно прикрутить, при желании и метапарсер будет работать и .. что хочешь. Ну и по большому счету, особой разницы нет, куда запрос лепить, в скулеву базу или дбф. |
|||
23
Mikeware
17.05.16
✎
16:31
|
(22) ну, через фоксу у тебя на страничке вроде пример есть, гуглится первым...
|
|||
24
Ёпрст
17.05.16
✎
16:32
|
(23) ээ.. а че за страничка ? :)
|
|||
25
Mikeware
17.05.16
✎
16:32
|
(24) "911" не твое?
|
|||
26
Ёпрст
17.05.16
✎
16:34
|
(25) не.. это вроде КонецЦикла делал, могу ошибаться
|
|||
27
Mikeware
17.05.16
✎
16:36
|
||||
28
Ёпрст
17.05.16
✎
16:37
|
А код, для синхронизации, валялся на форуме 1cpp, я его только модернизировал в своё время чутка.
|
|||
29
FobusVGrunt
17.05.16
✎
16:37
|
(0) Все равно хотелось бы услышать по теме. За и Против предложенного метода. + распараллелить выгрузку и загрузку
|
|||
30
Mikeware
17.05.16
✎
16:38
|
||||
31
Ёпрст
17.05.16
✎
16:39
|
Оле вообще зло.
Проще брать готовые решения. Уриб, например, для отслеживания изменений, МОД для отправки этих изменений. Усё. |
|||
32
Ёпрст
17.05.16
✎
16:40
|
ну, или просто взять мод, поправить там регистрацию в глобальничке(код чутка) и пользовать его
|
|||
33
Mikeware
17.05.16
✎
16:41
|
(31) Зло - это деньги. поэтому всегда зла не хватает. а оле - ну, что-то типа (30)
Не, использовать, конечно, можно. но нуегонафик |
|||
34
Ёпрст
17.05.16
✎
16:43
|
(33) не, ну разово, оля вполне себе, но на постоянной основе - в печь.
|
|||
35
FobusVGrunt
17.05.16
✎
16:46
|
(31) В моем примере ОЛЕ одну функцию глобальную запускает, а не лопатит всю базу. Такой обмен не постоянный, так что Уриб не катит. Перенести данные с одной БД в другую и месяц по-мониторить изменения в старой базе и обновить в новой.
|
|||
36
FobusVGrunt
17.05.16
✎
16:46
|
(30) Чтоб еще немного аргументированно
|
|||
37
Mikeware
17.05.16
✎
16:47
|
(34) разово -да. но и то если на одном сервере...
|
|||
38
Mikeware
17.05.16
✎
16:47
|
(36) опыт.
|
|||
39
Карупян
17.05.16
✎
17:00
|
(11) Варианты 1 и 2 по сути одно и тоже
|
|||
40
Карупян
17.05.16
✎
17:01
|
хочешь скорости - смотри в сторону сервисов веб или хттп илои одата
|
|||
41
aleks_default
17.05.16
✎
17:02
|
(35)А как отслеживать внесенные изменения будешь?
|
|||
42
Mikeware
17.05.16
✎
17:03
|
(39) ценность РБД - в автоматической регистрации...
|
|||
43
Mikeware
17.05.16
✎
17:04
|
(40) веб и прочее - толко если через какую-то прокладку типа серджиниевской компоненты для .нет
|
|||
44
FobusVGrunt
17.05.16
✎
17:53
|
(41) таблицу соотвествия создам в той же БД SQLite. Мне пока нужно отслеживать только новые объекты. две колонки ID старой базы и ID объекта в новой базе. В этой таблице хранить ID старой базы и соответ. ID новой. При появлении нового объекта в старой базе смотрит в этой таблице наличие с таким ID, нет создается новый
|
|||
45
aleks_default
17.05.16
✎
17:56
|
(44)Ну так а че бы не начать писать тогда уже свою "убийцу 1с"? Все равно уже полфункционала переписал.
|
|||
46
Djelf
17.05.16
✎
21:14
|
(44) Таблица соответствия пойдет, можно еще перехватчиком подписаться на на событие ПриЗаписи и сразу писать версию записи в sqlite из базы источника.
Вот только вытягивать данные из 100500 табличек через sqlite будет сложнее, чем через КД - придется создавать таблички. Должно взлететь. Но попарится придется. |
|||
47
4St
17.05.16
✎
21:44
|
Что-то с многопоточным обменом делали ребята из 2is. Можно их ещё погуглить.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |