Sql server access - Новости с мира ПК
Vvmebel.com

Новости с мира ПК
4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Sql server access

Перенос базы данных Microsoft Office Access в Microsoft SQL Server

Со временем в ходе может потребоваться перенос файл-серверной базы данных Microsoft Office Access (Access) в формат клиент-серверной СУБД. Обычно для этой цели используется ODBC. Однако для переноса в Microsoft SQL Server (MS SQL) СУБД Access и MS SQL имеют удобные специализированные средства.

Всего существует три способа переноса базы данных из Access в MS SQL. Рассмотрим их все на примере простой базы данных состоящей из двух таблиц и одного запроса.

Перенос базы данных средствами Access («Мастер преобразования в формат SQL Server»)

Для того чтобы начать перенос нужно нажать кнопку «SQL Server» в области «Перемещение данных» вкладки «Работа с базами данных».

В открывшемся окне нужно выбрать, куда будут перенесены данные.

Возможны два варианта:

  1. Экспорт в уже существующую базу данных MS SQL;
  2. Создание новой базы данных (по умолчанию).

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

Далее предстоит выбрать таблицы, которые будут перенесены.

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

Откроется «Мастер импорта и экспорта данных»

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

В раскрывающемся списке «Источник данных» необходимо выбрать «.Net Framework Data Provider for Odbc» (если не выбрано по умолчанию) и в строке Dsn в таблице указать имя созданного выше источника данных для базы данных Access. Строка подключения («Connection String») будет сформирована автоматически.

Далее необходимо указать в какую базу данных, какого экземпляра MS SQL импорт. Для этого после нажатия кнопки «Далее» выбираем в раскрывающемся списке «Назначение» либо «Microsoft SQL Server Native Client» (как показано на скриншоте ниже) либо «Microsoft OLE DB Provider for SQL Server», указываем нужную базу данных имя пользователя и пароль для подключения.

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

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

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

После нажатия на кнопку далее будет показано окно предупреждением. Его можно просто проигнорировать и нажать кнопку «Далее».

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

Далее отобразится завершающее окно с общей итоговой сводкой информации о предстоящем процессе импорта.

После нажатия на кнопку «Готово» процесс импорта будет выполнен. Если всё сделано правильно и импорт выполнен успешно, окно с информацией о выполнении импорта не будет содержать ошибок (см. скриншот ниже).

Для завершения работы мастера достаточно нажать кнопку «Закрыть».

Результат можно увидеть SQL Server Management Studio.

Перенос базы данных со стороны средствами ODBC

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

Пример такого экспорта уже был ранее рассмотрен в статье «Работа с базой данных SQLite средствами Access»

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

Однако такая возможность переноса до сих пор имеется (версия 2014 не стала исключением). Поэтому, рассмотрим и её тоже.

Для начала создадим источник данных для работы с MS SQL (пусть это будет пользовательский DSN).

Укажем драйвер для источника.

После этого будет запущен процесс его создания и настройки.

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

Далее введём имя пользователя и пароль для подключения.

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

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

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

Для того чтобы источник данных был окончательно создан, достаточно нажать кнопку «Ok». Но, лучше предварительно проверить его работоспособность, нажав на кнопку «Проверить источник данных».

Если всё сделано правильно, будет показано сообщение об успешной проверке.

Теперь, когда есть источник данных, можно приступать непосредственно к процессу переноса.В качестве примера экспортируем из базы данных единственный запрос «Contacts Запрос».

Для этого выделим его мышью и нажмём на кнопку «Дополнительно» в области «Экспорт» вкладки «Внешние данные». В раскрывшемся меню выберем «База данных ODBC».

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

В данном случае оставлено исходное значение.

После нажатия кнопки «Ok» необходимо выбрать созданный источник данных.

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

После нажатия кнопки «Ok» экспорт будет выполнен.

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

Вместо представления «Contacts Запрос» в базе данных MS SQL была создана одноимённая таблица.

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

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

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

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

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

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

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

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

Читать еще:  Is null access

Использование унифицированного языка запросов 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, файлам электронной почты и источникам данных многих других типов.

В Access 2002/2003 включена локальная версия SQL Server – Microsoft SQL Server Desktop Engine. SQL Server 2005 представляет бесплатную версию SQL Server Express. Обе версии позволяют создать проект, предназначенный для работы с БД SQL Server, работая на локальном компьютере, не подключенном к сети. При этом нет необходимости приобретать лицензию и устанавливать сетевой вариант сервера БД. Работа этих версий основывается на том же ядре БД, что SQL Server. Созданное с использованием этих версий приложение будет полностью пригодно для работы с БД на большом сетевом SQL-сервере. После завершения разработки, переместив базу с локального компьютера на сервер и модифицировав информацию о соединении, проект можно подключить к удаленному SQL-серверу.

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

Порядок организации связи баз данных СУБД Access с базами данных в СУБД SQL Server

26. Порядок организации связи баз данных СУБД Access с базами данных в СУБД SQL Server.

Access предоставляет возможность использовать данные из различных внеш­них источников.

В сетевых системах с файловым сервером при коллективном использовании базы данных Access более чем 15 пользователями и значительных размерах БД производительность становится недопустимо низкой. Это связано с уве­личением объема передаваемых по сети данных, поскольку их обработка производится на компьютере пользователя. Например, если пользователю необходимо получить информацию об одном студенте, то на его компьютер должны быть переданы данные обо всех студентах (тысячи строк), из кото­рых локальная СУБД выберет одну строку. Для построения более эффектив­ной системы обработки общей базы данных целесообразно использовать ар­хитектуру «клиент-сервер».

Программное обеспечение архитектуры «клиент-сервер» состоит из двух час­тей: программного обеспечения сервера и программного обеспечения поль­зователя-клиента.

Программа-клиент выполняется на компьютере пользователя и посылает запросы к программе-серверу, которая работает на компью­тере общего доступа. Основная обработка данных производится мощным сервером, а на компьютер пользователя возвращаются только результаты вы­полнения запроса. В такой архитектуре сервер называется сервером баз дан­ных. Схема взаимодействия клиентских приложений Access с SQL-сервером баз данных приведена на рис. 8.1.

Рис. 8.1. Схема взаимодействия приложений клиентов с SQL-сервером

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

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

Для обеспечения взаимодействия с данными SQL Server в Access, начиная с версии 2000, помимо технологий, ориентированных, на ODBC, используется технология OLE DB, которая обеспечивает универсальный доступ к данным. Для SQL Server технология OLE DB является базовой, OLE DB — это набор OLE-интерфейсов, предназначенных для доступа к данным самых разных источников. Целью создания OLE DB является увеличение скорости и упро­щение доступа к данным, сохраняемым в различных форматах.

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

— Запросы на языке SQL к базам данных SQL Server. С помощью запросов на SQL можно выполнить выборку данных из таблиц, сохраняемых на сервере, добавление, обновление данных и структур таблиц сервера. За­просы к серверу могут содержать инструкции для создания и удаления таблиц в базе данных и даже базе данных на сервере. Запросы передаются и выполняются непосредственно на сервере. Запросы целесообразно использовать для запуска сохраняемых процедур на сервере.

— Связь с таблицами баз данных SQL Server. При этом таблицы сервера отображаются в окне базы данных Access для их просмотра и изменения средствами Access. Данные остаются в формате источника, но представ­лены как объекты Access и могут быть обработаны с помощью инстру­ментальных средств Access.

— Импорт объектов SQL Server в текущую базу данных Access. При им­порте объектов создаются их копии. Исходные объекты источника при этом не изменяются. В Access внешние данные можно использовать при создании запросов, форм, отчетов, причем можно объединить внешние данные с данными из объектов Access.

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

Для работы в Access с данными на SQL-сервере необходимо подключиться к их источнику через интерфейс ODBC.

Определение внешних источников данных в ODBC

ODBC предназначен для соединения приложения, выполняющегося на рабо­чей станции, с сервером и выполнения процедур, связанных с получением и обработкой данных. Основными компонентами ODBC являются администра­тор и драйвер. Администратор ODBC устанавливает соединение с указанным пользователем внешним источником данных, поддерживает связь между приложением и сервером, обеспечивает приложение информацией и по мере необходимости загружает драйвер. Драйвер управляет взаимодействием при­ложения с сервером, переводит SQL-выражения приложения на диалект ис­точника Данных, перехватывает ошибки. Драйверы ODBC содержатся в ди­намически подключаемых библиотеках — DLL.

Если требуется из приложения Access получить доступ к базам данных SQL, необходимо, чтобы был установлен соответствующий драйвер ODBC. Ряд драйверов ODBC поставляется вместе с Access (в том числе драйвер Micro­soft SQL Server) и они устанавливаются уже при инсталляции Access. Допол­нительные драйверы ODBC, поддерживающие другие форматы данных, мо­гут быть приобретены у независимых поставщиков. Microsoft Access требует 32-разрядных драйверов ODBC, совместимых с протоколом ODBC уровня 1.

Читать еще:  Не устанавливается майкрософт офис

Приобретаемые драйверы должны быть проверены в работе с Microsoft Access. Схема взаимодействия приложения Access с различными базами SQL представлена на рис. 8.2.

Для того чтобы посмотреть, установлен ли нужный драйвер на вашем ком­пьютере, выберите Источники данных (ODBC) (ODBC Data Sources (32bit)) в списке программ Панели управления. В Windows XP ссылка на Источники данных (ODBC) размещена в категории Производительность и обслужи­вание

В открывшемся окне Администратор источников данных ODBC (ODBC Data Source Administrator) на вкладке Драйверы (Drivers) будут представле­ны все установленные в системе ODBC-драйверы. Убедитесь, что на компьютере установлен драйвер SQL Server. Для добавления и удаления драйверов ODBC используются программы настройки соответствующих драйверов. На этой вкладке операции выполняться не могут.

Рис. 8.3. Схема взаимодействия Access с SQL Server через ODBC

Если драйверы ODBC установлены, то на вкладке ленты Внешние данные (External Data) в группах Импорт (Import) и Экспорт (Export) в списке кноп­ки Дополнительно (More) становится доступным элемент Базы данных ODBC (ODBC Database), который позволяет перейти к процедуре подключе­ния к внешнему источнику данных.

Для того чтобы получить доступ к базе данных SQL-сервера через интерфейс ODBC, необходимо определять источник данных. Источник данных ODBC — это термин, используемый для ссылки на внешнюю базу данных. Для каждой базы данных сервера, с которой работает Access, должен быть создан источник данных. К источникам данных обращаются по именам. Соз­дать источники данных позволяет программа Администратор источников данных ODBC. Каждый драйвер ODBC предъявляет собственные требования к созданию и настройке источников данных.

Администратор ODBC позволяет настраивать и использовать три типа ис­точников данных.

— Пользовательский DSN (User DSN). Источник данных этого типа может быть использован только одним пользователем, работающем на данном компьютере. Пользовательский источник данных относится только к учетной записи Microsoft Windows, активной в момент создания. В любой другой учетной записи он не отображается. Для приложений, выполняю­щихся на компьютере в качестве служб, он также не всегда видим.

— Системный DSN (System DSN) предназначен для всех пользователей и системных служб на данном компьютере. Системные источники данных отображаются во всех учетных записях клиентского компьютера.

— Файловый DSN (File DSN) может совместно использоваться многими пользователями разных компьютеров сети, на которых установлены оди­наковые драйверы, для получения доступа к базе данных. При определе­нии этого источника данных в отличие от других указывается файл, в ко­тором сохраняется описание источника. Файл имеет расширение dsn. Этот файл должен быть доступен на всех компьютерах сети, пользовате­ли которых могут его использовать. Сведения о других источниках дан­ных хранятся в системном реестре.

Рассмотрим создание пользовательского источника данных— Пользова­тельского DSN (User DSN). Процедура создания источников данных других типов практически не имеет отличий. Активизируйте диалоговое окно Ад­министратор источников данных ODBC (ODBC Data Source Administrator) и выберите в нем вкладку Пользовательский DSN (User DSN) (рис. 8.4). Первоначально в нем нет источников данных для SQL Server.

Для создания нового источника данных нажмите кнопку Добавить (Add), в окне Создание нового источника данных (Create New Data Source) (рис. 8.5) выберите драйвер SQL Server, для которого создается источник.

После выбора драйвера и нажатия кнопки Готово (Finish) к работе подклю­чается мастер создания нового источника данных. Окно мастера Создание источника данных для SQL-сервера (Create a New Data Source to SQL Server) представлено на рис. 8.6.

Рис. 8.6. Окно создания нового источника данных на SQL-сервере

□ Имя (Name) определяет имя нового источника данных, которое будет
использоваться при подключении приложения к базе данных сервера —
Поставка;

□ Описание (Description) содержит комментарий, который поможет определить назначение базы данных, используемой в качестве источника
данных;

□ Сервер (Server) определяет имя SQL Server в сети, с которым нужно со­единиться для получения доступа к базе данных. Если SQL Server уста­новлен на том же компьютере, достаточно указать (local).

В следующем диалоговом окне выбирается способ проверки прав пользова­теля на доступ к SQL-серверу при подключении к нему (рис. 8.7).

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

— по доверительному соединению, при котором пользователь, успешно за­регистрировавшийся в сети Windows Server и представленный в списках пользователей сервера, не проверяется дополнительно, Сервер доверяет результатам этой проверки. Этот режим задается при выборе переключа­теля проверка подлинности учетной записи Windows NT (With Windows NT authentication using the network login ID). В дальнейшем про­изводится только проверка на право выполнения тех или иных работ с объектами баз данных;

— путем проверки самим SQL Server идентификатора пользователя и паро­ля, передаваемых непосредственно серверу. Этот режим задается при вы­боре переключателя проверки подлинности учетной записи SQL Server (With SQL Server authentication using a login ID and password en­tered by the user). Результаты проверки, выполненной Windows, не учиты­ваются. Пользователь должен быть известен серверу под этим именем.

Совместная работа Access и MS SQL Server, работа с удаленными данными на сервере. Использование утилиты Query Analyzer;

II. Загрузка в Access базы данных c сервера и работа с ней.

Теперь выполним процедуру загрузки удаленной БД и работы с ней:

  1. Запускаем программу Access,
  2. Выбираем раздел СоздатьПроект с существующими данными,
  3. Выбрать новое подсоединение к серверу MS SQL Server
  4. Открыть базу данных, например, Northwind.
  5. Можно работать с удаленной БД, как с локальной. Для выполнения операции чтения или изменения данных, необходимо поддерживать соединение с сервером.

III. Выполнение в Access запросов к внешним таблицам, хранящимся на MS SQL Server.

    1. Запустим Acces и откроем базу данных или создадим новую.
    2. Откроем вкладку ЗапросыКонструктор.
    3. Появившееся окно Добавить таблицу следует закрыть.
    4. Открыть раздел меню ЗапросыЗапросы SQLК серверу
    5. В появившемся окне запроса следует ввести инструкцию SQL, обращаясь к удаленной БД, как к локальной, например, SELECT * FROM Students
    6. Для выполнения запроса нажмем на клавишу Запуск (на ней нарисован красный восклицательный знак ! ).
    7. Далее следует в поле Имя DSN-файла, ввести имя предварительно созданного DSN-файла или определить его заново, указав имя сервера и имя базы данных, и если создается пользовательский DSN (для определенного пользователя), имя пользователя и, возможно, пароль подсоединения к БД.
    8. Если в этот момент сервер запущен, указанная БД существует и пользователь имеет право доступа к этой БД, то запрос будет выполнен, иначе, появится сообветствующее сообщение об ошибке.
    9. Для сохранения результатов запроса следует создать временную таблицу (представление), написав в окне запроса команду

CREATE View [Моя временная таблица 1] as SELECT * FROM Students

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

Читать еще:  Как установить офис на ноутбук

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

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

При технологии клиент-сервер клиентское приложение (front-end) формирует запрос к серверу БД (back-end), на котором выполняются все команды. Результаты команд посылаются затем клиенту для использования и просмотра.

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

MS SQL Server является на настоящий момент одним из наиболее мощных серверов БД.

Подключение Access к SQL Server

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

В этой главе вы познакомитесь с другим подходом, который позволяет преодолеть ограничения Access и совместно использовать ваши БД с гораздо более многочисленными груп­пами пользователей, у которых появится возможность существенно повысить интенсив­ность такого использования. Для этого нужно подключить программу Access к SQL Server, мощной серверной БД корпорации Microsoft. (Вернитесь к разд. «Access или SQL Sewer?» во введении, чтобы вспомнить разницу между серверными и клиентскими БД.)

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

Нужно ли переходить на SQL Server?

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

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

Некоторые факторы находятся вне пределов досягаемости программы Access — например, медленная или ненадежная сеть компании — что может разрушить коллективное использова­ние БД. В разд. «Как действует многопользовательская поддержка в Access» главы 18 дано не­сколько важных признаков, позволяющих определить, когда многопользовательской

поддержки недостаточно. Однако если БД Access устанавливается для маленькой компании, воз­можно, следует самостоятельно протестировать режим коллективного использования БД.

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

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

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

Данные повреждаются. Эта ситуация одновременно и не столь частая, и очень серьезная. Несмотря на редкость ее возникновения (она становится все реже с каждым выходом новой версии программы Access), иногда она все еще случается. Вы понимаете, что у вас появилась проблема, когда в поле оказываются искаженные данные или когда Access выводит нелепое сообщение об ошибке (например «Слишком много индексов» («Too many indexes»)) при попытке открыть объект БД. В разд. «Повреждение данных» главы 18 дается объяснение проблемы и несколько советов, как ее обезопасить.

Примечание

Порча данных может произойти не по вине программы Access. Например, если у некоего со­трудника пропало сетевое соединение в середине процесса сохранения изменения, Access мо­жет оставить БД с многопользовательской поддержкой в неопределенном или противоречивом состоянии. Единственный способ предотвращения подобных проблем — применение мощной программы управления БД, работающей на сервере, которая выполняет всю работу. (Именно эта идея лежит в основе SQL Server. Когда используется SQL Server, никто не изменяет БД не­посредственно. Вместо этого пользователи создают вежливые запросы к постоянно работаю­щему процессору БД SQL Server, который затем делает эту работу безопасным и контроли­руемым образом.)

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

Как работает SQL Server

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

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector