Имя: Пароль:
1C
1C 7.7
v7: Подключение по ОЛЕ к удаленной БД
, ,
0 Diter
 
15.01.14
12:16
Доброго дня коллеги. Встала в полній рост задача - помогите решить

Есть БД расположенная на сервере (2003). Доступ из магазина клиента к ней организован по РДП (на стороне сервака белый IP на роутере и происходит проброс порта на сервак). На компе магазина тоже есть своя локальная БД.

Задача - из локальной БД получить доступ по ОЛЕ к удаленной БД. реально? Что то можно придумать? или таки прийдётся IPSec мутить?
1 Diter
 
15.01.14
12:29
ап мало ли
2 Diter
 
15.01.14
14:04
что ни у кого ни каких мыслей? печально....
3 ALoHA
 
15.01.14
14:29
Что есть удаленная БД?
4 DeiMos
 
15.01.14
14:32
А в чём отличие в подцеплении по ОЛЕ локальной и удалённой базы?

Лишь бы она (база) была в списке баз на данном компе...
5 Diter
 
15.01.14
16:47
(4) не может быть её на этом компе в принципе. Подключение к ней по РДП
(3) база на сервере стоящем в другом месте (офисе)
6 ДенисЧ
 
15.01.14
16:48
vpn поднимай.
7 Diter
 
15.01.14
16:57
(6) ну если другого варианта нет - прийдётся. думал можно как то извернуться
8 пипец
 
15.01.14
17:07
если кстати скорости будут интересные то оля еще такого шороху даст шо ой ей
9 Diter
 
15.01.14
17:33
(8) ???

мне что надо - есть общая база бонусных карт. и сеть магазинов с локальными базами. надо сделать доступ из локальных баз к базе бонусов, лежащей на отдельном сервере в офисе сети
10 Builder
 
15.01.14
17:50
(9) Ну эту задачу можно решить несколькими способами.
VPN кстати полюбому обязателен.
1. Если база SQL - сделать прямой запрос из базы магазина.
2. В зависимости от периодичности обновления бонусов формировать например DBF файл с картами и бонусами и автоматом копировать во все магазины. Поиск бонусов сделать в этом файле.
Делал когда то оба способа, первый для получения остатков по товару во всех магазинах, второй как раз для накопленных баллов/ скидок.
11 Diter
 
15.01.14
18:08
(10) меня волновал только способ добирания до базы. Ну раз без впн никуда - будем поднимать его родимого.
12 Builder
 
15.01.14
18:12
(11) Не ну можно конечно SQL наружу выставить, если база на нем... но я бы не рискнул :)
13 Diter
 
15.01.14
18:21
(12) это исключается
14 Builder
 
15.01.14
18:24
(13) А нужно именно по OLE подключаться к базе?
15 Diter
 
15.01.14
18:28
(14) самый простой и быстрый вариант. обмен файлами неэффективен
16 Builder
 
15.01.14
19:15
(15) Самый простой и быстрый вариант - прямой запрос. Но это если база SQL.
17 acsent
 
15.01.14
19:17
vpn
18 Ёпрст
 
15.01.14
19:25
(16) формат базы для прямого запроса не имеет значения.
19 Torquader
 
15.01.14
22:34
DCOM позволяет удалённо, но нужно, чтобы компьютеры были в одной сети (рабочая группа или домен), так как DCOM работает через RPC и требует сетевого подключения Windows.
Наиболее удачно - на сервере сценарий, который отвечает на запросы клиента.
P.S. если DCOM и отработает, то окна выбора списка товаров и т.п. будут создаваться на сервере (а оно там явно не надо).
20 1dvd
 
16.01.14
07:34
(18) имеет. Запросы надо по разному писать :)
21 ЧеловекДуши
 
16.01.14
07:39
(0) УРБД, выгрузка, прием в центре, и уже в центре через ОЛЕ :)
22 ЧеловекДуши
 
16.01.14
07:40
(20) Нет ;)
23 ЧеловекДуши
 
16.01.14
07:42
24 Torquader
 
16.01.14
11:34
Вообще-то, перед обсуждением механизма сначала нужно узнать, для чего нужно подключаться к базе.
25 ЧеловекДуши
 
16.01.14
11:42
(19) Т.е. проще говоря нужно отличный канал
Ещё дополнительно поднять ВПН :)
26 CTmuB
 
16.01.14
11:51
Через РДП в вообще никак это малость не из той оперы
Однозначно ВПН, ВПН и ещё раз ВПН
27 Torquader
 
16.01.14
11:52
(25) Канал может быть любой, МЗТ нужен только для надёжности.
Но на свойствах сетевой карты придётся включать "клиент для сетей Microsoft" - иначе не взлетит.
Просто, весь геморрой, связанный с этим "клиентом" в двух словах не перескажешь.
Поэтому, проще написать имитацию Web-сервиса или что-то подобное, чтобы изолироваться от качества канала и происходящих ошибок.
Также надо понимать, что удалённый вызов делается с передачей всех параметров на каждый вызов функции, что накладывает ограничения на скорость.
28 Torquader
 
16.01.14
11:56
P.S. я пытался обмен данными по OLE на одной машине сделать - оказалось медленно - в итоге был сделан обмен файлами - клиент создаёт файл с данными запроса, а сервер его "кушает" и записывает файл ответа. Оказалось быстрее, потом базы разнесли по сети, конечно, пришлось включить сетевой доступ на двух машинах, но скорость не сильно снизилась.
Многопользовательский доступ ограничивался при помощи блокировки файла-флага.
Единственное, что нужно помнить - на удалённую машину передаётся сначала файл со временным именем, после того, как он туда гарантированно попал, его можно переименовать, чтобы другая сторона увидела, что файл "появился".