Access

Многопользовательский доступ к базе access: Способы совместного использования базы данных Access

Содержание

Способы совместного использования базы данных Access

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

В этой статье

Общие сведения о способах предоставления доступа к данным Access

Предоставление общего доступа к одной базе данных

Совместное использование разделенной базы данных

Предоставление общего доступа к данным на сайте SharePoint

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

Общие сведения о способах предоставления доступа к данным Access

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

К началу страницы

Предоставление общего доступа к одной базе данных

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

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

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

  1. В домашних и малых офисных средах предоставьте общий доступ к папке с определенными людьми. Дополнительные сведения можно найти в разделе Общий доступ к файлам в сети в Windows 10.

  2. Приложение Access должно быть настроено для открытия в режиме совместного доступа на компьютерах всех пользователей. Данный режим используется по умолчанию, однако это необходимо проверить:  если пользователь откроет базу данных в монопольном режиме, другие пользователи не смогут работать с данными.

    1. Запустите Access и на вкладке Файл выберите пункт Параметры.

    2. В окне Параметры Access выберите пункт Параметры клиента.

    3. В разделе Дополнительно в разделе режим открытия по умолчаниювыберите общий доступ, нажмите кнопку ОКи закройте Access.

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

  4. На компьютере каждого пользователя создайте ярлык для файла базы данных. Дополнительные сведения можно найти в разделе Создание ярлыка на рабочем столе для программы или файла Office.

К началу страницы

Совместное использование разделенной базы данных

Этот способ целесообразен при отсутствии сайта SharePoint или сервера базы данных. Вы можете предоставить общий доступ к разделенной базе данных в локальной сети. При разделении базы данных она реорганизуется в два файла: серверную базу данных, которая содержит таблицы данных, и клиентскую базу данных, в которой содержатся все остальные объекты базы данных (например, запросы, формы, отчеты). Каждый пользователь взаимодействует с данными с помощью локальной копии внешней базы данных.

Ниже перечислены преиму

Управление данными с помощью Access или Excel

Неровные и реляционные данные

    Чтобы решить, какая программа лучше всего нужна для хранения данных, задайте себе следующий вопрос: реляционные данные или нет? Данные, которые могут быть эффективно содержаться в одной таблице или на одном телефоне, называются неровными или нереляционными данными. Например, для создания простого списка клиентов с одним адресом и контактными данными для каждого клиента лучше выбрать Excel. Однако если вы хотите хранить более сложный список клиентов, содержащий адреса для вы выставления счета и доставки для каждого клиента или несколько контактных лиц для каждого клиента, лучше будет access.

В реляционная база данных данные можно упорядоизировать по нескольким таблицам. В хорошо спроектированной реляционной базе данных каждая таблица является плоской и содержит сведения только об одном типе данных. Например, при создании базы данных клиентов имена клиентов должны храниться в одной таблице, а их адреса для выгрузки и выгрузки — в отдельной таблице. Хранение адресов отдельно от имен — хорошая идея, так как у каждого клиента может быть несколько адресов и вы хотите иметь возможность вводить несколько адресов для каждого клиента, не вводя для каждого из них повторно имя клиента.

Локальные и внешние данные    С помощью Access можно подключаться к данным из различных внешних источников, чтобы просматривать, запрашивать и изменять эти данные без необходимости их импорта. Например, в Access предусмотрены команды для подключения к существующим данным в базе данных Microsoft SQL Server, файле dBASE или папке Outlook, а также ко многим другим источникам данных. Excel можно использовать для подключения к различным источникам данных, включая базы данных Access, SQL Server и службы Analysis Services, текстовые и XML-файлы, а также источники данных ODBC и OLE DB. Однако изменить исходные данные с помощью пользовательского интерфейса Excel невозможно.

Как Access, так и Excel предоставляют команды для подключения к данным в Windows SharePoint Services списках. Однако в Excel есть только подключение только для чтения к спискам SharePoint. в то время как Access позволяет читать данные и записывать их в списки SharePoint.

Целостность и гибкость данных    Уникальные идентификаторы обеспечивают целостность данных и гарантируют отсутствие в двух строках (или записях) одинаковых данных. Уникальные идентификаторы также обеспечивают самый быстрый способ извлечения данных при поиске или сортировке данных. В Access тип данных "Автономер" можно использовать для автоматического создания уникальных идентификаторов для каждой записи. Затем с помощью этих идентификаторов можно связать записи в одной таблице с одной или несколько записями в другой таблице.

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

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

Однако для управления вводом данных в Excel можно использовать команду "Проверка данных".

Как сделать базу access многопользовательской?

Всем привет! В этом уроке разберем пошаговое создание таблиц в базе данных Access. От вас потребуется только читать и повторять. Поехали!
Цель: научиться создавать таблицы базы данных, задавать их структуру, выбирать типы полей и управлять их свойствами; освоить приемы наполнения таблиц конкретным содержанием.

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

Одна таблица содержит данные, которые могут отображаться для клиентов при согласовании спецификации изделия, — в ней указаны розничные цены на компоненты.

Вторая таблица предназначена для анализа результатов деятельности предприятия – в ней содержаться оптовые цены на компоненты и краткая информация о поставщиках (клиенты предприятия не имеют доступа к данным этой таблицы).

1. Запустите программу Microsoft Access (Пуск — Программы — Microsoft Office — Microsoft Access).

2. В окне Microsoft Access включите переключатель Новая база данных.


Создание БД Access — Пошаговое создание таблиц в базе данных Access

3. На боковой панели выберите место, где будет храниться база данных, дайте файлу имя: Комплектующие. Убедитесь, что в качестве типа файла выбрано Базы данных Microsoft Access и щелкните по кнопке Создать. В результате на экране должно появиться окно новой базы данных. Автоматически будет запущен режим создания первой таблицы:

4. Перейти из режима таблицы в режим конструктора, выбрав его в меню:
Когда программа запросит имя таблицы, ввести название: Комплектующие и нажать Ok. Откроется окно конструктора, в котором мы будем создавать структуру таблицы:


Создание Таблицы Access — Пошаговое создание таблиц в базе данных Access

5. Для первой таблицы введите следующие поля:

Обратите внимание на то, что в данном случае поле Цена задано не денежным типом, а числовым. Данные, относящиеся к денежному типу, имеют размерность, выраженную в рублях (если работа выполняется с версией Microsoft Access, локализованной в России).

Но стоимость компонентов вычислительной техники выражать в этой единице измерения не принято. Для сравнимости цен разных поставщиков обычно используют “условные единицы”.

В таких случаях удобно использовать поле числового типа, чтобы не перенастраивать всю СУБД.

Таблица «Комплектующие» — Пошаговое создание таблиц в базе данных Access

6. Щелкните на поле Цена. В нижней части бланка задайте свойство Число десятичных знаков, равным 2.

7. Для связи с будущей таблицей поставщиков надо задать ключевое поле. Поскольку здесь ни одно поле явно не претендует на “уникальность”, используем комбинацию полей Компонент и Модель. Выделите оба поля в верхней части бланка (при нажатой клавише SHIFT). Щелчком правой кнопки мыши откройте контекстное меню и выберите в нем пункт Ключевое поле.

После этого рядом с этими полями будет отображаться «ключ». 8. Закройте окно Конструктора (обычное закрытие – через «крест» в верхнем правом углу окна конструктора).

На запрос сохранения изменённой структуры таблицы ответить согласием.

  • 9. Повторив действия пунктов 4-8, создайте таблицу Поставщики, в которую входят следующие поля:
  • Для этого нужно выполнить следующее: меню Создать — Таблица.
  • Выбрать режим Конструктора.

Обратите внимание на то, что поле номера телефона является текстовым, несмотря на то, что обычно номера телефонов записывают цифрами. Это связано с тем, что они не имеют числового содержания. Номера телефонов не сравнивают по величине, не вычитают из одного номера другой и т.д.

Это типичное текстовое поле.
Ключевое поле можно не задавать – для текущей задачи оно не требуется.
10. В левой боковой панели окна базы данных двойным щелчком откройте по очереди созданные таблицы и наполните их экспериментальным содержанием (по 10 записей).
11.

Закончив работу, закройте таблицы и завершите работу с программой.

В этом уроке на простом примере было показано Пошаговое создание таблиц в базе данных Access. Если было интересно, то рекомендую посмотреть видеоурок ниже.

  1. Продолжение следует…
    УРОК 1: Пошаговое создание таблиц в базе данных Access
    УРОК 2: Создание межтабличных связей в базе Access
    УРОК 3: Создание запроса на выборку данных в базе Access
    УРОК 4: Создание запросов с параметром в базе Access
    УРОК 5: Создание перекрёстного запроса в базе Access
    УРОК 6: Создание запросов на изменение в базе Access
  2. УРОК 7: Создание и заполнение форм в базе Access

Источник: https://accesshelp.ru/poshagovoe-sozdanie-tablic-v-baze-dannyh-access/

Эффективная база данных Access

17.08.2006 Алан Сугано, Джин Хси

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

Совет 1.

всегда закрывайте access, если база данных не используется

Неиспользуемую базу данных Access удобно оставить открытой и свернуть, но при этом возникает опасность порчи базы данных, особенно если она коллективно используется в сети. Закрывая файлы базы данных и выходя из Access, пользователь не только освобождает ресурсы и соединения с базой данных, но и исключает порчу информации при неожиданном отключении компьютера.

Совет 2.

определение лиц, использующих базу данных

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

ldb, который находится в одной папке с приложением Access. В файле .ldb перечислены имена рабочих станций и имена регистрации всех пользователей, подключенных в данный момент к файлу базы данных Access. Если .

ldb-файл не существует, это означает, что никто из пользователей не установил соединение с базой данных и к ней можно получить исключительный доступ или выполнить резервное копирование. Если ldb-файл существует, то его можно открыть в Microsoft Notepad или WordPad.

Если файл не удается открыть с помощью этих программ, то следует сохранить его с новым именем, а затем попытаться открыть.

Совет 3.

регулярно копируйте базу данных

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

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

Прежде чем приступить к изменению файла базы данных, полезно скопировать файл в резервную папку. Можно выполнить и быстрое копирование, выбрав Tools в панели инструментов Access, а затем Database Utilities и Back Up Database.

Совет 4.

компактная база данных менее подвержена разрушению

Сжатие базы данных — один из лучших способов избежать порчи базы данных и повысить производительность.

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

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

Требуется выбрать Tools из панели инструментов Access, затем Database Utilities и запустить процедуру Compact and Repair Database. При использовании сценария Visual Basic for Applications (VBA) компактную базу данных можно получить с помощью команды Application.CompactRepair(SourceFile,DestinationFile, LogFile)

Совет 5.

разделение базы данных на внешний и внутренний компоненты

При проектировании многопользовательской базы данных Access имеет смысл разделить информацию на две части — внешнюю и внутреннюю, чтобы преодолеть ограничение в 2 Гбайт, накладываемое на размер базы данных, и повысить производительность. Например, внешний компонент может содержать формы, отчеты, запросы и модули, а во внутренней базе данных могут храниться таблицы данных.

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

Чтобы разделить базу данных, следует выбрать меню Tools из панели инструментов Access, затем пункт Database Utilities и активизировать функцию Database Splitter.

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

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

базу данных Access), выбрав меню Tools из панели Access, затем пункт Database Utilities и функцию Make MDE File. После этого MDE-файл следует разослать по локальным машинам пользователей.

Совет 6.

создание первичного ключа для предотвращения дублирования записей

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

Первичный ключ также играет роль уникального индекса или идентификатора. Некоторые примеры первичных ключей — номер элемента (AutoNumber), номер социального обеспечения или местоположение. В Access существует три типа данных первичных ключей: AutoNumber, с одним и несколькими полями.

Чаще используются первичные ключи AutoNumber и ключи с одним полем.

Совет 7.

использование индекса для ускорения обработки

Благодаря использованию индексов ускоряется сортировка и извлечение записей в таблице. Поле, используемое в качестве индекса, часто определяется тем, какое поле (или поля) чаще всего применяется в предложении WHERE в запросах.

Можно указать, будет ли индексное поле уникальным или разрешить дублирование, выбрав Yes (уникальное) или No (разрешить дублирование) в поле свойств Unique индекса. Если первичный ключ таблицы базы данных имеет тип данных AutoNumber, то следует установить свойство Unique в значение Yes, чтобы пользователь не мог ввести одну и ту же запись дважды.

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

Совет 8.

присвоение полю autonumber значения 1

Поле AutoNumber — одно из полей, используемых в Access в качестве первичного ключа. Access автоматически назначает следующий номер каждой новой записи в соответствии со значением (Increment или Random) поля свойства New Value.

Следует обратить внимание, что поле AutoNumber не может принимать значение 0. Значение поля AutoNumber нельзя вводить или редактировать вручную, но пользователь может сбросить значение этого поля, чтобы вновь начать нумерацию с 1, даже если в таблице есть записи.

Чтобы перенести записи из таблицы, следует создать ее резервную копию с помощью функции Copy или Save As и удалить из таблицы все существующие записи. Выберите Tools из инструментальной панели Access, затем Database Utilities и функцию Compact and Repair Database, пока таблица пуста.

После того как будут присоединены старые записи из резервной таблицы, начальным значением поля AutoNumber будет 1.

Совет 9.

использование свойств cangrow и canshrink для больших текстовых полей

Свойства CanGrow и CanShrink существуют для таких объектов управления, как подотчеты, подформы и текстовые поля, а также разделы отчетов. По умолчанию свойство CanGrow имеет значение No. Чтобы увеличить длину вертикального поля в соответствии с размером данных, свойство CanGrow должно иметь значение Yes.

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

При размещении элемента управления в режиме конструирования необходимо проверить наличие достаточного пространства вокруг поля; в противном случае свойство CanShrink будет функционировать некорректно.

Дополнительные сведения о специализированных функциях, с помощью которых можно удалить ненужное пространство, приведены в статье Microsoft «Eliminating Unwanted Blank Lines in Labels and Reports» по адресу http://office.microsoft.com/en-us/assistance/HA011494721033.aspx.

Совет 10.

корректный выбор библиотеки ссылок для обновления

На многих предприятиях существует множество баз данных Access или проектов, выполняемых пользователями с применением различных версий Access (например, Access 2003, Access XP). Access 2003 позволяет открывать различные версии баз данных Access.

Однако необходимо сохранить отдельные экземпляры эталонных библиотек, используемых файлом базы данных на рабочей станции.

В противном случае при попытке открыть и редактировать файл базы данных Access XP с использованием Access 2003 библиотека Access XP может быть автоматически обновлена с использованием эталонных библиотек, что приведет к некорректному функционированию части программного кода VBA.

К эталонной библиотеке можно обратиться с помощью редактора VBA, выбрав меню Tools, а затем References. Во избежание несовместимости рекомендуется проектировать базу данных Access с применением той же версии программы и пакетов обновлений Access, которая имеется у пользователей.

Алан Сугано — президент компании ADS Consulting Group, консультант в области сетевых технологий, специализированного программирования, Web-разработки Microsoft .NET и проектирования SQL Server. [email protected]

Джин Хси — директор ADS Consulting Group. Имеет 13-летний опыт проектирования специализированных приложений Microsoft Access, Visual Studio, баз данных и SQL Server.

Эффективная база данных Access

Поделитесь материалом с коллегами и друзьями

Источник: https://www.osp.ru/winitpro/2006/05/2659924/

База данных Access. Особенности работы в многопользовательском режиме (стр. 1 из 5)

Конфликты доступа

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

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

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

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

• Новые записи не сохраняются. После ввода информации пользователь обнаруживает, что в базе данных она не появилась. Если подобная ошибка не повторяется, это говорит не об отсутствии проблемы, а о ненадежности приложения.

• Изменения существующих записей не сохраняются. Пользователь может даже не заметить, что вне­сенные им изменения не сохранились.

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

Подобные серьез­ные проблемы вполне могут оказаться не выявленными вовремя. Как правило, от них страдают посторонние люди.

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

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

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

Конфигурация

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

• Сетевое размещение. В данной конфигурации единый MDB-файл располагается на сетевом серве­ре, и пользователи получают доступ к базе данных при обращении к серверу.

Данные и выполня­емые модули могут содержаться в едином MDB-файле либо размещаться на файловом сервере в виде нескольких отдельных файлов. Преимуществом данной конфигурации является простота поддержки, поскольку при необходимости в обновлении нуждается лишь выполняемый файл.

Однако, поскольку все формы, отчеты, модули, запросы, ЕХЕ-файлы Access, а также все библиотеки DLL и т. п. должны передаваться по сети на рабочую станцию, сетевой трафик неоправданно возрастает, а производительность значительно снижается.

Вероятно, в подобных конфигурациях следует исполь­зовать связанные формы. Далее рассматриваются проблемы связывания форм с данными и возни­кающие при этом конфликты доступа.

• Разделенная база данных с размещенными в сети данными.

Такая конфигурация по традиции на­зывается конфигурацией удаленной базы данных (отметим, что значение слова «удаленная» в чрез­вычайно динамичную эпоху Internet постепенно меняется и вскоре может устареть), поскольку данные отделены от выполняемого модуля или программного кода, хотя механизм баз данных и остается локальным.

В отличие от конфигурации клиент-сервер, механизм баз данных Access на пользовательском ПК получает, обрабатывает, блокирует и снимает блокировку с данных, находя­щихся в MDB-файле на сетевом сервере.

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

Его преимуществом является высо­кая производительность и управляемость при корректном использовании. Поскольку при размеще­нии данных в сети по каналам связи передаются только они, сетевой трафик значительно снижается. Основной недостаток данной конфигурации заключается в том, что на каждом клиентском ПК необходимо устанавливать Access и выполняемый MDE- (скомпилированный вариант базы данных MDB) либо MDB-файл, что осложняет поддержку приложения. Тем не менее, существуют спосо­бы решения подобной проблемы.

• Репликация. При использовании схемы репликации пользователи совместно обрабатывают данные, хотя данные на самом деле не являются общими, как это имеет место в схемах сетевого распре­деления или в разделенных базах данных.

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

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

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

• Конфигурация клиент-сервер. В Access 2000 появилась новая возможность создания клиент-сервер­ных приложений на базе проекта Microsoft Access. В такой конфигурации удаленными являются как данные, так и механизм баз данных.

Если данными управляет SQL Server, Oracle или какой-либо иной сервер баз данных, расположенный на центральном компьютере, он также решает вопросы блокировки и проблемы работы в многопользовательской среде.

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

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

В данной главе рассматриваются вопросы, которые являются общими для сетевых конфигураций: схе­мы разделенной базы данных и реализации архитектуры клиент-сервер. О репликации рассказывается в главе 22.

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

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

Основой организации работы в многопользовательской среде является планирование, прогнозирование и тестирование.

Access и способы блокировки в Jet

Механизм Jet имеет схему блокировки, которая позволяет эффективно обслуживать несколько пользо­вателей. При использовании Jet с Access, а не с VB или каким-либо иным инструментом разработки необходимо учитывать, что некоторые действия выполняются по умолчанию. Данный раздел посвящен изучению этих вопросов.

Основные сведения о блокировке

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

В диалоговом окне Options (Параметры), отображающемся при выполнении команд меню Tools Options (Сервис / Параметры), во вкладке Advanced (Другие) имеется параметр Default open mode (Режим откры­тия, определенный по умолчанию). Здесь можно определить режим открытия базы данных, т.е. должна ли она открываться для монопольного доступа (только для одного пользователя на весь сеанс работы) или для общего доступа.

Если выбран режим Exclusive (монопольный доступ), базу данных имеет право открывать только один пользователь. В этом случае Access изменяет заголовок LDB-файла, тем самым блокируя его (подробнее об этом см.

в разделе «LDB-файл») и запрещая доступ к данным для всех других пользователей. Очевид­но, для многопользовательского приложения такая настройка использоваться не должна.

Однако такие процедуры, как сжатие и восстановление, следует выполнять над базой данных, открытой для монополь­ного доступа.

Источник: https://mirznanii.com/a/310194/baza-dannykh-access-osobennosti-raboty-v-mnogopolzovatelskom-rezhime

Поддержка технологий корпоративных сетей

Введение в Access 2010 25

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

  • Данные внешних источников могут импортироваться в базу данных Access.
  • На вкладке Внешние данные (External Data) в группе Импорт и связи (Import & Link) представлены доступные для этой операции источники данных. Импорт и связывание могут быть выполнены для данных из таких источников как Access, Excel, база данных ODBC, текстовый файл, XML-файл, список SharePoint, доку-
  • мент HTML, папка Outlook, файл dBase.
  • Возможен экспорт таблиц, запросов, форм и отчетов, выделенной части объекта в режиме таблицы из базы данных Access в форматы других приложений. Операции экспорта представлены в одноименной группе на вкладке Внешние данные
  • (External Data).
  • Выполнение операций импорта или связывания данных, как и экспорта данных из базы для большинства форматов, требует лишь указания, где расположены данные, и выбора способа их хранения в базе данных.

Корпоративные сети являются сетями уровня предприятия, которые базируются на клиент-серверных и интернет-технологиях. Эти сети могут подключаться или не подключаться к Интернету (рис. 1.6).

Выход в Интернет

Общая база
данных
Access Сервер баз данных,
веб-сервер
Access Access
Бухгалтерия
Склад Сотрудники
Директор Администрация
Internet Explorer Internet Explorer

Рис. 1.6. Корпоративная сеть с SQL- и веб-серверами

  1. Технологии Интернета позволяют получить доступ к информации всего предприятия со своего рабочего места, не заботясь о совместимости аппаратных и программных платформ, используя обычную программу просмотра — обозреватель
  2. Internet Explorer.
  3. Access включает развитые средства, ориентированные на клиент-серверные технологии, которые позволяют создавать клиентские приложения для работы с общими базами данных SQL Server.

Для организации совместной работы с данными и взаимодействия пользователей с помощью единой веб-среды могут быть использованы служба Windows SharePoint Services, специальные технологии взаимодействия и коммуникаций, которые легко интегрируются с приложениями Microsoft Office. Служба Windows SharePoint Services является компонентом Microsoft Windows Server. Обеспечивает пользователей набором инструментов для организации информации, управления документами и эффективного взаимодействия.

С помощью Windows SharePoint Services можно создавать веб-сайты для хранения общих данных и совместной работы с ними. Доступ пользователей к содержимому Web-сайтов осуществляется через веб-обозреватель или приложения Microsoft Office из любой точки корпоративной сети.

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

Многопользовательская база данных Access

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

Под одноранговой понимается сеть, каждый компьютер которой может предоставлять остальным подключенным к сети компьютерам доступ ко всем или некоторым своим ресурсам, т. е. являться сервером и рабочей станцией одновременно. Одноранговая сеть может управляться встроенной сетевой операционной системой

Windows 9x или Windows NT/2000/XP/Vista/Windows 7.

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

СУБД Access может быть установлена или на файловом сервере, или на каждой рабочей станции, но выполняется она всегда на рабочей станции пользователя. Обработка данных базы в обоих случаях также осуществляется на рабочих станциях пользователей.

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

Введение в Access 2010 27

Работа локальной сети с файловым сервером обеспечивается рядом сетевых операционных систем. Наиболее популярными являются Microsoft Windows Server

иNovell NetWare. ОС Windows имеют версию Server, предназначенную для управления файловым и другими серверами сети, и версию 2000/XP/Vista/Windows 7, которая устанавливается на рабочей станции и под управлением которой могут выполняться различные приложения, в том числе и Access.

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

ипароля.

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

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

Блокирование не допускает изменения записи другими пользователями, пока текущее изменение не будет закончено.

Выбор режима блокировки на уровне записей по умолчанию в текущей базе данных производится параметром Открытие баз данных с использованием бло-

кировки на уровне записей (Open databases using record level locking) в окне Параметры Access (Access Options) на вкладке Параметры клиента (Client Settings)

в группе Дополнительно (Advanced). Если флажок этого параметра сброшен, по умолчанию будет использована блокировка на уровне страницы. Выбранный вариант применяется к данным в формах, таблицах и программах, использующих объект Recordset для перебора записей. Этот параметр не применяется к запросам на изменение или программам, выполняющим массовые операции с использованием инструкций SQL.

Работа Access с базой данных SQL Server

Работа с общей базой данных в сети с файловым сервером становится неэффективной уже при одновременной работе 15 пользователей.

На обеспечение эффективной работы большого числа пользователей с общей базой данных ориентирована технология «клиент-сервер».

В этой технологии пользователь-клиент передает со своего компьютера запрос на компьютер сервера, там СУБД обрабатывает запрос и обратно посылает только результат выполнения запроса. Таким образом, значительно снижается объем передаваемых по сети данных.

Приложение пользователя разрабатывается и выполняется под управлением СУБД Access на компьютере клиента. Общая база данных размещается на мощном компьютере, где функционирует сервер баз данных, управляемый СУБД SQL Server (см. рис. 1.6). Эта СУБД выполняет обработку данных, размещенных на сер-

вере, и отвечает за их целостность и сохранность. Для доступа к данным базы на сервере используется язык структурированных запросов SQL.

Широко известны серверы баз данных — SQL Server фирмы Microsoft и Oracle Server фирмы Oracle. SQL-серверы баз данных являются самыми мощными приложениями для сетевой обработки данных.

Подключение из Access к серверам баз данных SQL может быть осуществлено с помощью драйверов ODBC. Каждому серверу баз данных соответствует свой драйвер ODBC. В комплект поставки MS Access включены драйверы ODBC для

MS SQL Server и Oracle SQL Server.

Использование унифицированного языка запросов SQL позволяет работать с одной и той же базой данных сервера разным пользователям из различных приложений. Данные из базы могут получать Access, Excel, FoxPro и многие другие приложения, использующие протокол ODBC, посылая запросы на языке SQL серверу баз данных.

Приложение Access взаимодействует с данными, расположенными на сервере, несколькими способами. Можно посылать на сервер запросы на языке SQLсервера.

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

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

В Access реализована возможность создания приложения-проекта, в котором хранятся только объекты, составляющие приложение пользователя, а база данных, с которой работает приложение, размещается на SQL-сервере.

Причем в проекте Access обеспечивается работа с объектами базы данных (таблицами, представлениями, хранимыми процедурами, схемами данных) в диалоговом режиме через интерфейс, аналогичный интерфейсу SQL-сервера.

Проект Access, являющийся клиентом SQL-сервера, позволяет напрямую, не используя ядро баз данных Access Database Engine, подключаться к базам данных Microsoft SQL Server с помощью интерфейсов OLE DB.

Из проекта Access посредством OLE DB обеспечивается доступ не только к базам данных SQL Server, но и к базам данных Access, файлам электронной почты и источникам данных многих других типов.

Создается проект на вкладке Файл (File) в окне представления Backstage, где при выборе местоположения файла новой базы данных в окне Файл новой базы данных (File New Database) задается имя файла и в поле Тип файла (Save as type) из списка выбирается Microsoft Access Проекты (*.adp) (Microsoft Access Projects).

MS SQL Server, начиная с версии 2005, предоставляет бесплатную версию SQL Server Express, которая позволяет создать проект, предназначенный для работы с базой данных SQL Server, работая на локальном компьютере, не подключенном к сети. При этом нет необходимости приобретать лицензию и устанавливать сетевой вариант сервера баз данных. Работа этой версии основывается на том же ядре базы

Источник: https://studfile.net/preview/3009981/page:7/

Как сделать базу данных Access сетевой ? -> Форум на Исходниках. Ру

 Как сделать базу данных Access сетевой ?

  • Подписаться на тему
  • Сообщить другу
  • Скачать/распечатать тему
значит так, есть база данных Access, приложение написанное на Delphi, хотелось бы при минимальных изменениях проги работать с одной базой нескольким пользователям одновременно по сети. Как это сделать, а тем более с чего начать я незнаю, подскажите кто знает !
Guru Рейтинг (т): 181 Положи базу данных в зашаренный каталог и работай — в простейшем случае никаких изменений делать не надо. With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
а по другому ни как нельзя ?  чтоб трафик сильно не жрала програмулина ?
Profi Рейтинг (т): 2 можно пишешь свой сервер БД, который крутится на сервере, обращается к локальной БД Аксесс, и все клиенты работают через твой сервер можешь еще и стандарты ODBC соблюсти, и свой драйверок накатать Страшно?  😉 Правильно! Нафига это все надо, если есть нормальные СУБД типа SQL Server?! так что либо сделай, как советовал Vit (долгое время люди только так и работали, да еще и на 10Мбит ), либо меняй БД — Аксесс тебе не поможет  😉 ;D Великий и могучий-это C++!
Guru Рейтинг (т): 181 Дык всё просто — MS Access — это просто файл с данными. Чтобы что-то делать с данными, например выборку или выполнять запрос, нужен програмный код который будет это делать. Своего встроенного програмного кода у mdb файла нет, только тот  что ты напишешь и код драйвера, который выполняется на той машине, что и твоя программа. Если код на одной машине, а данные на другой, то для работы с данными их надо перекачивать по сети. Выход — часть кода должна работать там где данные — эта часть называется сервером. MS Access собственного сервера не имет, значит выходов 2:1) Пишем свой сервер, в принципе это не очень сложно, примерно 2-4 недели работы для программиста среднего уровня, тем более что есть хорошо отработанные технологии для таких вещей: DCOM, CORBA, MIDAS и т.п. Обеспечить механизм транзакций и блокировок, т.е. приклепать к нему транзакционный сервер в принципе не очень сложно, и по моему опыту занимает примерно 1-2 недели. А вот отладить сервер, сделать его стабильным и работающим во всех случаях требует хорошего опыта и обычно примерно 2-3 месяца работы. В целом такой проект примерно на пол-года, ну чтобы сделать так чтобы ничего не падало от малейшего чиха. В общем делать так можно, и даже нужно, но обычно это подход для бизнес-проектов средних и больших размеров, например пакет програм для обеспечения работы небольшой корпорации — примерно на 1000 рабочих станций — там разграничиваем бизнес логику и GUI, делаем ограничения доступа к данным,  защиту данных, синхронизацию многочисленных серверов баз данных в разных городах и т.п. В принципе, то что я описал — это минимальный проект в котором стоит идти таким путём. Да совсем забыл — это называется multi-tier программированием.2) Не занимаемся фигнёй, берём один из многочисленных серверов баз данных и переводим на него Ваш продукт в течение ближайшего часа. With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru

1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)

0 пользователей:

[ Script Execution time: 0,0749 ]   [ 15 queries used ]   [ Generated: 27. 11.19, 19:19 GMT ]  

Источник: https://forum.sources.ru/index.php?showtopic=11186

Возможные варианты использования проектов Microsoft Access

Возможные варианты использования проектов Microsoft Access

Существует несколько способов развертывания проекта Microsoft Access.

Использование проектов Microsoft Access в многопользовательской среде

В многопользовательской среде каждому пользователю часто необходима его собственная копия файла проекта Microsoft Access, подключенная к общей базе данных Microsoft SQL Server. Два или несколько пользователей не могут изменять объекты, такие как формы или отчеты, в одном и том же файле проекта Microsoft Access.

Проект Microsoft Access всегда открывается в монопольном режиме. При попытке открыть проект Microsoft Access, уже открытый другим пользователем, программа выводит предупреждение о том, что этот файл открыт в монопольном режиме, и предлагает воспользоваться копией, доступной только для чтения. В этом случае в проекте Microsoft Access невозможно изменение объектов.

При запуске приложения для совместной работы каждому пользователю предоставляется копия файла проекта Microsoft Access, то есть собственная копия форм, отчетов, страниц доступа к данным, макросов и модулей.

Независимо от того, имеет ли пользователь личную копию проекта Microsoft Access или нет, база данных Microsoft SQL Server, а также расположенные в ней таблицы, запросы и диаграммы фактически являются общими. Таким образом, в многопользовательской среде важно обеспечить достаточную защиту совместно используемых объектов базы данных, чтобы их целостность не нарушалась.

При использовании Microsoft Windows Terminal Server каждый пользователь может иметь личную область данных, определенную профилем пользователя на Terminal Server. Можно создать копию проекта в папке данных текущего приложения каждого пользователя, и при входе пользователя в Terminal Server ему будет предоставлена личная копия файла проекта Microsoft Access.

Совместное использование базы данных Microsoft SQL в Internet

Существует возможность создания страниц доступа к данным или вывода одного или нескольких объектов базы данных в генерируемый сервером файл HTML или статический файл HTML. Затем можно отобразить Web-страницы в обозревателе Microsoft Internet Explorer и получить доступ к данным через эти страницы.

Создание автономных приложений данных

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

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

Использование файла проекта Microsoft Access и базы данных разными пользователями

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

Может потребоваться создание проекта Microsoft Access и, после его подготовки к тестированию или производству, отключение от базы данных Microsoft SQL Server.

Например, можно создать приложение проекта и подключить его к базе данных Microsoft SQL Server после распределения копий.

Можно распределить файл проекта по пользователям, снабдить их инструкциями по открытию файла, а после этого выбрать в меню Файл команду Подключение для подключения к серверу, на котором расположена база данных.

Для создания баз данных, доступных пользователям, можно также применять команды Копировать файл базы данных или Перенести базу данных, макрокоманды или методы. Кроме того, создать базу данных Microsoft SQL Server можно с помощью файла сценария.

  • Использование разработчиками мастера развертывания из пакета Microsoft Office XP
  • При использовании Microsoft Office XP возможно применение мастера упаковки и развертывания для создания программы инсталляции, которая установит оба приложения проекта Microsoft Access и Microsoft SQL Server 2000 Desktop Engine.
  • Репликация базы данных Microsoft SQL Server

При использовании двух компьютеров, например стоящего в офисе и переносного, имеется возможность создавать реплики базы данных Microsoft SQL Server и поддерживать их синхронизацию. При этом находящиеся в разных местах пользователи могут одновременно работать каждый со своей копией основной реплики, а затем синхронизировать их по сети через удаленное подключение или Internet.

Следующая глава

Источник: https://it.wikireading.ru/41799

Настройка базы данных MS-Access для многопользовательского доступа

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

Q1: Как мы можем убедиться, что пользователь записи может вносить изменения в данные таблицы, а другие пользователи используют данные? Используют ли пользователи-читатели блокировки на таблицах? Должен ли пользователь записи помещать блокировки в таблицу? Предоставляет ли Access это для нас или мы должны явно это кодировать?

Никто не ответил на это в полной мере. Информация о настройке блокировок в параметрах доступа не имеет ничего общего с чтением и блокировкой записи. No Locks vs. All Records vs. Edited Record — это то, как вы устанавливаете блокировку записей по умолчанию для WRITES.

  • Никакие блокировки не означают, что вы используете блокировку OPTIMISTIC, что означает, что вы разрешаете нескольким пользователям редактировать запись, а затем сообщать об этом после того, как запись изменилась с тех пор, как они начали свои собственные изменения. Оптимистическая блокировка — это то, с чего вам следует начинать, поскольку для ее реализации не требуется кодирование, а для небольших пользователей это вряд ли когда-либо вызывает проблему.
  • Все записи означают, что вся таблица заблокирована при каждом запуске редактирования.
  • Отредактированная запись означает, что меньше записей заблокировано, но независимо от того, установлена ​​ли одна запись или более одной записи, установлена ​​ли ваша база данных для использования блокировки уровня записи (сначала добавлена ​​в Jet 4) или блокировка на уровне страницы. Честно говоря, я никогда не думал, что стоит установить блокировку на уровне записи, поскольку оптимистическая блокировка позаботится о большинстве проблем.

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

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

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

Безопасность Jet на уровне пользователя была предназначена для этой цели и прекрасно работает в той мере, в какой это «безопасность» для любого значимого определения термина. В общем, до тех пор, пока вы используете хранилище данных Jet/ACE, лучшая безопасность, которую вы собираетесь получить, предоставляется Jet ULS.

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

Я бы вообще не реализовал Jet ULS и вместо этого просто архитектор форм редактирования данных, чтобы они проверяли вход пользователя в систему Windows и делали формы доступными только для чтения или записываемые в зависимости от того, какие пользователи должны получать доступ.

Независимо от того, хотите ли вы записывать членство в группе в таблице данных или поддерживать группы безопасности Windows для этой цели, зависит от вас. Вы также можете использовать файл рабочей группы Jet для работы с ним и предоставить другой файл system. mdw для пользователей записи.

Пользователи, доступные только для чтения, будут регистрироваться прозрачно как admin, а пользователям, входящим в систему как admin, предоставляется доступ только для чтения.

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

Если вы используете Jet ULS, это может стать действительно волосатым, чтобы все исправить. Он включает блокировку всех таблиц как только для чтения (или, возможно, даже не для этого), а затем с использованием запросов RWOP для обеспечения доступа к данным. Я не сделал этого, кроме одного такого приложения за 14 лет профессионального развития Access.

Подводя итог моим ответам на части вашего вопроса:

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

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

Используют ли пользователи-читатели блокировки таблиц?

Не имеет смысла. У Jet/ACE есть блокировки чтения, но они существуют только с целью сохранения состояния для отдельных просмотров и для обновления данных для пользователя. Они не блокируют операции записи любого рода, хотя накладные расходы на их отслеживание теоретически замедляют работу. Этого недостаточно, чтобы беспокоиться.

Должен ли пользователь записи помещать блокировки в таблицу?

Доступ в сочетании с Jet/ACE делает это автоматически, особенно если вы выбрали оптимистичную блокировку по умолчанию.

Ключевым моментом здесь является то, что приложения Access являются привязкой к базе данных, поэтому, как только форма загружается, запись имеет блокировку чтения, и как только запись будет отредактирована, независимо от того, заблокирована ли она для других пользователей, определяется ли она используете ли вы оптимистичную или пессимистичную блокировку. Опять же, это то, что Access заботится о вас с поведением по умолчанию в связанных формах. Вы ни о чем не беспокоитесь, пока не столкнетесь с проблемами.

Предоставляет ли Access это для нас или мы должны явно указывать это?

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

Q2: Существуют ли какие-либо общие проблемы с «транзакциями MS Access», о которых мы должны знать?

Jet/ACE поддерживает транзакцию фиксации/откат, но мне это не ясно, если это то, что вы имеете в виду в этом вопросе.

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

Он работает над тем, как вы ожидаете этого, но на самом деле не нужен для подавляющего большинства операций в приложении Access.

Возможно, одна из проблем здесь (особенно в свете первого вопроса) заключается в том, что вы не совсем понимаете, что Access предназначен для создания приложений с данными, связанными с формами.

«Транзакции» — это тема, имеющая большое значение для несвязанных и безгосударственных приложений (например, на основе браузера), но для приложений с привязкой к данным, редактирование и сохранение всех происходит прозрачно.

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

Это не значит, что я не использую несвязанные формы — я использую много их для диалогов и т.п. — это просто, что мои приложения не редактируют таблицы данных с несвязанными формами.

Без каких-либо исключений все мои приложения редактируют данные со связанными формами.

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

Q3. Можем ли мы работать с формами, запросами и т.д., Пока они используются? Как мы можем «программировать», не мешая пользователям?

Это один из вопросов, которые были хорошо рассмотрены. Все многопользовательские или реплицированные приложения Access должны быть разделены, и большинство однопользовательских приложений также должны быть. Это хороший дизайн, а также делает приложения более стабильными, так как только таблицы данных в конечном итоге открываются более чем одним пользователем за раз.

Q4. Какие настройки в MS Access влияют на то, как обрабатываются вещи?

«вещи?» Какие вещи?

Q5. Наш опыт работы в основном связан с Oracle, где Access отличается при работе с несколькими пользователями? В Access есть такие вещи, как «уровни изоляции»?

  • Я не знаю ничего конкретно о Oracle (ни один из моих клиентов не мог позволить себе это, даже если бы они этого захотели), но попросив сравнение Access и Oracle предает фундаментальное недоразумение где-то вдоль линии.
  • Доступ — это инструмент разработки приложений.
  • Oracle — это сервер базы данных промышленной силы.
  • Яблоки и апельсины.
  • Теперь, конечно, Access поставляется с механизмом базы данных по умолчанию, первоначально называемым Jet, и теперь переработан и переименован в ACE, но есть много уровней, на которых доступ к платформе разработки можно полностью отключить от Jet/ACE, механизма базы данных по умолчанию,

В этом случае вы решили использовать заднюю часть Jet/ACE, которая, вероятно, будет очень удобной для небольших пользовательских групп, то есть до 25. Jet/ACE также может быть до 50 или 100, в частности когда только несколько из одновременных пользователей имеют разрешение на запись. Хотя ограничение 255 пользователей в Jet/ACE включает в себя как пользователей, предназначенных только для чтения, так и пользователей записи, количество пользователей, которые действительно контролируют количество одновременных пользователей, которых вы можете поддерживать, и в вашем случае у вас есть приложение, в основном читаемое — только пользователи, поэтому не должно быть сложно создать хорошее приложение, у которого нет проблем с задним концом.

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

Теперь для эффективности полезно создать привязку ваших форм к подмножествам записей, а не целым таблицам, но даже со всей таблицей в источнике записей за формой редактирования данных Access будет достаточно эффективен при редактировании Jet/Таблицы ACE (старый миф о том, как вытащить всю таблицу по проводам), пока ваши таблицы данных эффективно индексируются.

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

То есть, это не похоже на веб-страницу, где вы извлекаете копию данных, а затем публикуете свои изменения на сервере в транзакции, полностью не связанной с исходной операцией по изъятию данных.

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

Все это происходит без какого-либо кодирования со стороны разработчика и является одним из больших преимуществ связанной модели редактирования (помимо необходимости писать код для публикации изменений).

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

Запустите форму и отчет мастера и проверьте результаты, которые они производят.

Я не могу ручаться за всех из них, демонстрируя хорошие практики, но они определенно демонстрируют предположения по умолчанию за тем, как Access предназначен для использования.

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

Источник: http://qaru.site/questions/254063/setting-up-an-ms-access-db-for-multi-user-access

Как сделать базу access многопользовательской?

Access. Особенности работы в многопользовательском режиме.

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

Важно помнить, что работа с базой данных в многопользовательской среде может вызывать пробле­мы, связанные с блокировкой данных и конфликтами доступа к ним. Подавление сообщений об ошиб­ках, недостаточное внимание к подобным вопросам либо надежда на благоприятное стечение обстоятельств не решает проблему. Несмотря на кажущуюся сложность работы в многопользовательской среде, понять механизм действия блокировки данных и способ обслуживания механизмом Jet нескольких пользователей достаточно просто. Пренебрежение подобными вопросами, как правило, приводит к возникновению бо­лее сложных проблем, затрагивающих пользователей, клиентов и влияющих на репутацию разработчика. Если для приложения не предусмотрено эффективное решение вопросов работы в многопользовательской среде, при работе с ним неизбежно будут возникать следующие проблемы:

• Новые записи не сохраняются. После ввода информации пользователь обнаруживает, что в базе данных она не появилась. Если подобная ошибка не повторяется, это говорит не об отсутствии проблемы, а о ненадежности приложения.

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

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

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

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

• Сетевое размещение. В данной конфигурации единый MDB-файл располагается на сетевом серве­ре, и пользователи получают доступ к базе данных при обращении к серверу. Данные и выполня­емые модули могут содержаться в едином MDB-файле либо размещаться на файловом сервере в виде нескольких отдельных файлов. Преимуществом данной конфигурации является простота поддержки, поскольку при необходимости в обновлении нуждается лишь выполняемый файл. Однако, поскольку все формы, отчеты, модули, запросы, ЕХЕ-файлы Access, а также все библиотеки DLL и т.п. должны передаваться по сети на рабочую станцию, сетевой трафик неоправданно возрастает, а производительность значительно снижается. Вероятно, в подобных конфигурациях следует исполь­зовать связанные формы. Далее рассматриваются проблемы связывания форм с данными и возни­кающие при этом конфликты доступа.

• Разделенная база данных с размещенными в сети данными. Такая конфигурация по традиции на­зывается конфигурацией удаленной базы данных (отметим, что значение слова «удаленная» в чрез­вычайно динамичную эпоху Internet постепенно меняется и вскоре может устареть), поскольку данные отделены от выполняемого модуля или программного кода, хотя механизм баз данных и остается локальным. В отличие от конфигурации клиент-сервер, механизм баз данных Access на пользовательском ПК получает, обрабатывает, блокирует и снимает блокировку с данных, находя­щихся в MDB-файле на сетевом сервере. Работа в такой конфигурации зависит от механизмов баз данных одновременно работающих пользователей, а также от возможностей файлового сервера, касающихся поддержания сетевого графика. До настоящего времени при размещении приложений баз данных Access предпочтение отдают именно этому методу. Его преимуществом является высо­кая производительность и управляемость при корректном использовании. Поскольку при размеще­нии данных в сети по каналам связи передаются только они, сетевой трафик значительно снижается. Основной недостаток данной конфигурации заключается в том, что на каждом клиентском ПК необходимо устанавливать Access и выполняемый MDE- (скомпилированный вариант базы данных MDB) либо MDB-файл, что осложняет поддержку приложения. Тем не менее, существуют спосо­бы решения подобной проблемы.

• Репликация. При использовании схемы репликации пользователи совместно обрабатывают данные, хотя данные на самом деле не являются общими, как это имеет место в схемах сетевого распре­деления или в разделенных базах данных. В схеме репликации каждый пользователь или небольшая группа пользователей имеет собственную копию данных, которые посредством механизма репликации Jet синхронизируются с другой базой или базами данных. Одно из преимуществ такой схемы, когда каждому пользователю предоставляется копия данных, состоит в полном исключении проблемы блокировки, но вместо них возникают проблемы репликации, степень сложности которых являет­ся практически такой же. Другим значительным преимуществом репликации является возможность асинхронного доступа к данным для отключенных от сети пользователей. Вместе с тем существует еще один недостаток такой схемы: при совместном использовании источника данных даже небольшой группой пользователей все же существует возможность возникновения как конфликтов доступа, так и проблем репликации.

• Конфигурация клиент-сервер. В Access 2000 появилась новая возможность создания клиент-сервер­ных приложений на базе проекта Microsoft Access. В такой конфигурации удаленными являются как данные, так и механизм баз данных. Если данными управляет SQL Server, Oracle или какой-либо иной сервер баз данных, расположенный на центральном компьютере, он также решает вопросы блокировки и проблемы работы в многопользовательской среде. Это не означает, что разработчик избавлен от необходимости решения всех связанных с ними задач, просто ему приходится иметь дело с иными наборами свойств, возможностей и правил. Основными преимуществами такой конфигу­рации являются высокая производительность, стабильность, возможность обслуживания большого количества пользователей и выполнения множества задач. Наибольший недостаток данной конфи­гурации состоит в высокой стоимости и значительной сложности.

В данной главе рассматриваются вопросы, которые являются общими для сетевых конфигураций: схе­мы разделенной базы данных и реализации архитектуры клиент-сервер. О репликации рассказывается в главе 22.

При использовании Access существует ряд установок на уровне базы данных (для форм, запросов, наборов записей) и на уровне выполняемого кода, которые требуют взаимного координирования в це­лях обеспечения надежного обслуживания приложением нескольких пользователей. В различных частях приложения представлены почти все обсуждаемые в главе темы. Как для разных приложений, так и в пределах одной программы возможно применение разных технологий, а также их комбинаций. Основой организации работы в многопользовательской среде является планирование, прогнозирование и тестирование.

Access и способы блокировки в Jet

Механизм Jet имеет схему блокировки, которая позволяет эффективно обслуживать несколько пользо­вателей. При использовании Jet с Access, а не с VB или каким-либо иным инструментом разработки необходимо учитывать, что некоторые действия выполняются по умолчанию. Данный раздел посвящен изучению этих вопросов.

Основные сведения о блокировке

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

В диалоговом окне Options (Параметры), отображающемся при выполнении команд меню Tools Options (Сервис / Параметры), во вкладке Advanced (Другие) имеется параметр Default open mode (Режим откры­тия, определенный по умолчанию). Здесь можно определить режим открытия базы данных, т.е. должна ли она открываться для монопольного доступа (только для одного пользователя на весь сеанс работы) или для общего доступа.

Если выбран режим Exclusive (монопольный доступ), базу данных имеет право открывать только один пользователь. В этом случае Access изменяет заголовок LDB-файла, тем самым блокируя его (подробнее об этом см. в разделе «LDB-файл») и запрещая доступ к данным для всех других пользователей. Очевид­но, для многопользовательского приложения такая настройка использоваться не должна. Однако такие процедуры, как сжатие и восстановление, следует выполнять над базой данных, открытой для монополь­ного доступа.

Режим Shared (Общий доступ) позволяет открывать базу данных нескольким пользователям одновре­менно. При этом Access в момент открытия базы данных заносит информацию о подключившихся к ней пользователях в LDB-файл и задействует механизм блокировки и освобождения страниц и строк.

Эти и другие параметры можно задавать в командной строке во время запуска приложения Access. Некоторые из них перечислены в табл. 1.

Таблица 1 Параметры командной строки при запуске Access

Как создать и настроить ADP проект Access на работу с SQL сервером

Продолжаем осваивать Access, и сегодня мы будем рассматривать настройки подключения ADP проекта к SQL серверу. Мы научимся создавать adp проекты Access и настраивать их на работу с MSSql сервером, а также затронем немного теории про adp и ade проекты.

Тему Access и SQL сервера мы не раз уже затрагивали, так как такая связка клиент сервер как Access+MSSql достаточно популярна в малых и средних предприятиях. Если Вы не знаете что такое связка «клиент сервер» советую ознакомиться с материалом Что такое взаимодействие клиент сервер?.

Так же, как я уже сказал, на этом сайте написана не одна статья про Access и SQL сервер, поэтому кому интересно рекомендую ознакомиться со следующим материалом:

Примечание! Все примеры мы будем рассматривать, используя Access 2003 и MSSql 2008. ОС Windows 7.

Что такое ADP и ADE проекты?

ADP (Access Data Project) – это проект приложения, которое выступает в качестве клиента доступа к базе данных.

ADE (Access Data Extension) – это тоже самое, но с одним существенным отличием, а именно, в adp проекте храниться код VBA который можно редактировать, т.е. вносить изменения, а в ade проекте это сделать не получится, другими словами тот же самый код там есть, но его уже нельзя вывести на редактирование. Обычно используют adp проект для разработки, затем его преобразовывают в ade и уже его отдают пользователям, чтобы те в свою очередь ничего там не изменили в плане логики программы, т. е. самого кода.

Как создать и настроить ADP проект

Запускам Access, и жмем Файл->Создать

Затем с лева появиться окно «Создание файла» в нем выбираем «Проект с имеющимися данными», так как подразумевается, что на SQL сервере у Вас уже есть данные, другим словами база.

После нажатия у Вас откроется окно, где необходимо выбрать папку, в которую Вы хотите сохранить проект и ввести имя этого проекта, и можете нажимать кнопку «Создать»

А вот как раз потом откроется окно «Свойства канала передачи данных» т.е. настройки подключения

  1. Адрес сервера – я указал localhost, так как мой сервер расположен на этом же компьютере;
  2. Параметры авторизации – я указал «Встроенную безопасность Windows NT», это означает, что будут использованы учетные данные, которыми я загрузил ОС, т.е. доменная учетная запись, так как, для примера свой компьютер я ввел в домен. А если выбрать другой вариант, то необходимо будет ввести свои учетные данные (логин и пароль) которые были заведены на самом SQL сервере;
  3. База данных – я выбрал test, так как на данном сервере у меня создана такая база данных. Вы же выбираете необходимую Вам, т.е. ту базу, с которой будет работать этот adp проект. В дальнейшем, кстати, можно будет изменить настройки подключения, чуть ниже я покажу как.

После того как Вы ввели все параметры подключения, можете нажать «Проверить соединение» и если у Вас вышло сообщение об успешной проверке, то смело нажимайте «ОК».

Все, Вы подключились к базе данных на SQL сервере, о чем может свидетельствовать список объектов (Таблиц, запросов), у меня, например, в этой тестовой базе есть всего одна таблица с названием test_table, и если я нажму на кнопку «Таблицы» то увижу ее, а Вы соответственно все свои таблицы.

Изменяем настройки подключения ADP проекта

Теперь в случае если у Вас возникнет необходимость изменить параметры подключения, например, подключиться к другой базе или к другому серверу, то нажимаем Файл->Подключение

И у Вас откроется все тоже окно настройки подключения к SQL серверу.

Как создать ADE проект

После того как Вы полностью разработали проект, создали формы, отчеты в которых Вы, конечно, программировали на VBA, в общем, Вам нужно только отдать этот проект пользователям, но Вы будете отдавать не его, а ADE проект, чтобы пользователи не смогли вносить изменения в код VBA, а что бы его создать нажимаем Сервис->Служебные программы->Создать файл ADE

Но скорей всего Вас предупредят о том, что нельзя создать ADE проект с текущей версией формата базы данных проекта

Но это легко исправить, путем преобразования ADP проекта к версии формата Access 2003, для этого нажимаем Сервис->Служебные программы->Преобразовать проект->в формат Access 2002-2003

У Вас откроется окно сохранения нового проекта, Вы его сохраняете, затем запускаете и можете смело создавать ADE проект вышеуказанным способом.

На этом предлагаю закончить с настройками подключения ADP проекта, как видите, ничего сложного в этом нет, но если у Вас все равно возникают вопросы, то задавайте их в комментариях.

Многопользовательский доступ к базам данных с помощью Microsoft SQL Server 2000: Методические рекомендации по выполнению лабораторной работы

Страницы работы

Содержание работы

Многопользовательский доступ к базам данных
с помощью Microsoft SQL Server 2000

Лабораторная работа №4

Знакомство с архитектурой и организацией баз данных «клиент — сервер» на основе преобразования локальной базы данных MS Access в базу данных MS SQL Server 2000.

2.1. Базы данных с архитектурой клиент/сервер

По архитектуре доступа к данным БД разделяются на следующие категории:

· локальные (настольные, однопользовательские),

В локальных базах данных на компьютере между прикладной программой (интерфейсом пользователя) и физическими файлами (хранилищем) данных функционирует ядро БД. В Access ядро БД Jet реализовано в виде набора файлов динамической библиотеки. Компоненты ядра читают, изменяют, записывают данные и управляют всеми служебными операциями.

В многопользовательских системах БД используется архитектура файл/ сервер или клиент/сервер. При этом архитектура клиент/сервер занимает доминирующее положение в современных системах обработки данных. Большинство СУБД, например, MS SQL Server, Oracle, Informix, Interbase, Sybase, MySQL и др., поддерживают такую архитектуру.

На рис.1 показаны различия архитектур файл/сервер и клиент/сервер

Рис.1. Структуры многопользовательских систем БД файл/сервер (а) и клиент/сервер (б).

Система файл/сервер функционирует как совместно используемый рабочими станциями жесткий диск сервера в локальной вычислительной сети. При этом СУБД или её ядро устанавливается на каждой рабочей станции. Такой сервер не способен обрабатывать запросы клиентов. Поэтому он вынужден пересылать на рабочую станцию (клиенту) для обработки всю необходимую информацию. Например, если требованиям запроса удовлетворяют всего несколько записей из всей таблицы, то на рабочую станцию передается полностью вся таблица. Это может резко повысить сетевой трафик и замедлить работу при многопользовательском доступе к БД. Структура файл/сервер может использоваться при числе одновременно работающих пользователей до
10 – 20, при большем количестве пользователей Access уже не справляется с нагрузкой.

В системах клиент/сервер всегда работают две программы: программа-клиент и программа-сервер. Программы-клиенты, являющиеся активными, обращаются с запросами к пассивной программе-серверу, которая обрабатывает запросы и возвращает результаты обработки программам — клиентам. Ядро БД размещается на сервере и способно одновременно обслуживать множество приложений-клиентов, выполняя обработку запросов и возвращая приложениям результаты обработки на сервере. Преимущества систем клиент/сервер:

1. Обеспечивается одновременный доступ к БД многих пользователей.

2. Повышается общая производительность системы.

3. Резко сокращается сетевой трафик.

4. Предоставляются более широкие возможности по защите данных от несанкционированного доступа и администрированию системы.

2.2. Преобразование БД MS Access в БД формата MS SQL Server 2000

Одной из наиболее популярных СУБД, используемых в многопользовательских базах данных с большим количеством пользователей, является MS SQL Server. Рассмотрим принципы организации базы данных типа «клиент-сервер» на примере экспорта ранее созданной базы формата MS Access в формат Microsoft SQL Server.

СУБД MS Access содержит специальный Мастер преобразования баз данных из формата Access в формат Microsoft SQL Server. Этот мастер позволяет преобразовать и перенести базу данных Access в существующую или новую базу данных на SQL Server, или создать новый проект Access 2002. Перед преобразованием можно разделить файл приложения Access на два файла: файл объектов данных и файл объектов приложения.

В Access 2007 Мастер преобразования запускается на вкладке «Работа с базами данных» → «Переместить данные» кнопкой → «SQL Server» (рис.2., рис3).

Рис. 2. Местоположение кнопки вызова мастера преобразования баз данных в формат Microsoft SQL Server на ленте СУБД MS Access.

Рис.3. Начало работы с мастером преобразования.

На данном этапе мастеру необходимо указать имя сервера баз данных и имя пользователя, под которым осуществляется администрирование этого сервера. Если имена пользователя в MS SQL Server и операционной системе совпадают, то можно воспользоваться доверительным соединением, но в целях безопасности делать это рекомендуется не всегда, поскольку существует риск того, что информацией хранящейся в базе данных могут воспользоваться сторонние лица, работающие в операционной системе под тем же именем.

Рис.4. Окно выбора сервера для базы данных.

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

Рис.5. Выбор таблиц для переноса на сервер баз данных.

Помимо таблиц, на сервер можно перенести их индексы, связи и все то, что потом позволит увеличить быстродействие и адекватность при обработке запросов к базе данных (рис.6.).

Рис.6. Выбор атрибутов таблиц для переноса на сервер баз данных.

Работа с проектом Microsoft Access очень похожа на работу с базой данных Microsoft Access. Процессы создания форм, отчетов, страниц доступа к данным, макросов и модулей практически не отличается от таковы

Совместное использование Access

Глава 18. Совместное использование БД несколькими пользователями

Глава 19. Импорт и экспорт данных

Глава 20. Подключение Access к SQL Server

Глава 21. Подключение Access к SharePoint

Глава 18

Совместное использование БД несколькими пользователями

Теперь, когда совершенная БД создана, возможно, вы захотите использовать ее совместно с друзьями и коллегами. В одних руках программа Access— первоклассное средство управле-ния данными. Но когда пристрастие разделяет группа людей, программа предоставляет от-личную возможность для совместной работы.

Совместное использование БД особенно важно, если она играет связующую роль в организании. Представьте себе, что вы создаете БД, которая отслеживает проекты компании и сроки их выполнения. (Обычно такая БД формируется как экономящее время средство в руках фаната Access, у которого есть небольшой избыток свободного времени.) Вскоре у других отделов возникает желание примкнуть к вам и сохранять свои проекты в вашей БД. И возможности этим не ограничиваются; если вы используете БД совместно с достаточно широкой аудиторией, можно собрать воедино все виды связанных задач. Сотрудники могут регистрировать время, потраченное на каждый проект. Тестировщики качества продукции могут фиксировать все нерешенные проблемы, влияющие на проект. Руководители проек­тов могут обозначить проекты с требующими напряжения сроками, главные начальники могут рассчитать премии, а генеральный директор оценить с высоты орлиного полета всю работу своей компании. Очень скоро будет трудно представить себе жизнь без вашей БД Access.

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

 

 

Открытие вашей базы данных всему миру

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

В целом у вас есть четыре основных подхода для того, чтобы предоставить свои данные массам.

§ Экспортирование данных. Можно взять данные из вашей БД и экспортировать их в дру­гой формат (например, в Web-страницу на языке HTML или электронную таблицу Excel). Этим путем можно пойти, если у пользователей, которым нужны ваши данные, нет программы Access. Как экспортировать данные, вы узнаете в главе 19.

Копирование вашей БД. Можно предоставить другим пользователям копию вашей БД. Например, если у вокальной группы "Uncle Earl" есть копия Access, можно послать им по электронной почте список семейных адресов. Ограничение такого подхода состоит в отсутствии легкого способа синхронизации изменений в разных копиях. Если группа "Uncle Earl" добавит несколько новых людей в список, ваш исходный список останется прежним. Если вы измените исходный список, устареет копия группы "Uncle Earl".

Переход на серверное программное обеспечение. Можно перенести ваши данные на серверный программный продукт промышленного уровня, например SQL Server или SharePoint. После этого практически неограниченное число пользователей сможет получать данные. Каждый из них использует собственную копию программы Access для соединения с сервером, у которого есть централизованное хранилище информации. Очевидный недостаток такого подхода — сложность, поскольку настройка подобных программных продуктов — непростая задача даже для технически образованных пользователей. Вы опробуете два лучших варианта подобного подхода в главе 20 (SQL Server) и в главе 21 (SharePoint).

Применение средств коллективного использования программы Access. Можно поместить вашу БД в папку с общим доступом (например, на сетевой диск), чтобы несколько человек могли использовать ее одновременно. В этом случае все работают с одним и тем же множеством данных (и изменения, сделанные группой "Uncle Earl", не пропадут). При таком подходе программа Access должна координировать работу пользователей. Если у вас небольшая группа — скажем, не более 40 человек используют вашу БД одновременно - коллективное использование будет функционировать. Но если группа достаточно велика, программа Access для нее не подойдет. В этом случае нужен серверный программный продукт, который рассчитан на большие объемы и многопользовательский доступ. (В следующем разделе приведен удобный перечень, который поможет решить, годится ли вам такой подход.)

Данная глава целиком посвящена последнему, приведенному в списке подходу — много­пользовательской поддержке, жестко запрограммированной в Access. Но перед тем как на­чать, важно выяснить ограничения, с которыми вы столкнетесь, чтобы оценить, удовлетво­ряют ли вашим нуждам средства, предлагаемые программой Access.

 

 

Как действует многопользовательская поддержка в Access

Разобраться в средствах коллективного использования БД программы Access легко. Снача­ла нужно поместить файл с вашей БД в такое место, к которому у всех есть доступ — напри­мер, в папку с общим доступом на вашем компьютере или (что еще лучше) в папку на сер­верном компьютере в сети вашей компании. Теперь всем, кто хочет использовать БД, достаточно открыть ее файл.

Звучит, просто, не так ли? Но не торопитесь. Прежде чем реорганизовывать работу це­лой компании, ориентируя ее на единственный файл БД, следует учесть несколько чисел. Далее приведены некоторые индикаторы, свидетельствующие о том, что многопользова­тельская поддержка Access вам подойдет.

Не более 40 человек одновременно пользуются БД. Количество пользователей, одновременно обращающихся к БД, — это ключевой момент. Вы можете использовать одну и туже БД совместно с сотнями пользователей, при условии, что все они не будут открыватьэту БД одновременно.

Примечание

Это число (40) — осмысленная рекомендация, а не железное правило. Некоторые гуру Access проектировали БД, которые могли выдерживать от 90 до 100 одновременных пользователей. Но без серьезных (и сложных) оптимизационных мер вы очень скоро упретесь в кирпичную стену.

 

§ Не более 15 человек одновременно изменяют БД. Читать БД легко, а обновление БД со­пряжено с некоторыми серьезными проблемами. Очевидная проблема возникает, когда несколько человек разными способами пытаются изменить одну и ту же запись одновре­менно. Из-за проектных особенностей программы Access даже те изменения, которые не приходят в столкновение друг с другом, могут снизить общую производительность. Вы попытаетесь преодолеть это затруднение позже в данной главе, когда будут обсуждаться блокировки (см. разд. "Применение блокировок для предотвращения наложения обновле­ний "далее в этой главе).

 

Примечание

Это число (15) — рекомендация с перестраховкой. Если разные пользователи вносят измене­ния в совершенно разные таблицы, возможно, вам удастся протолкнуть и больше одновремен­ных корректировок. С другой стороны, если все захотят изменить несколько одних и тех же записей, вы можете попасть в аварийную ситуацию и раньше. Если сомневаетесь, попробуйте.

 

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

Разные пользователи намерены работать с разными таблицами. Если все, кто пользуется вашей БД, выполняют одну и ту же задачу (и обращаются к одной и той же таблице), у вас будут проблемы. Но если один пользователь поддерживает каталог товаров, еще пять вводят заказы, а шестой регистрирует их отправку, вы в гораздо лучшей ситуации. Несмотря на то, что все пользуются одной и той же БД, их работа не перекрывается.

Ваша БД не является критически важной. Данные всегда важны. Но если вы обеспечиваете работу компании, занимающейся электронной коммерцией, с помощью Web-сайта, функционирующего 24 часа в сутки, вам не избежать хотя бы кратковременных затруднений. К сожалению, программа Access не может гарантировать такого рода стабильности. Хотя подобные ситуации случаются редко, внезапные сетевые проблемы или сбой компьютера в момент, когда пользователь вносит изменения, могут с большой долей вероятности повредить вашу БД.

 

Примечание

Всем почитателям программы Access следует выполнять регулярные копирования своих БД в течение дня. Для автоматизации этого процесса можно применять средства планирования (например, Планировщик заданий ОС Windows).

Не будет преувеличением сказать, что многопользовательские БД Access — основное ре­шение для многих маленьких компаний. Но если вы ознакомились с ограничениями про­граммы и решили, что Access не сможет удовлетворить ваши потребности, самое время пе­рейти на более мощный программный продукт, например, SQL Server. (He паникуйте —

доступна бесплатная версия, и вы можете управлять вашими данными в привычном интер­фейсе Access.) Вы узнаете об SQL Server в главе 20 и о SharePoint Server в главе 21.

С другой стороны, если программа Access соответствует вашим потребностям, поздрав­ляю — вы всего в одном шаге от преобразования вашей одинокой однопользовательской БД в ресурс, которым сможет пользоваться вся ваша компания. Просто читайте дальше.

 

 

Подготовка вашей базы данных

Если вы добрались до этих строк, значит, вы решили, что многопользовательские средства программы Access — все, что вам нужно. Но прежде чем ваша БД станет общедоступной, возможно, потребуется несколько изменений. Наиболее важное из них — разделение БД -часто пропускаемый, несмотря на важность, этап, придающий вашей многопользователь­ской БД дополнительную надежность.

 

 

Примечание

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

 

 

Что такое разделенная БД

Разделенная база данных — это БД, объекты которой разделены на два отдельных файла:

внутренняя или серверная БД (back-end database) содержит исходные данные — иначе говоря, таблицы и ничего больше;

внешняя или клиентская БД (front-end database) содержит все, чем вы пользуетесь при работе с таблицами, а именно все объекты БД других типов, например, запросы, отчеты, формы и макросы.

После разделения базы данных внутренняя БД помещается в общедоступное место (например, на сетевой диск). Внешняя БД функционирует несколько иначе. Ее копируют на все компьютеры, которые собираются использовать внутреннюю БД. На рис. 18.1 показан этот принцип работы.

Разделенные БД обладают рядом достоинств.

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

Более легкое обновление. Изменение данных в многопользовательской БД относительно безопасно для людей, но программа Access плохо справляется с неразберихой, возникающей при попытках пользователей изменить структуру объектов БД. Разделенная БД I
лишена этой проблемы, поскольку объекты, которые часто нуждаются в корректировках, например запросы, отчеты и формы, находятся в клиентской БД. Если эти объекты нужно модифицировать (или добавить новые), можно безопасно изменить клиентскую БД на одном компьютере, а затем распространить ее между всеми, кому она понадобится.


 
 

Такой подход не только легче, но и гораздо надежнее, т. к. не может возникнуть неразре­шимая проблема, именуемая разрушением или повреждением БД (см. разд. "Повреждение данных" далее в этой главе).

 

Рис. 18.1. В системе с разделенной БД у вас одна внутренняя или серверная БД, централизованно хранящая данные, и несколько внешних или клиентских БД для каждого пользователя, подключающегося к вашей БД

§ У разных людей разные клиентские БД. Когда применяется БД коллективного пользова­ния, можно создать разные клиентские БД для разных типов пользователей — например, отделу маркетинга необходимы отчеты, отображающие сведения о продажах, а сотруд­никам склада нужна форма, которая выводит на экран невыполненные заказы. Этим подходом можно воспользоваться для того, чтобы наверняка не показывать пользовате­лям формы, отчеты и таблицы, не предназначенные для них, что снизит риск мелких ошибок (например, генеральный директор случайно не уничтожит весь каталог товаров). Но не впадайте в крайность — чем больше создается вариантов клиентских БД, тем больше усилий понадобится для их сопровождения.

 

 

Примечание

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

У вас есть два способа разделения БД. Можно воспользоваться мастером или сделать это вручную с помощью средств экспорта и импорта программы Access. В следующих разделах описаны оба метода.

 

 

Для тех, кто понимает.

Читайте также:

 

Методические рекомендации по выполнению лабораторной работы

 Многопользовательский доступ к базам данных
с помощью Microsoft SQL Server 2000

Лабораторная  работа  №4

1.  ЦЕЛЬ   РАБОТЫ

Знакомство с архитектурой и организацией  баз данных  «клиент - сервер» на основе преобразования локальной  базы данных MS Access в базу данных MS SQL Server 2000.

2.  КРАТКИЕ  СВЕДЕНИЯ

  2.1. Базы данных с архитектурой клиент/сервер

По архитектуре доступа к данным БД разделяются на следующие категории:

·  локальные (настольные, однопользовательские),

·  системы файл/сервер,

·  системы клиент/сервер.

В локальных  базах данных на компьютере  между прикладной программой (интерфейсом пользователя) и физическими файлами (хранилищем) данных функционирует  ядро БД. В Access ядро БД Jet реализовано в виде набора файлов динамической библиотеки. Компоненты ядра читают, изменяют, записывают данные и  управляют всеми служебными операциями.

 В многопользовательских системах БД используется архитектура файл/ сервер или клиент/сервер.  При этом архитектура клиент/сервер занимает доминирующее положение в современных системах обработки данных. Большинство СУБД, например, MS SQL Server, Oracle, Informix,  Interbase, Sybase, MySQL и др., поддерживают такую архитектуру.

На рис.1 показаны различия архитектур файл/сервер и клиент/сервер

                          а)                                                                             б)

Рис.1.  Структуры многопользовательских систем БД файл/сервер (а) и клиент/сервер (б).

            Система файл/сервер функционирует как совместно используемый рабочими станциями жесткий диск сервера в локальной вычислительной сети. При этом СУБД или её ядро устанавливается на каждой рабочей станции. Такой сервер не способен обрабатывать запросы клиентов. Поэтому он вынужден пересылать на рабочую станцию (клиенту) для обработки всю необходимую информацию.  Например, если требованиям запроса удовлетворяют всего несколько записей из всей таблицы, то на рабочую станцию передается полностью вся таблица. Это может резко повысить сетевой трафик и замедлить работу при многопользовательском доступе к БД.  Структура файл/сервер может использоваться при числе одновременно работающих пользователей до
10 – 20, при большем количестве пользователей Access уже не справляется с нагрузкой.

В  системах клиент/сервер всегда работают две программы:  программа-клиент и программа-сервер. Программы-клиенты, являющиеся активными, обращаются с запросами к пассивной программе-серверу, которая обрабатывает запросы и возвращает результаты обработки программам - клиентам. Ядро БД размещается на сервере и способно одновременно обслуживать множество приложений-клиентов, выполняя обработку запросов и возвращая приложениям результаты обработки на сервере. Преимущества систем клиент/сервер:

1.  Обеспечивается одновременный доступ к БД многих пользователей.

2.  Повышается общая производительность системы.

3.  Резко сокращается сетевой трафик.

4.  Предоставляются более широкие возможности по защите данных от несанкционированного доступа и администрированию системы.

2.2.   Преобразование БД  MS Access в БД формата MS SQL Server 2000

Одной из наиболее популярных СУБД, используемых в многопользовательских базах данных с большим количеством пользователей, является MS SQL Server.  Рассмотрим принципы организации базы данных типа «клиент-сервер» на примере экспорта ранее созданной базы формата MS Access в формат Microsoft SQL Server.

            СУБД MS Access содержит специальный Мастер преобразования баз данных из формата Access  в формат Microsoft SQL Server.  Этот мастер позволяет преобразовать и перенести базу данных Access в существующую или новую базу данных на SQL Server, или создать новый проект Access 2002.   Перед преобразованием  можно разделить файл приложения Access на два файла: файл объектов данных и файл объектов приложения.

В Access 2007 Мастер преобразования запускается на вкладке  «Работа с базами данных» → «Переместить данные» кнопкой → «SQL Server» (рис.2., рис3).

Рис.2. Местоположение кнопки вызова мастера преобразования баз данных в формат Microsoft SQL Server на ленте СУБД MS Access.

Рис.3. Начало работы с мастером преобразования.

            На данном этапе мастеру необходимо указать имя сервера баз данных и имя пользователя, под которым осуществляется администрирование этого сервера.  Если имена пользователя в MS SQL Server и операционной системе совпадают, то можно воспользоваться доверительным соединением, но в целях безопасности делать это рекомендуется не всегда, поскольку существует риск того, что информацией хранящейся в базе данных могут воспользоваться сторонние лица, работающие в операционной системе под тем же именем.

Рис.4. Окно выбора сервера для базы данных.

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

Рис.5. Выбор таблиц для переноса на сервер баз данных.

            Помимо таблиц, на сервер можно перенести их индексы, связи и все то, что потом позволит увеличить быстродействие и адекватность при обработке запросов к базе данных (рис.6.).

Рис.6. Выбор атрибутов таблиц для переноса на сервер баз данных.

            Работа с проектом Microsoft Access очень похожа на работу с базой данных Microsoft Access. Процессы создания форм, отчетов, страниц доступа к данным, макросов и модулей практически не отличается от таковых при создании базы данных Microsoft Access. Подключившись к базе данных Microsoft SQL Server, из окна проекта можно просматривать, создавать, изменять и удалять таблицы, представления, сохраненные процедуры, определяемые пользователем функции и схемы баз данных с помощью конструктора баз данных, конструктора таблиц, конструктора запросов, построителя запросов и текстового редактора SQL. Этап, связанный с выбором приложения для базы данных позволяет оставить ранее созданное в СУБД MS Access приложение или создать проект, подразумевающий частичный перенос элементов приложения на сервер и их компиляцию в единое целое (рис.7.). Второй вариант является, как правило, является  наиболее предпочтительным, поскольку в большей степени соответствует архитектуре «клиент-сервер» и снимает нагрузку по обработке данных с отдельных рабочих станций. При этом создается новый файл проекта  Access.

Рис.7. Окно выбора изменений для приложения баз данных.

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

UI Builder для Microsoft Access


Часы демо


(нажмите выше для слайд-шоу)


Сделайте каждый проект уникальным: изменять кнопки меню, макеты и цвета без код. Захват ошибок с помощью UI Builder's встроенный журнал событий, автоматически исправить сломанные связанные таблицы и поддерживать дружественный интерфейс каталоги форм, отчетов и запросов с четкие описания.И потому что UI Builder совместим с MS Access 2000 через Access 2007 и MS Access 2010, у вас есть один инструмент, который обновится вместе с вами.

"UI Builder обеспечивает интуитивно понятный интерфейс как для разработчика, так и для конечного пользователя. Позволяет вы можете создать удобное для навигации приложение доступа ваши пользователи оценят. Имеет ли мои приложения базы данных выглядят так, как будто они были созданы профессионально.Рекомендуется 100% ". –jap412 с Download.com

"UI Builder мне очень помог! Прост в использовании. Прекрасно выглядящий формат. Быстрая установка и начало работы ". - заполнитель с Download.com

"Спасибо! Ваш продукт дает мои приложения свежий вид после всех этих лет, который делает большая разница для моего клиента ». –Финансовый Менеджер по обслуживанию, Великобритания

"UI Builder сэкономил мне много часов разработки время...конечные пользователи ценят легкость, с которой они могут перемещаться по приложению ". - Кен Шерман, инженер-программист, Donaldson Компания



Microsoft Access 2000, 2003, Microsoft Access 2007, Microsoft Access 2010, Microsoft Access 2013, Microsoft Access 2016 и Microsoft Access 2019 (32- и 64-разрядные версии для всех).

Microsoft и Офис логотип являются товарными знаками или зарегистрированными товарными знаками Microsoft Корпорация в США и / или других странах.

Да - Microsoft Access работает в многопользовательской среде

Мишель Мейер: владелец LinkedIn OFFICE DATA Group

Одно из самых больших заблуждений о Microsoft Access заключается в том, что он не справляется со сложностями. Что касается многопользовательской среды, многие профессионалы продолжают работать в соответствии с парадигмой, согласно которой MS Access не работает должным образом в многопользовательской среде. Это предположение - досадная и дорогостоящая ошибка.

Я работаю с MS Access с версии 2.0 еще в середине 1990-х. Я наблюдал, как Access прошел через все различные обновления и преобразования. У меня также есть большой опыт работы с SQL. По опыту могу сказать, что Microsoft Access очень хорошо обслуживает многих моих клиентов в многопользовательской среде. MS Access - это инструмент. И, как и любой другой инструмент, его нужно использовать правильно. Итак, есть лучшие протоколы для использования MS Access, но есть и лучшие протоколы для разработки в любом другом программном обеспечении баз данных.

Протоколы передовой практики в отношении Microsoft Access - это не только мое мнение как программиста с более чем 20-летним опытом.Протоколы передовой практики определены Microsoft. Вообще говоря, если следующие проблемы решены должным образом, MS Access будет очень хорошо работать в многопользовательской среде.

Блокировка записи : В многопользовательской среде блокировка записи имеет решающее значение. Блокировка записи не позволяет двум людям редактировать одну и ту же запись одновременно. В многопользовательской среде блокировка записи должна быть установлена ​​следующим образом:

  1. Открытый режим по умолчанию - Общий
  2. Блокировка записи по умолчанию - Отредактированная запись
  3. Эти параметры можно найти в Access 2010, выполнив следующие действия:
  • Файловое меню
  • Нажмите Параметры
  • Щелкните Параметры клиента на левой панели меню параметров
  • Прокрутите страницу Client Settings , пока не найдете Advanced Settings
  • Задайте расширенные настройки, как определено выше.

Разделите базу данных : Разделение базы данных Access значительно повысит производительность в многопользовательской среде. Вообще говоря, разделение базы данных Access означает отделение функций хранения данных от функций обработки данных. Хранение данных управляется таблицами. Обработка данных управляется с помощью форм (для ввода данных), запросов, отчетов и других объектов обработки. Для разделения базы данных компонент хранилища «отделяется» от форм, отчетов, запросов и отчетов.После того, как база данных Access будет разделена, появятся серверный файл (таблицы данных) и файл внешнего интерфейса (приложение данных).

Есть несколько разных способов разделить базу данных Access.

  1. Таблицы данных могут храниться в файле данных Access
  2. Таблицы данных могут быть сохранены в файле SQL

В любом случае таблицы данных хранятся отдельно от основного приложения Access. Затем серверные таблицы связываются с основным клиентским приложением для доступа к данным.Большинство моих клиентов работают в многопользовательских средах, и каждый многопользовательский клиент работает с разделенной базой данных.

Использование SQL играет важную роль из-за разных факторов. Большие объемы данных, большие объемы конечных пользователей, емкость и возможности сети - все это играет роль в определении того, когда использовать SQL через серверную часть Access.

Прочие соображения

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

Microsoft Access - не идеальное решение всех проблем с обработкой данных. Но тогда действительно нет идеального решения. Офисные данные по своей природе динамичны, поэтому для них требуются решения для динамической обработки данных.

Одно из моих самых больших разочарований по поводу MS Access заключается в том, что Microsoft действительно не разработала эффективных средств развертывания Access в онлайн-среде. Это можно сделать, но это непросто. Я был взволнован, когда они представили Sharepoint, потому что вся их литература обещала, что можно будет развернуть базы данных Access на сайте Sharepoint.Технически это правда. Но на практике это просто не работает, по крайней мере, со сложными базами данных. Я обнаружил, что Sharepoint может сыграть роль, в лучшем случае, это ограниченная роль. Если внутренние файлы - это SQL, то можно собирать данные через форму Sharepoint и использовать эти данные в Access. Но Sharepoint не обладает такой способностью к сложности, как Access.

Если я разочарован ограничениями Access в отношении онлайн-приложений, в большинстве других случаев я был бы достаточно доволен, чтобы продолжать использовать и рекомендовать программное обеспечение.Access хорошо выдерживает критику. Он продолжает оставаться самым продаваемым программным обеспечением для настольных баз данных на рынке, и не без оснований. Развивается быстрее и дешевле других вариантов. Он довольно хорошо интегрируется с Excel, Outlook, SQL и другими программными продуктами. Конечные пользователи могут узнать, как выполнять базовые операции в Access (например, писать свои собственные отчеты, запросы и т. Д.). При правильной настройке он отлично работает в многопользовательской среде.

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

  1. Сложные экраны ввода данных, необходимые для сбора данных в различные таблицы
  2. Возможности составления сложных отчетов, необходимых для составления отчетов по такому количеству таблиц.
  3. Возможности сложных запросов, необходимых для обработки такого большого объема данных
  4. Объем трафика по сети, необходимый для управления многопользовательской средой с высокой нагрузкой данных.

MS Access недооценивается и не используется во многих организациях. Это действительно очень плохо; Это дорогостоящая ошибка - отказаться от продукта просто из-за неправильных представлений о его возможностях. Поскольку Access разрабатывается намного быстрее, чем другие клиентские приложения, это очень экономичный выбор для множества нужд обработки данных. Мало того, Access - фантастический инструмент для адаптации и развития управления данными. Данные динамические. Так было всегда и всегда будет.Поскольку данные являются динамическими, необходимо найти гибкий инструмент обработки данных. Доступ чрезвычайно гибкий; он может расти и меняться вместе с потребностями организации.

Прежде чем отказываться от Microsoft Access как инструмента для вашей организации, найдите время, чтобы действительно узнать, на что он способен. Вы будете приятно удивлены.

=================

РЕДАКТИРОВАТЬ - 26.02.2016:

Ниже приводится ссылка на дискуссию профессиональных разработчиков Microsoft Access об использовании Access в развертывании тысяч пользователей.Если вам нужна дополнительная информация об использовании Access в

Учебник по разработке баз данных Microsoft Access

Итак, вы хотите узнать, как использовать MS Access для создания мощной, гибкой бизнес-базы данных. Первый вопрос:

Что такое Microsoft Access?


MSAccess - это система управления базами данных . Он выполняет задачи управления данными так же, как MS Word. обрабатывает управление документами, а MS Excel обрабатывает статистику ...

База данных - это набор объектов, которые позволяют хранить данные, организовывать их и извлекать любым удобным для вас способом.

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

Например, если вы запускаете магазин, вы должны создать таблицу «Клиенты», таблицу «Продукты» и таблицу «Счета-фактуры». Затем, когда вы открываете учетную запись для нового клиента, у вас будет форма клиента для ввода данных клиента. в таблицу клиентов и форму заказа для ввода информации о покупке.Позже вы сможете распечатать любое количество отчетов о продажах, группирование и упорядочивание информации из таблиц счетов, клиентов и продуктов для ежедневного или еженедельного анализа или ежемесячные продажи во всевозможных комбинациях.

Чтобы помочь вам в этом, Access содержит целую серию мастеров, которые помогут вам в этом процессе.

Описание курса


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

Начнем с модели базы данных .Это означает, что вам нужно спроектировать базу данных, прежде чем вы действительно начнете ее писать. Необходимо изучить несколько основных методов, чтобы структура базы данных была надежной. Дизайн - это абсолютно необходимая часть создания базы данных.

Если вы уже прошли этап новичка и хотите глубже изучить аспект моделирования базы данных, еще до того, как вы начнете с Access, Вы можете взглянуть на наши Учебник по проектированию баз данных и языку SQL / MySQL.В обычной последовательности курсов SQL будет следующим предметом, связанным с базами данных, который вы изучаете после Access. В то время как MS Access предназначен для более мелких пользователей, SQL с MySQL или Microsoft SQL Server позволяет вам войти в область опытных пользователей.

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

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

Что дальше?


После этого руководства по Microsoft Access вы можете перейти к большим и лучшим базам данных, таким как Oracle , SQL Server или MySQL . Обучение, которое вы получите из этого учебника, даст вам право на более продвинутые занятия.

Вы также можете захотеть подключить свою базу данных Microsoft Access к приложению Visual Basic .

К концу этого курса по базам данных Microsoft Access вы сделаете хороший старт к тому, чтобы стать Полноценный программист бизнес-приложений.

Добро пожаловать в клуб!

Это может шокировать, но если вы работаете с той же версией Access, которая использовалась для создания этих руководств, вы все еще находитесь в 2003 году. Но это не так плохо, как кажется!

С 2003 года Microsoft предлагает Office Access 2007 и Office Access 2010. В версии 2007 полностью переработан интерфейс. и 2010 просто подправил его.

Важно следующее: концепции дизайна реляционной базы данных, таблицы, поля, первичные ключи, отношения, язык SQL для запросов и код VBA за объектами, все это без изменений.Интерфейс отличается, это означает, что в некоторых случаях может быть проще создавать формы или отчеты, и вы редактируете объекты по-другому, но Главный факт в том, что основной материал, который вам предстоит изучить, в любом случае скрывается за интерфейсом.

Итак, куда мы идем дальше?

Профессор предлагает вам усердно изучить эти учебные пособия , независимо от того, какую версию базы данных Access вы используете.
Здесь вы узнаете основы реляционных баз данных и инструментов Access, которые пригодятся вам при изучении других предметов.Все базы данных, которые вы создаете или загружаете может использоваться непосредственно в более поздних версиях языка. Каждая новая версия Access обратно совместима, то есть совместима с более ранними версиями.

Затем переходите к изучению других наших руководств: Office Access 2007 ,
, за которыми следуют: Office Access 2010 ,
и, в конце концов, вы захотите перейти к более продвинутым: Проектирование базы данных с SQL и MySQL

ЕСТЬ БОЛЬШЕ!


У нас есть еще много руководств, которые помогут вам с вашим I.Т. учится.

Чтобы изучить компьютерное программирование, начните с Visual Basic:

Кроме того, Microsoft Project пользуется огромной популярностью среди людей на всех уровнях управления проектами, особенно в секторе высоких технологий:

НАСЛАЖДАЙТЕСЬ ОБУЧЕНИЕМ!

Содержание учебного пособия


Урок 1 - Введение в Microsoft Access

Урок 2 - Проектирование приложения - таблицы, поля, типы данных, свойства

Урок 2b - Исправление базы данных - инструмент для восстановления поврежденных таблиц данных

Урок 3 - Создание база данных - первичный ключ, создание таблиц

Урок 4 - Определение отношений таблиц - ссылочная целостность, первичный и внешний ключи

Урок 5 - Ввод данных в таблицы - просмотр данных, сортировка и упорядочение

Урок 6 - Создание форм ввода данных - проверка данных, значения по умолчанию

Урок 7 - Построение простых запросов - сортировка, критерии выбора, работа с датами

Урок 8 - Более сложные запросы - несколько таблиц, связывание, функции

Урок 9 - Создание формы Master / Detail

Урок 10 - Меню приложения Microsoft Access - Коммутатор

Урок 11 - Создание макросов - autoexec, conditions

Урок 12 - Написание отчетов

Урок 13 - Отчеты об анализе продаж с помощью Microsoft Access

Урок 14 - Запросы действий - Обновление данных

Область загрузки - образцы баз данных Microsoft Access


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

Пользовательский поиск


Используйте Microsoft Access для взаимодействия с данными DB2

Простой способ работы с данными DB2

Kulvir Singh Bhogal
Опубликовано 4 мая 2006 г.

Многие люди склонны думать о серверах баз данных Microsoft Access и IBM DB2 как о противниках.Оба являются приложениями для баз данных. Конечно, DB2 больше подходит для корпоративных критически важных приложений с ее проверенной репутацией масштабируемости и производительности. Но мало кто понимает, что Microsoft Access может жить в гармонии с DB2. Microsoft Access можно использовать как простой в использовании интерфейс для доступа к данным DB2 и взаимодействия с ними. В этой статье показано, как это сделать. Он демонстрирует, как создавать формы и отчеты с помощью Microsoft Access, которые взаимодействуют с базовым хранилищем данных DB2.

Предполагаемое значение

В этом тандемном исследовании Microsoft Access / DB2 Universal Database предполагается, что у вас установлен Microsoft Access. Также предполагается, что у вас установлена ​​DB2 для Linux, UNIX и Windows. Вы будете создавать простую базу данных DB2, с которой будет взаимодействовать Microsoft Access. Для простоты предполагается, что DB2 и Microsoft Access сосуществуют на одной физической машине. Если ваш экземпляр DB2 находится на другом компьютере, не беспокойтесь.В этой статье также рассказывается, как общаться с экземпляром DB2 по сети.

Образец базы данных для игры с

Чтобы создать образец базы данных, выполните следующие шаги:

  1. Для целей этой демонстрации начните с запуска процессора командной строки DB2 и создания базы данных для экспериментов:
     db2 => создать базу данных accdb2 

    и подключиться к ней (я предполагаю, что у вас есть пользователь db2admin и пароль db2admin):

     db2 => подключиться к пользователю accdb2 db2admin с помощью db2admin 
  2. Создайте таблицу с именем account.Эта вымышленная таблица имитирует таблицу хранения номеров счетов:
     db2 => создать учетные записи таблиц (accountnum varchar (64) не нулевой первичный ключ,
    firstname varchar (30) not null, lastname varchar (30) not null) 

    Простота таблицы преднамерена для целей опеки.

  3. Добавьте несколько значений в базу данных:
     db2 => вставить в учетные записи значения ('0001', 'Джордж', 'Вашингтон')
     
    db2 => вставить в учетные записи значения ('0002', 'John', 'Adams')
    db2 => вставить в учетные записи значения ('0003', 'Thomas', 'Jefferson')

Ссылка на DB2

Теперь вам нужно подготовить возможность Microsoft Access взаимодействовать с вашей базой данных DB2.Это достигается за счет подключения к открытой базе данных (ODBC). Выполните следующие действия:

  1. На панели управления Microsoft Windows перейдите к значку «Администрирование» и затем выберите значок «Источники данных» (ODBC), как показано на рисунке 1 ниже:
    Рисунок 1. Значок источников данных (ODBC)
  2. Нажмите кнопку Добавить ... на вкладке «Пользовательский DSN», как показано на рисунке 2:
    Рисунок 2. Добавление источника данных
  3. На следующем экране «Создать новый источник данных» выберите IBM DB2 ODBC DRIVER и нажмите Finish .Обратите внимание, что эта опция отображается только в том случае, если вы установили компонент драйвера ODBC DB2 при установке DB2 на том же компьютере, на котором работает Microsoft Access.
    Рис. 3. Значок «Источники данных» (ODBC)
  4. Выберите ACCDB2 в раскрывающемся меню псевдонима базы данных и в поле Псевдоним базы данных укажите имя для источника данных. Я обычно добавляю DS после имени базы данных. Нажмите ОК , чтобы продолжить.
    Рис. 4. Значок источников данных (ODBC)
  5. Предполагается, что ваша база данных сосуществует на том же компьютере, что и Microsoft Access.Если это не так, вы могли бы сначала внести в каталог свою удаленную базу данных, используя команду catalog в процессоре командной строки или с помощью Ассистента конфигурирования DB2. После этого вы сможете увидеть удаленную базу данных (показанную как имя, которое вы указали в каталоге) в раскрывающемся меню Псевдоним базы данных, показанном на рисунке 4.

Связать доступ к вашим таблицам DB2

Чтобы связать Microsoft Access с Для ваших таблиц DB2 выполните следующие действия:

  1. В Microsoft Access перейдите в Файл> Новый и выберите Пустая база данных .Не волнуйтесь, вы не будете хранить наши данные в Microsoft Access, вам просто понадобится база данных Microsoft Access в качестве логического контейнера для форм и отчетов, которые вы будете создавать. Найдите место на жестком диске, где вы хотите сохранить свою базу данных. В этой статье он называется accessdb.mdb, как показано на рисунке 5. После указания имени щелкните Create .
    Рисунок 5. Создание новой базы данных в Access
  2. На следующем экране щелкните правой кнопкой мыши Tables в разделе Objects и выберите Link Tables... вариант контекста.
    Рисунок 6. Связывание таблиц
  3. На следующем экране "Связь" в раскрывающемся меню Тип файлов: выберите опцию ODBC Databases () .
    Рисунок 7. Экран связи
  4. На экране «Выбор источника данных» выберите вкладку Machine Data Source . На этой вкладке вы должны увидеть источник данных ACCDB2DS, который вы установили ранее. Выберите это и нажмите ОК .
    Рисунок 8. Выбор источника данных
  5. Введите учетные данные для подключения к базе данных DB2.Укажите свой ID пользователя DB2 и пароль и нажмите OK .
    Рисунок 9. Введите учетные данные
  6. Если ваши учетные данные приняты, вы увидите окно таблиц ссылок. Здесь вы должны увидеть таблицу DB2ADMIN.ACCOUNTS на экране таблиц. Выберите таблицу и нажмите ОК . Обратите внимание, как Microsoft Access обнаруживает все таблицы в базе данных, в том числе в схеме SYSCAT. Также обратите внимание, что в этом окне вы можете указать несколько таблиц, но для простоты выберите только одну таблицу.
    Рисунок 10. Связывание таблиц
  7. Дважды щелкните вновь созданный значок DB2ADMIN_ACCOUNTS. При этом вам должны быть представлены данные, содержащиеся в вашей таблице DB2ADMIN.ACCOUNTS, как показано на рисунке 11:
    Рисунок 11. Данные в выбранной таблице

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

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

Использование форм Microsoft Access

В этой статье не слишком углубляется процесс создания форм в Microsoft Access, поскольку эта статья не является учебным пособием по Microsoft Access. Но, скорее, он фокусируется на связывании таблиц Microsoft Access и DB2. Однако вот демонстрация, показывающая, что вы можете быстро создать форму в Microsoft Access, которая позволяет вставлять, удалять и обновлять записи в ваших базовых таблицах DB2.

  1. На панели Object выберите Forms> Create form with using wizard :
    Рисунок 12. Создание формы с помощью мастера
  2. На первом экране мастера форм вам будет разрешено указать, какие поля вы хотите использовать в форме. Если вы импортировали более одной таблицы из своей базы данных, вы можете взять здесь поля из разных таблиц. Нажмите кнопку >> , чтобы переместить все поля таблицы ACCOUNTS в раздел Selected Fields.Таким образом, все ваши поля будут включены в нашу форму. Щелкните Далее .
    Рис. 13. Экран мастера формы 1
  3. Microsoft Access позволяет вам выбирать из множества макетов форм, которые управляют размещением полей в вашей форме. Для целей этой статьи выберите формат Столбец и щелкните Далее .
    Рисунок 14. Макет формы
  4. Выберите стиль для формы. При этом выберите фон для вашей формы.Выберите нужный стиль и нажмите Далее .
    Рисунок 15. Стиль формы
  5. На последнем экране мастера форм вы можете указать заголовок для своей формы. По умолчанию форме присвоено имя . Нажмите Готово .
    Рисунок 16. Значок источников данных (ODBC)
  6. На этом этапе вы должны увидеть созданную форму.
    Рисунок 17. Форма доступа

    Обратите внимание, что при изменении и добавлении записей с помощью Microsoft Access соблюдаются ограничения ваших базовых таблиц базы данных.В этом можно убедиться, попробовав добавить две учетные записи с одинаковым значением ACCOUNTNUM. Если вы помните, ваша таблица DB2 была создана с указанием первичного ключа столбца ACCOUNT_NUM.

    В форме можно изменить существующие записи таблицы DB2, просто изменив значения в форме. Вы также можете добавлять и удалять записи в таблице DB2. Чтобы добавить запись в базу данных, нажмите кнопку > и перейдите к последней записи (которая должна быть пустой). Добавьте запись, как показано ниже:

    Рисунок 18.Добавление записи
  7. После добавления записи в форму Microsoft Access и нажатия Введите в последнем поле, вы сразу увидите, что ваша запись добавлена ​​в базовую таблицу DB2. Это можно проверить с помощью простого запроса в таблице ACCOUNTS:
    Рисунок 19. Проверка добавления записи

Использование отчетов Microsoft Access

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

Поскольку вы уже связали свои таблицы DB2, вы можете использовать отчеты Microsoft Access для представления данных, хранящихся в DB2.

Чтобы продемонстрировать создание отчета из ваших данных DB2, выполните следующие действия:

  1. На панели Object выберите Reports> Create report with using wizard .
    Рисунок 20. Создание отчета с помощью мастера
  2. Подобно первому экрану мастера форм, показанному ранее, первый экран мастера отчетов позволяет вам указать, какие поля вы хотите включить в отчет.Если вы импортировали более одной таблицы из своей базы данных, вы можете взять здесь поля из разных таблиц. Нажмите кнопку >> , чтобы переместить все поля таблицы ACCOUNTS в раздел Selected Fields. Таким образом, все ваши поля будут включены в ваш отчет. Щелкните Далее .
    Рисунок 21. Мастер отчетов
  3. Вы можете указать уровни группировки, чтобы контролировать порядок, в котором представлены данные вашего отчета. Этот метод можно использовать, если, например, вы хотите разбить телефонный справочник сотрудников по отделам, чтобы члены каждого отдела были сгруппированы вместе.Для целей этой статьи пропустите этот параметр. Щелкните Далее .
    Рисунок 22. Задание уровней группировки
  4. Вы можете указать порядок сортировки для ваших записей. Например, вы можете перечислить свои записи в отчете в алфавитном порядке. Для целей этой статьи пропустите этот параметр. Щелкните Далее .
    Рисунок 23. Сортировка записей
  5. Укажите макет для представления вашего отчета. У вас есть такие возможности, как управление ориентацией вашего отчета (то есть книжная или альбомная).Для нашей демонстрации укажите Tabular для макета и Portrait для ориентации.
    Рисунок 24. Макет отчета
  6. Следуя спецификации макета вашего отчета, вы можете указать стиль для своего отчета. Выберите нужный стиль и нажмите Далее .
    Рисунок 25. Стиль отчета
  7. Укажите заголовок для отчета. По умолчанию отчет получает имя _ .Укажите имя по вашему выбору и нажмите Готово .
    Рисунок 26. Укажите заголовок
  8. На этом этапе вам должен быть представлен предварительный просмотр того, как выглядит ваш отчет. Этот отчет можно сохранить или распечатать. Обратите внимание, что изменения в ваших базовых данных таблицы DB2 (выполняемые в Microsoft Access, через процессор командной строки DB2 или любое другое приложение, обращающееся к таблице DB2) динамически изменяют ваш отчет Microsoft Access.
    Рисунок 27. Готовый отчет

Заключение

В этой статье учтено, что у многих людей на настольных компьютерах установлен Microsoft Access, установленный вместе с Microsoft Office.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *