Имя: Пароль:
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 на одной машине сделать - оказалось медленно - в итоге был сделан обмен файлами - клиент создаёт файл с данными запроса, а сервер его "кушает" и записывает файл ответа. Оказалось быстрее, потом базы разнесли по сети, конечно, пришлось включить сетевой доступ на двух машинах, но скорость не сильно снизилась.
Многопользовательский доступ ограничивался при помощи блокировки файла-флага.
Единственное, что нужно помнить - на удалённую машину передаётся сначала файл со временным именем, после того, как он туда гарантированно попал, его можно переименовать, чтобы другая сторона увидела, что файл "появился".
Ошибка? Это не ошибка, это системная функция.