|
Как не допустить повторного запуска приложения с сетевого диска?
|
|||
---|---|---|---|
#18+
Имеется разделенная база, обе части лежат на сетевом диске в одной директории, пользователи могут запускать базу с разных компьютеров, но нужно, чтобы приложение мог запустить только один пользователь одновременно. Решения на поверхности: 1. Запуск приложения в exclusive mode через ярлык - не удобно, т.к у разных пользователей могут быть разные пути к сетевому диску. 2. Включить эксклюзивное открытие приложения по умолчанию в опциях - не подходит, т.к. есть другие приложения, которые должны быть открыты в Shared mode 3. Запуск приложения в exclusive mode через запускающее приложение, которое открывает базу через OpenCurrentDatabase. Тут вроде бы работает, но не хочется городить огород с API функциями для активации открытого приложения - без этого иконка приложения в таскбаре моргает и нужно кликать мышью по окну, да и некрасиво, когда дважды мелькает главное окно. 4. Полагаться на наличие .laccdb файла не хочу по известным причинам. Есть еще какой-нибудь подходящий способ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 13:59 |
|
Как не допустить повторного запуска приложения с сетевого диска?
|
|||
---|---|---|---|
#18+
VolunteerИмеется разделенная база, обе части лежат на сетевом диске в одной директории, пользователи могут запускать базу с разных компьютеров, но нужно, чтобы приложение мог запустить только один пользователь одновременно. Странно. Если разделили, то база на сервере расшариная, а клиенты на клиентах. А так у вас какоето недоразделение. При открытии поставте монопольный доступ. Только зачем этот геморой? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 14:13 |
|
Как не допустить повторного запуска приложения с сетевого диска?
|
|||
---|---|---|---|
#18+
ROI, База разделена только для того, чтобы можно было легко подсовывать разные наборы данных, все хранить в одной базе уже не получается из-за 2Гб ограничения. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 14:23 |
|
Как не допустить повторного запуска приложения с сетевого диска?
|
|||
---|---|---|---|
#18+
ROIПри открытии поставте монопольный доступ. Так вот как его поставить правильно? 3 описанных мной способа не совсем хороши. В идеале если бы можно было из самого приложения переключиться в монопольный режим, но я не нашел как. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 14:34 |
|
Как не допустить повторного запуска приложения с сетевого диска?
|
|||
---|---|---|---|
#18+
VolunteerROIПри открытии поставте монопольный доступ. Так вот как его поставить правильно? 3 описанных мной способа не совсем хороши. В идеале если бы можно было из самого приложения переключиться в монопольный режим, но я не нашел как. Ну для начала версия Access. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 14:45 |
|
Как не допустить повторного запуска приложения с сетевого диска?
|
|||
---|---|---|---|
#18+
ROI, 2010 и выше ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 14:49 |
|
Как не допустить повторного запуска приложения с сетевого диска?
|
|||
---|---|---|---|
#18+
MrShin2010 и выше Не туда написал, сорри. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 14:51 |
|
Как не допустить повторного запуска приложения с сетевого диска?
|
|||
---|---|---|---|
#18+
ROIНу для начала версия Access. 2007 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 14:53 |
|
Как не допустить повторного запуска приложения с сетевого диска?
|
|||
---|---|---|---|
#18+
VolunteerROIНу для начала версия Access. 2007 Меню Файл->Параметры->параметры клиента монопольный доступ.(это для 2010) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 14:57 |
|
Как не допустить повторного запуска приложения с сетевого диска?
|
|||
---|---|---|---|
#18+
ROIМеню Файл->Параметры->параметры клиента монопольный доступ.(это для 2010) Так ведь эта опция не специфична для текущей базы, а распространяется на любую открываемую базу. Это нужно будет ходить по всем рабочим местам и менять эту опцию, и мне не нужно открывать в монопольном доступе другие приложения, только это. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 15:12 |
|
Как не допустить повторного запуска приложения с сетевого диска?
|
|||
---|---|---|---|
#18+
VolunteerROIМеню Файл->Параметры->параметры клиента монопольный доступ.(это для 2010) Так ведь эта опция не специфична для текущей базы, а распространяется на любую открываемую базу. Это нужно будет ходить по всем рабочим местам и менять эту опцию, и мне не нужно открывать в монопольном доступе другие приложения, только это. Я не понял у вас клиент и серверная база или как? Дык в ярлыке пропишите ключ для монопольного открытия. А зачем все это. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 15:19 |
|
Как не допустить повторного запуска приложения с сетевого диска?
|
|||
---|---|---|---|
#18+
ROI, Я не могу сделать один на всех ярлык - там нужно прописывать полный путь и к msaccess.exe и к приложению, а это у каждого рабочего места может быть разным. База хоть и состоит условно из 2-х частей, но вторая часть - это набор данных, который пользователь может выбирать из списка и подключать, создавать новые, грузить в них данные из внешних файлов для анализа. Я тоже не совсем понял, зачем нужно такое ограничение заказчику, но делать надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 15:31 |
|
Как не допустить повторного запуска приложения с сетевого диска?
|
|||
---|---|---|---|
#18+
Volunteer, у объекта ADO.Connection есть свойство Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 15:48 |
|
Как не допустить повторного запуска приложения с сетевого диска?
|
|||
---|---|---|---|
#18+
VolunteerROI, Я не могу сделать один на всех ярлык - там нужно прописывать полный путь и к msaccess.exe и к приложению, а это у каждого рабочего места может быть разным. База хоть и состоит условно из 2-х частей, но вторая часть - это набор данных, который пользователь может выбирать из списка и подключать, создавать новые, грузить в них данные из внешних файлов для анализа. Я тоже не совсем понял, зачем нужно такое ограничение заказчику, но делать надо. Это как так создавать новые базы? А таблицы они тоже создают? Бред какойто. Где находиться клиентская база (это та в которой находятся формы запросы и тд..)? Это для начала. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 15:49 |
|
Как не допустить повторного запуска приложения с сетевого диска?
|
|||
---|---|---|---|
#18+
ROIЭто как так создавать новые базы? А таблицы они тоже создают? Бред какойто. Где находиться клиентская база (это та в которой находятся формы запросы и тд..)? Это для начала. Да все просто. Есть темплейт набора данных в виде файла с почти всеми пустыми таблицами, при создании нового набора данных темплейт копируется в рабочую директорию данных, ему дается имя со сгенерированным номером в имени файла и все таблицы клиентской базы перелинковываются на этот файл. То же происходит при подключении готового набора данных - таблицы перелинковываются на выбранный файл. В новый набор данных пользователь может загрузить внешние данные для анализа и изменения параметров данных, клиентская часть все ему рисует в графиках и таблицах по текущему набору данных. Клиентское приложение лежит на сетевой шаре, файлы с наборами данных находятся в поддиректории клиентского приложения, при старте оно всегда проверяет линковку таблиц и при запуске клиентской части с компьютера, у которого шара прилинкована по другому пути, чем у предыдущего пользователя, таблицы набора данных перелинковываются. Соответственно, если допустить запуск второй копии клиентского приложения, она испортит линковку для первого пользователя, у которого отвалится набор данных. Заказчик не хочет копировать клиентскую часть на локальные компьютеры. В принципе можно было бы убедить, если бы им действительно нужна была многопользовательская работа, но с данными реально работает только один человек, но с разных мест. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 16:19 |
|
Как не допустить повторного запуска приложения с сетевого диска?
|
|||
---|---|---|---|
#18+
ПанургVolunteer, у объекта ADO.Connection есть свойство Код: vbnet 1.
Вот! Похоже, это то, что нужно, спасибо! База открылась в монопольном режиме вторую копию открыть не удалось, использовал просто Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2016, 16:27 |
|
|
start [/forum/topic.php?fid=45&msg=39307761&tid=1613166]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 185ms |
0 / 0 |