powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как не допустить повторного запуска приложения с сетевого диска?
16 сообщений из 16, страница 1 из 1
Как не допустить повторного запуска приложения с сетевого диска?
    #39307589
Volunteer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется разделенная база, обе части лежат на сетевом диске в одной директории, пользователи могут запускать базу с разных компьютеров, но нужно, чтобы приложение мог запустить только один пользователь одновременно.

Решения на поверхности:
1. Запуск приложения в exclusive mode через ярлык - не удобно, т.к у разных пользователей могут быть разные пути к сетевому диску.
2. Включить эксклюзивное открытие приложения по умолчанию в опциях - не подходит, т.к. есть другие приложения, которые должны быть открыты в Shared mode
3. Запуск приложения в exclusive mode через запускающее приложение, которое открывает базу через OpenCurrentDatabase. Тут вроде бы работает, но не хочется городить огород с API функциями для активации открытого приложения - без этого иконка приложения в таскбаре моргает и нужно кликать мышью по окну, да и некрасиво, когда дважды мелькает главное окно.
4. Полагаться на наличие .laccdb файла не хочу по известным причинам.

Есть еще какой-нибудь подходящий способ?
...
Рейтинг: 0 / 0
Как не допустить повторного запуска приложения с сетевого диска?
    #39307602
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VolunteerИмеется разделенная база, обе части лежат на сетевом диске в одной директории, пользователи могут запускать базу с разных компьютеров, но нужно, чтобы приложение мог запустить только один пользователь одновременно.
Странно.
Если разделили, то база на сервере расшариная, а клиенты на клиентах.
А так у вас какоето недоразделение.
При открытии поставте монопольный доступ.
Только зачем этот геморой?
...
Рейтинг: 0 / 0
Как не допустить повторного запуска приложения с сетевого диска?
    #39307616
Volunteer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ROI,
База разделена только для того, чтобы можно было легко подсовывать разные наборы данных, все хранить в одной базе уже не получается из-за 2Гб ограничения.
...
Рейтинг: 0 / 0
Как не допустить повторного запуска приложения с сетевого диска?
    #39307628
Volunteer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ROIПри открытии поставте монопольный доступ.

Так вот как его поставить правильно? 3 описанных мной способа не совсем хороши. В идеале если бы можно было из самого приложения переключиться в монопольный режим, но я не нашел как.
...
Рейтинг: 0 / 0
Как не допустить повторного запуска приложения с сетевого диска?
    #39307645
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VolunteerROIПри открытии поставте монопольный доступ.

Так вот как его поставить правильно? 3 описанных мной способа не совсем хороши. В идеале если бы можно было из самого приложения переключиться в монопольный режим, но я не нашел как.
Ну для начала версия Access.
...
Рейтинг: 0 / 0
Как не допустить повторного запуска приложения с сетевого диска?
    #39307652
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI,

2010 и выше
...
Рейтинг: 0 / 0
Как не допустить повторного запуска приложения с сетевого диска?
    #39307653
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShin2010 и выше
Не туда написал, сорри.
...
Рейтинг: 0 / 0
Как не допустить повторного запуска приложения с сетевого диска?
    #39307656
Volunteer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ROIНу для начала версия Access.
2007
...
Рейтинг: 0 / 0
Как не допустить повторного запуска приложения с сетевого диска?
    #39307660
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VolunteerROIНу для начала версия Access.
2007
Меню Файл->Параметры->параметры клиента монопольный доступ.(это для 2010)
...
Рейтинг: 0 / 0
Как не допустить повторного запуска приложения с сетевого диска?
    #39307668
Volunteer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ROIМеню Файл->Параметры->параметры клиента монопольный доступ.(это для 2010)
Так ведь эта опция не специфична для текущей базы, а распространяется на любую открываемую базу. Это нужно будет ходить по всем рабочим местам и менять эту опцию, и мне не нужно открывать в монопольном доступе другие приложения, только это.
...
Рейтинг: 0 / 0
Как не допустить повторного запуска приложения с сетевого диска?
    #39307670
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VolunteerROIМеню Файл->Параметры->параметры клиента монопольный доступ.(это для 2010)
Так ведь эта опция не специфична для текущей базы, а распространяется на любую открываемую базу. Это нужно будет ходить по всем рабочим местам и менять эту опцию, и мне не нужно открывать в монопольном доступе другие приложения, только это.
Я не понял у вас клиент и серверная база или как?
Дык в ярлыке пропишите ключ для монопольного открытия.
А зачем все это.
...
Рейтинг: 0 / 0
Как не допустить повторного запуска приложения с сетевого диска?
    #39307679
Volunteer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ROI,
Я не могу сделать один на всех ярлык - там нужно прописывать полный путь и к msaccess.exe и к приложению, а это у каждого рабочего места может быть разным.
База хоть и состоит условно из 2-х частей, но вторая часть - это набор данных, который пользователь может выбирать из списка и подключать, создавать новые, грузить в них данные из внешних файлов для анализа.

Я тоже не совсем понял, зачем нужно такое ограничение заказчику, но делать надо.
...
Рейтинг: 0 / 0
Как не допустить повторного запуска приложения с сетевого диска?
    #39307708
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Volunteer, у объекта ADO.Connection есть свойство

Код: vbnet
1.
 cnn.Properties("Jet OLEDB:Connection Control") = 1      
...
Рейтинг: 0 / 0
Как не допустить повторного запуска приложения с сетевого диска?
    #39307712
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VolunteerROI,
Я не могу сделать один на всех ярлык - там нужно прописывать полный путь и к msaccess.exe и к приложению, а это у каждого рабочего места может быть разным.
База хоть и состоит условно из 2-х частей, но вторая часть - это набор данных, который пользователь может выбирать из списка и подключать, создавать новые, грузить в них данные из внешних файлов для анализа.

Я тоже не совсем понял, зачем нужно такое ограничение заказчику, но делать надо.
Это как так создавать новые базы?
А таблицы они тоже создают?
Бред какойто.
Где находиться клиентская база (это та в которой находятся формы запросы и тд..)?
Это для начала.
...
Рейтинг: 0 / 0
Как не допустить повторного запуска приложения с сетевого диска?
    #39307761
Volunteer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ROIЭто как так создавать новые базы?
А таблицы они тоже создают?
Бред какойто.
Где находиться клиентская база (это та в которой находятся формы запросы и тд..)?
Это для начала.
Да все просто. Есть темплейт набора данных в виде файла с почти всеми пустыми таблицами, при создании нового набора данных темплейт копируется в рабочую директорию данных, ему дается имя со сгенерированным номером в имени файла и все таблицы клиентской базы перелинковываются на этот файл. То же происходит при подключении готового набора данных - таблицы перелинковываются на выбранный файл. В новый набор данных пользователь может загрузить внешние данные для анализа и изменения параметров данных, клиентская часть все ему рисует в графиках и таблицах по текущему набору данных.

Клиентское приложение лежит на сетевой шаре, файлы с наборами данных находятся в поддиректории клиентского приложения, при старте оно всегда проверяет линковку таблиц и при запуске клиентской части с компьютера, у которого шара прилинкована по другому пути, чем у предыдущего пользователя, таблицы набора данных перелинковываются. Соответственно, если допустить запуск второй копии клиентского приложения, она испортит линковку для первого пользователя, у которого отвалится набор данных.

Заказчик не хочет копировать клиентскую часть на локальные компьютеры. В принципе можно было бы убедить, если бы им действительно нужна была многопользовательская работа, но с данными реально работает только один человек, но с разных мест.
...
Рейтинг: 0 / 0
Как не допустить повторного запуска приложения с сетевого диска?
    #39307782
Volunteer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПанургVolunteer, у объекта ADO.Connection есть свойство

Код: vbnet
1.
 cnn.Properties("Jet OLEDB:Connection Control") = 1      


Вот! Похоже, это то, что нужно, спасибо! База открылась в монопольном режиме вторую копию открыть не удалось, использовал просто
Код: vbnet
1.
CurrentProject.Connection.Properties("Jet OLEDB:Connection Control") = 1
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как не допустить повторного запуска приложения с сетевого диска?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]