Развертывание Access как клиент-серверное приложение - PullRequest
2 голосов
/ 27 апреля 2009

Я использую Access (формат 2003) в качестве внешнего интерфейса с бэкэндом SQL Server 2008. У каждого пользователя уже установлен Access 2003 или 2007. Мне любопытно, какую наилучшую конфигурацию развертывания использовать для эффективности и удобства обслуживания.

Должен ли я поместить файл .MDB на сервер и разместить на нем ярлык на каждой машине? (Одновременно будет только два-три пользователя.) Или поместить копию файла на каждую машину? И если я использую сторонний ActiveX, нужно ли его устанавливать на каждую машину, даже если .MDB находится на сервере (я полагаю, что так, но просто проверяю) или просто на сервере?

Ответы [ 5 ]

4 голосов
/ 27 апреля 2009

Доступ к файлам может стать проблематичным при открытии несколькими пользователями одновременно. У меня будет копия файла на компьютере каждого пользователя.

И да, на каждом компьютере должен быть установлен элемент управления ActiveX, даже если MDB находится на сервере.

3 голосов
/ 28 апреля 2009

Я специально создал утилиту Auto FE Updater, чтобы я мог вносить изменения в FE MDE так часто, как я хотел, и быть вполне уверенным, что в следующий раз, когда кто-нибудь запустит приложение, оно загрузит последнюю версию. Для получения дополнительной информации об ошибках или утилите Auto FE Updater см. Бесплатную утилиту Auto FE Updater по адресу http://www.granite.ab.ca/access/autofe.htm на моем веб-сайте, чтобы обновлять FE на каждом ПК.

1 голос
/ 29 ноября 2014

1) создайте файл accde из вашей базы данных 2) импортировать эти файлы (формы, таблицы, запросы) на стороне клиента. 3) Импортировать проверенную ссылку и пометить галочкой 4) все пользователи или клиенты, использующие только форму только для чтения. У них нет прав на просмотр настроения дизайнера.

0 голосов
/ 27 апреля 2009

Чтобы развернуть вопрос «где нужно установить элемент управления ActiveX», ответьте:

Тот факт, что вы задаете вопрос, свидетельствует о некотором туманном понимании работы Access. Тот факт, что вы используете SQL Server в качестве внутреннего сервера (который квалифицируется как клиент / сервер), волшебным образом заставляет Access работать на сервере. Access всегда запускается в локальной оперативной памяти рабочей станции (или сеанс удаленного рабочего стола, если вы запускаете его на Windows Terminal Server / Citrix), и это означает, что элементы управления ActiveX должны быть установлены на каждой рабочей станции, точно так же, как Access должен быть установлен там ( заменить соответствующие квалификации для WTS).

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

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

0 голосов
/ 27 апреля 2009

Как сказал Джон Б., «размещение mdb на компьютере каждого пользователя» является хорошим решением. Для чего это стоит, я рекомендую, чтобы каждый пользователь запускал командный файл, который копирует с сервера мастер mdb, когда мастер имеет более позднюю дату. Пакетный файл затем запускает mdb. Это облегчает развертывание новой версии.

...