Решено Локальная база - доступ

iivvnn

Active member
07.09.2011
37
0
#1
Хай. Уж так случилось что не пускают меня на сервак. Пишу локально.

Есть 2 локальные базы
агентом из одной базы создаю документ во второй (обе в сети лежат).

Как мне правильно "отпустить" вторую базу, что-бы другой пользователь (с правом редактор) смог сразу зайти в базу где создан документ и там править.
пишет, что процесс занят другим пользователем пока я не перегружу свой клиент
 

garrick

Lotus team
26.10.2009
911
61
#2
Локальная база она на то и называется "локальная", что лежит локально на вашем HDD и используется только вами. А "обе в сети лежат" - это уже без сервера никак не обойтись. Но вы можете поставить себе "локальный" сервер и дать к нему доступ другим пользователям.
 

iivvnn

Active member
07.09.2011
37
0
#3
я имею ввиду что они лежать не на сервере Domino, а на общем сетевом ресурсе - по этому и локальная.
Разворачивать локальий домино - не вариант
как после отработки агента скриптом отпустить вторую базу (без перезапуска клиента лотус) - как по аналогии с общим ексель файлом - один юзер поредактировал, закрыл - второй зашел.
 

rinsk

Lotus team
12.11.2009
904
44
#4
Если ну очень хочется шарить базу по сети и не хочется сервер - то можно)
В кратце технология такова - все базы лежат локально. - на сетевом ресурсе - их реплики. после изменений на локале - запускается скрипт, кот реплицируется с базой на сети...
Очередность реализуется файл-флагами на сети.
 

iivvnn

Active member
07.09.2011
37
0
#5
Я сейчас простой планктон. Админы такие бюрократы + сидят в другой стране: Хелло это Вася из Украины из отдела продаж - дайте мне доступ на сервак ваш доминошный я тут базку виложить хочу. ))
Пишу систему для себя, а то тут окрмя ексел никто ничего не знает.

Другой юзер вносит изменения уже в базе №2, которая в сети.
После завершения работы агента база №2 (где создается документ) мне не нужна (может даже около недели) - перезагрузка моего клиента решает вопрос - запустил агент, перезапустил клиент - юзер милости просим в другую базу. Но это как то криворуко. Вот и спрашиваю как оборвать концы программно[/QUOTE]
 

alexas1

Lotus team
10.04.2014
739
151
#7
Вот и спрашиваю как оборвать концы программно
странный вопрос: один нотус открыл базу и залочил естественно, другой нотус пытается открыть, видит флаг и футболит открытие (с месагой).
Значит надо разлочить: или закрыть первый клиент или использовать unlocker какойнить.
 

iivvnn

Active member
07.09.2011
37
0
#8
потому что через месяц все будут на тонких клентах
[DOUBLEPOST=1448361820,1448361728][/DOUBLEPOST]
странный вопрос: один нотус открыл базу и залочил естественно, другой нотус пытается открыть, видит флаг и футболит открытие (с месагой).
Значит надо разлочить: или закрыть первый клиент или использовать unlocker какойнить.
Так что нельзя приказать клиенту в моем случае забыть о базе, кроме как его рестартнуть?
 

rinsk

Lotus team
12.11.2009
904
44
#9
Самопальный репликатор на ReplicateWithServerExt может как только принять и\ил передать данные на шаровую базу (REPL_OPTION_SEND_NOTES \ REPL_OPTION_RCV_NOTES) так и оборвать сессию по REPL_OPTION_CLOSE_SESS...
 

iivvnn

Active member
07.09.2011
37
0
#11
Вам наверное лучше Microsoft Access попробовать.
Да можно конечно. Но лотусня роднее и уже все написано.
Но почему когда открыл базу в клиенте, потом закрыл ее - локальный файл базы все-равно еще держится мною и другой клиент не может ее открыть?
Может можно как то обнулить сессию с этой базой?
 

alexas1

Lotus team
10.04.2014
739
151
#12
Но почему когда открыл базу в клиенте, потом закрыл ее - локальный файл базы все-равно еще держится мною и другой клиент не может ее открыть?
потому, что это абсолютно правильная логика работы с локальными данными приложения, которое не умеет разруливать многопользовательский доступ к данным. Это работа аппликейшн сервера, которым клиент не является.
У "клиента", как раз, и стоит задача максимально изолировать локальные базы от внешних доступов, что бы не получить гемора. К тому же, кроме открытия базы в UI, она может быть открыта в дизайнере, может получить к ней доступ скрипт из другой базы. Что в этом случае делать клиенту?
 

iivvnn

Active member
07.09.2011
37
0
#13
потому, что это абсолютно правильная логика работы с локальными данными приложения, которое не умеет разруливать многопользовательский доступ к данным. Это работа аппликейшн сервера, которым клиент не является.
У "клиента", как раз, и стоит задача максимально изолировать локальные базы от внешних доступов, что бы не получить гемора. К тому же, кроме открытия базы в UI, она может быть открыта в дизайнере, может получить к ней доступ скрипт из другой базы. Что в этом случае делать клиенту?
Да все это понятно и известно.
Но если клиент получил доступ к локальной базе при ее открытии то он так же должен (я так думаю) эту монополию на базу и отдать с помощью какой то команды (его же команды). Неужели только перезапуск?

Если лежит в сети (файл сервер) файл ексель - после его закрытия любой другой пользователь (имеющий к нему доступ) может его отредактировать и сохранить. Т.е. работа "по очереди" - кто первый того и тапки.

То же и у меня. Мне не нужно держать базу день открытой и постоянно че то там править - нужно создать по шурику агентом (агент работает в другой базе) пару документов в какой то локальной базе , закрыть ее и забыть (без перезапуска клиента). И когда другой юзер лезет в эту базу ему не ругалось что кто-то ее там держит
 

iivvnn

Active member
07.09.2011
37
0
#14
База держится только тогда, когда открыта вкладка рабочей области - а этой уже лучше. Не надо перезапускать клиент а просто закрыть рабочую область ))
 

savl

Lotus team
28.10.2011
2 136
105
#15
@iivvnn, можно добавить базу в закладки слева и забыть про рабочую область.