Очередное открытие базы

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Доброго времени суток!
Сразу скажу... поиском уже пользовался, но ничего тогкового не нашел...
Суть проблемы в следующем... при открытии базы надо проверять с домашнего ли сервера пользователя она открывается, если нет - то переключить на базу с домашнего. Но не переоткрывать базу, а перенаправить запрос к базе на нужном сервере... вот к примеру как это делается в кластере.
Кто может что-нить посоветовать?
Особенно волнует вторая часть вопроса

ооо.... возник еще один вопрос... как получить текущий локейшн пользователя
 
K

Kee_Keekkenen

проще запретить открывать бд на всех кроме требуемого..

ну вот так можно изменить имя одно имя сервера на другое
Код:
If Not db.Open("","names.nsf") Then Exit Sub
Server = "имя сервера"
search = {SELECT @contains(@LowerCase(Destination);"} + Server +{")}	
Set coll = db.Search( search, Nothing,0)	
If coll.Count > 0 Then	
Call coll.StampAll("OptionalNetworkAddress", otherServer)
Call coll.StampAll("PhoneNumber",otherServer)		
End If

однако, это хорошо делать когда глобально переводятся пользователи с одного на другой..
в твоем случае нужно искать иные решения
 
A

Akupaka

1) попробуй закрыть доступ к недомашней базе...

2) попробуй читать переменную окружения Location, но на сколько она отвечает текущей... не пробовал ;)
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
ну читать переменную окружения не проблема... я даже по экспериментировал.... в этой переменной действительно сохраняется текущий Location
Только вот вопрос... как перенаправить запрос на нужный сервер
 
A

Akupaka

а ты пробовал с доступом?
по-идее, если пользователь открывает реплику с другого сервера, к которой он не имеет доступа, то клиент его сам перебросит на ту, к которой есть... хотя, я могу ошибаться...

а вообще, то задача не корректна на уровне который выделен нам как программерам, думаю,что надо рыть в сторону API, если вообще есть такая возможность - перенаправлять запросы подобные...
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
тогда такой вопрос, а возможно ли изменить иконук в воркспейсе? поменять ей ссылку на нужную мне
 
A

Akupaka

думаю, что эта иконка как-то соотносится с документом в базе desktop.ndk либо bookmarks.nsf
попробуй там порыть

а в чем смысл задачи вообще? :(
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
смысл в том, чтоб юзер мог открывать базу только на определенном сервере. и чтоб в иконке небыло возможности выбирать реплики на других серверах.
 
A

Akupaka

дык, для этого существует ACL
между серверами ACL не реплицировать, настроить как надо на каждом из серверов, и юзеры не смогут открыть "не ту" базу...
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Дело в том, что такой вариант не подходит :(
По крайней мере на этом этапе
 
A

Akupaka

просто, если с самого начала выкручиваться через жпу, то что же будет дальше? :(
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
дело в том, что система писана под заказ... и написана какраз через опу :)
и если сейчас все приводить к тому как оно должно быть - работа станет...

Ну а вобщем все понятно... будем думать
 
A

Akupaka

думать - это наше все... :)
удачного решения
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!