Access 2007
.pdf
Программе Access нужны эти сведения для того, чтобы знать, как обрабатывать ответы.
Вы можете выполнить несколько действий для обеспечения гладкости процесса. Например, можно отправить сообщения по электронной почте большему числу пользователей, включить или отключить автоматическую обработку ответов и удалить всю информацию электронной почты. Для выполнения любой из этих задач выберите на ленте Внешние данные → Сбор данных → Управление ответами (External Data → Collect Data → Manage Replies). На экране появится окно Управление сообщениями сбора данных (Manage Data Collection Messages), показанное на рис. 19.18. (Название команды — Управление ответами — вводит в заблуждение. На самом деле с ее помощью вы ничего не делаете с ответами. Вместо этого вы настраиваете параметры исходного сообщения электронной почты.)
Подсказка
Даже если сбор данных завершен, нет причины удалять настройки электронной почты. Почему бы не сохранить их на случай, если когда-нибудь в дальнейшем вы решите повторить сбор тех же данных?
691
Глава 20
Подключение 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 дано несколько важных признаков, позволяющих определить, когда многопользовательской
692
поддержки недостаточно. Однако если БД 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
693
Server и Access. В данном примере есть несколько пользователей, одновременно обращающихся к БД SQL Server, причем каждому из них на помощь приходит собственная копия программы Access.
Примечание
Это реальный принцип работы серверных БД, включая конкурирующие программные продукты, такие как Oracle и DB2. Однако у других БД нет отличной интеграции с программой Access, о которой вы узнаете в этой главе, поэтому клиентам приходится использовать другую клиентскую БД (обычно специально разработанное приложение).
Рис. 20.1. SQL Server хранит БД с таблицами (и иногда запросами). БД Access играет роль клиентской части, содержащей все остальные объекты других типов (отчеты, формы, макросы и модули программного кода)
Данный рисунок может показаться знакомым — в конце концов, в той или иной степени он напоминает принцип действия многопользовательской поддержки в Access. Каждый пользователь получает копию клиентской БД с формами и отчетами, а серверная БД (действительно хранящая данные) находится на другом компьютере (сервере) и доступна всем.
Но есть и существенная разница. На территории SQL Server у отдельных клиентских БД меньше работы. Вместо самостоятельной модификации БД они связываются с программой SQL Server (которая не что иное, как Windows-программа, работающая в фоновом режиме на серверном компьютере). По сути, вы переводите программу Access на менее квалифицированную работу, понижаете в должности. Теперь она отвечает за привлекательный внешний вид, макросы и распечатки, но освобождена от действительно тяжелой работы (добавления, удаления и обновления записей).
694
На профессиональном уровне. Важнейшие причины перехода на SQL Server
Есть множество оснований любить SQL Server. Но когда почитатели, фанатично преданные программе Access, изменяют ей, у них, как правило, в голове одна из следующих причин.
•Масса пользователей. Как вы помните, Access не слишком хорошо справляется, если нескольким сотням пользователей необходимо совместно использовать один файл БД.
•Огромное количество данных. Программа Access не разрешает создавать БД больше 2 Гбайт. Полная версия SQL Server позволяет создавать БД, которые заглатывают весь жесткий диск целиком.
•Производительность. По мере роста вашей БД вы, возможно, заметите, что она стала медленнее, чем обычно, извлекать данные. Несмотря на то, что индексы могут помочь до некоторой степени, программа SQL Server способна сделать гораздо больше. Она хранит недавно использовавшуюся информацию в огромном пуле оперативной памяти и раздает ее порциями всем, кто в ней нуждается. Один этот метод сберегает массу времени.
•Реальная защита. Как вы узнали из разд. "Защита базы данных" главы 18, программа Access не предлагает многоуровневой модели безопасности, позволяющей защитить от конкретных пользователей определенные объекты БД. (Она применялась, но корпорация Microsoft выбросила это средство из Access 2007, поскольку оно было недостаточно безопасным.) У программы SQL Server пуленепробиваемая защита, которая обеспечивает столько уровней, сколько захотите.
•Транзакции. В сложных системах управления БД многие задачи состоят из отдельных операций с БД, выполняющихся последовательно, одна за другой. Например, денежный перевод 500 долларов включает два связанных действия: один счет получает кредит 500 долларов, а другой — дебет 500 долларов. Программа SQL Server позволяет поместить эту последовательность действий в транзакцию, что гарантирует отмену транзакции при аварийном завершении одного из указанных действий. Другими словами, даже если ударит молния и ваш сервер перезагрузится в середине обработки транзакции, SQL Server сумеет восстановить систему до состояния, в котором она была перед началом перевода денег (и вы никогда не лишитесь 500 долларов в мгновение ока).
Несмотря на то, что все эти характеристики замечательны, большая их часть не рассматривается в данной книге. Для того чтобы узнать больше, нужно найти книгу, посвященную SQL Server.
Более дешевая версия SQL Server
В данный момент вас, вероятно, интересует, сколько стоит часть, расположенная в центре рис. 20.1 — процессор БД SQL Server. Корпорация Microsoft устанавливает цену с помощью сложной схемы лицензирования, которая повышает цену в зависимости от числа одновременных пользователей БД. Обычно она достигает тысяч долларов и нередко для больших компаний доходит до 20 000 долларов и больше в год. Но прежде чем с досадой пропустить эту главу, следует узнать кое-что: абсолютно бесплатная версия SQL Server выставлена и
695
ждет вас. Как ни странно, у нее почти та же мощность, что и у программы, стоящей тысячи долларов и требующей от вас заложить своего первенца корпорации Microsoft.
Эта версия называется SQL Server 2005 Express Edition, и в следующем разделе вы узнаете, как ее устанавливать. Если сравнить эту версию с полной, выяснится, что у нее есть три следующие ограничения.
■Данная версия поддерживает только один процессор (компьютерный процессор). Дополнительные ЦПУ создаются для сверхмощных компьютеров, и это ограничение мешает программе SQL Server Express быть столь же мощной, как ее старшая сестра, версия не Express.
■Версия Express может использовать только 1 Гбайт оперативной памяти. Если на вашем сервере больший объем памяти, используйте его для чего-нибудь еще.
■Максимальный объем создаваемой вами БД — 4 Гбайт. В этом нет проблемы, т. к. программа Access ограничивает объем файлов БД 2 Гбайт. Если избегать хранения изображений и других данных большого объема, на какое-то время этого будет достаточно.
Большего внимания заслуживает то, что нет денежных расходов. SQL Server Express — это полнофункциональная версия программы SQL Server с точно таким же мощным процессором БД или движком. Если необходимо преобразовать вашу БД Access, данная программа — отличный выбор.
Примечание
SQL Server Express предоставляет замечательные средства, помогающие создавать таблицы и управлять вашими БД. Несмотря на то, что можно загрузить из Интернета бесплатное средство управления с сайта корпорации Microsoft (рис. 20.2), у вас для этого уже есть программа Access. Это клиентская часть с большими возможностями, способная выполнить все, что вам нужно.
Часто задаваемые вопрос.
Можно ли доверять корпорации Microsoft?
Почему корпорация Microsoft отдает что бы то ни было даром?
Смекалистые компьютерные пользователи подозрительно относятся ко всему, что кажется слишком хорошим, чтобы быть правдой. Они боятся, что предложение SQL Server корпорацией Microsoft может быть хитроумной недобросовестной торговой тактикой — другими словами, достаточной, чтобы привлечь вас к применению SQL Server, но не удовлетворяющей ваши потребности.
К счастью, для беспокойства нет оснований. Если вы решите использовать программу SQL Server Express, то с успехом можете оставаться верным ей годами и не ощущать необходимости в переходе на коммерческую версию.
Но почему же Microsoft предлагает программное обеспечение, которое не принесет никакого дохода? Все просто — они рассчитывают на крупный улов. Маленькая компания может начать с версии SQL Server Express, а затем вырасти в большое предприятие, готовое заплатить дополнительную сумму за более мощную версию программы. Это особенно справедливо в отношении компании, применяющей SQL Server для снабжения данными так называемого Web-приложения (сайт интернет-торговли, например).
696
Если этот Web-сайт станет вторым eBay, компании, обслуживающей его, потребуется серьезная рабочая лошадка (например, серверный компьютер с несколькими ЦПУ и тоннами памяти). Для поддержки такого оборудования они вынуждены будут перейти на полную версию программы SQL Server.
И, наконец, предложение бесплатной версии SQL Server помогает привлечь большее количество людей к разработке высококлассных систем БД с помощью программы SQL Server. Технические специалисты, возможно, познакомятся с SQL Server Express и полюбят эту программу, а потом порекомендуют компаниям-толстосумам ее полную версию.
Приступая к работе с SQL Server 2005 Express
Прежде чем начать применять SQL Server Express, необходимо установить программу. Этот процесс чрезвычайно прост, но продолжителен и включает загрузку из Интернета нескольких очень больших файлов: один объемом 22 Мбайт, а другой — 54 Мбайт. Если вы все еще пользуетесь модемным соединением, это займет у вас несколько отсчитываемых в уме часов.
Примечание
Все, что вы узнаете в данной главе о программах Access и SQL Server Express, также применимо к полной версии SQL Server. Но если у вас есть эта версия, вам, конечно же, не нужен этап загрузки из Интернета, описанный здесь, вместо него вы можете вставить ваш установочный DVD-диск и начать установку.
Установка SQL Server Express
SQL Server устанавливают на компьютер, на котором планируется поместить серверную БД. Обычно это компьютер в сети, который никто не использует для другой работы. (Если кто-то работает на этом компьютере, есть риск, что они выключат его, перезагрузят, займутся другой работой или сделают что-то, что повлияет на возможность получения нужной информации всеми остальными пользователями.) На компьютеры, применяющие программу Access для работы с клиентской БД, устанавливать SQL Server не нужно, но конечно на них должна быть копия Access.
Однако если вы до сих пор продолжаете разрабатывать и настраивать вашу БД, возможно, вам захочется сначала опробовать ее на собственном компьютере. В этом случае программу SQL Server следует установить на ваш компьютер. Затем, когда вы будете готовы к совместному использованию БД, вы установите SQL Server на серверный компьютер и переместите туда вашу БД (как описано в главе 21). На самом деле, если вы не знаете программу SQL Server, может быть лучше всего начать с ее установки на собственный компьютер. Вам нужно будет настроить несколько перегруженных деталями установочных параметров для того, чтобы предоставить другим пользователям доступ к SQL Server с других компьютеров. Возможно, появится желание увидеть, как все работает до того, как начнете возиться с упомянутыми деталями.
У программы SQL Server очень скромные требования к системе. (Поразительно, но они менее жесткие, чем требования к работе программы Access.) Точные спецификации можно найти на сайте www.microsoft.com/sql/editions/express/sysreqs.mspx. Вы увидите, что программу SQL Server можно запустить на любом более или менее современном компьютере, но придется убедиться в том, что у вашей операционной системы есть последние обновления
697
и пакеты исправлений. Например, на компьютерах под управлением Windows XP должен быть установлен Service Pack 2.
Подсказка
Для проверки наличия последних обновлений ОС щелкните мышью кнопку Пуск (Start) и выберите Обновление Windows (Windows Update).
После того как выбрано место установки программы SQL Server, и вы убедились в том, что компьютер может ее поддерживать, выполните следующие действия.
1.Откройте любимый Web-обозреватель и перейдите на сайт загрузки .NET.
Перед установкой SQL Server необходимо установить используемый программой компонент .NET Framework 2.0. Его можно найти с помощью средств поиска на Web-сайте http://msdn.microsoft.com/netframework. Или лучше использовать секретный укороченный URL-адрес http://tinyurl.com/drj86.
Примечание
Если вы работаете под управлением ОС Windows Vista, у вас уже есть компонент .NET Framework 2.0. Даже если у вас нет Windows Vista, другое приложение, возможно, уже установило его на ваш компьютер. Если вы предполагаете, что он установлен, перейдите в Панели управления (Control Panel) в группу Администрирование (Administrative Tools) и поищите пиктограмму, названную Настройка конфигурации Microsoft .NET Framework 2.0 (Microsoft .NET Framework 2.0 Configuration). Если вы ее нашли, поздравляю — можно переходить непосредственно к пункту 4.
2.После того как компонент .NET Framework 2.0 найден, установите его. Файл установки довольно большой, около 22 Мбайт.
3.После завершения загрузки файла установки запустите его и с помощью мыши пройдите через все этапы, предлагаемые мастером установки.
Не беспокойтесь — никаких решений принимать не придется.
4.После завершения установки перейдите на Web-страницу www.microsoft.com/sql/editions/express.
На этой странице много сведений о программе SQL Server Express. Найдите ссылку, которая позволяет загрузить SQL Server Express и затем щелкните ее кнопкой мыши. Она помечена текстом "Get SQL Server Express" ("Загрузить и установить").
5.Щелкните в стороне кнопкой мыши, чтобы найти загружаемый файл SQL Server Express (рис. 20.2).
Впроцессе установки корпорация Microsoft предложит вам зарегистрироваться у нее. Если вы регистрируетесь, то получаете новости от корпорации Microsoft (которые полезны, если вы хотите узнавать о последних обновлениях SQL Server). Но это совсем не обязательно.
6.Когда найдете ссылку на загружаемый файл для SQL Server (см. рис. 20.2), щелкните ее кнопкой мыши и установите программу.
Для загрузки SQL Server предлагается огромный файл, 54 Мбайт.
698
Рис. 20.2. У вас есть варианты. Вы можете загрузить не только SQL Server 2005 Express (обведенная ссылка), можно также получить отличное средство управления, названное SQL Server Management Studio (ссылка расположена ниже), некоторые примеры и напичканный информацией файл справки, названный SQL Server 2005 Books Online (самая нижняя ссылка)
7. После того как загрузка файла установки программы завершится, запустите его.
Прежде чем установка начнется, нужно пройти несколько простых шагов. Вот чего вам следует ждать.
□Прежде чем устанавливать что бы то ни было, программа установки проверит конфигурацию системы. Она обследует ваш компьютер и затем сообщит, подходит ли он для установки SQL Server (рис. 20.3).
□Программа попросит ввести ваше имя. Эта часть установки очень типична, но следует оставить установленным флажок Hide advanced configuration options (Скрыть дополнительные параметры конфигурации), чтобы не выводились низкоуровневые параметры, которые вы не хотите менять.
699
Рис. 20.3. На этом компьютере может выполняться программа SQL Server, но выводится предупреждающее сообщение, уведомляющее о том, что у устаревшего процессора Pentium III недостаточно мощности для обеспечения оптимальной производительности
□Вам будет предложено выбрать средства, которые хотите установить. Оставьте стандартные установки — в этом случае инсталлируется все, что вам нужно.
□Следующий вопрос касается автоматической отправки корпорации Microsoft сообщений об ошибках. Не ждите, что они помогут вам. Это средство разработано только для того, чтобы помочь Microsoft улучшить будущие версии SQL Server за счет выявления проблем, которые в настоящее время нервируют пользователей программы.
Ив конце процесса установки вам будет предложена более сложная часть. Программа SQL Server спросит о типе безопасности, который вы хотите применять.
8.Выберите ваш режим аутентификации (рис. 20.4). У вас есть два варианта.
oВыбор переключателя Windows Authentication Mode (Проверка подлинности Windows) означает, что программа SQL Server принимает решение о предоставлении пользователю разрешения на пользование БД на основе персональной пользовательской учетной записи в ОС Windows. Это лучший и самый безопасный подход. К сожалению, он связан с дополнительной работой в дальнейшем, гарантирующей другим пользователям получение разрешений на использование вашей БД (см. следующий раздел).
oВыбор переключателя Mixed Mode... (Смешанный режим...) означает, что программа SQL Server разрешает пользователям обращаться к БД, если у них есть корректная учетная запись Windows (как было описано ранее) или они могут предоставить имя пользователя и пароль, определенные вами. Если выбирается Mixed Mode...
(Смешанный режим...), вы должны предоставить специальную учетную запись
700
