Иллюстрированный самоучитель по Microsoft Access 2002

Перенос сетевого приложения на платформу SQL Server

Выполнение переноса

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

Если перенос выполняется в SQL 6.x или выше, то при переносе связей вы можете выбрать один из методов задания связей в SQL Server: Декларативная ссылочная целостность (DRI – Declarative Referential Integrity) или триггер (см. рис. 19.10). DRI – это свойство SQL Server, которое позволяет задавать связи между таблицами в описаниях таблиц в виде внешних ключей (foreign keys). Однако DRI не поддерживает каскадных обновлений и удалений. Поэтому, чтобы сохранить те описания каскадных операций, которые были в базе данных Access, следует использовать триггеры (примеры триггеров и индексов приведены в гл. 17). При переносе таблиц переносятся все поля, которые были в таблицах Access, и такие их свойства, как правила проверки введенных значений (validation rules) и значения по умолчанию (default values).

Замечание
Особенным образом осуществляется перенос полей таблиц Access типа Гиперссылка (Hyperlink). SQL Server не поддерживает, полей такого типа. При переносе на SQL Server поля типа Гиперссылка (Hyperlink) преобразуются в текстовые поля, содержащие все свойства гиперссылки в одной строке: ее название, всплывающую подсказку, адрес и закладку ресурса. Но при открытии таблиц, хранящихся на SQL Server, в клиентском приложении Access гиперссылки полностью работают, ведь вся информация сохранена
.

Для таблиц Access, имеющих поля типа Одинарное с плавающей точкой (Single) (это 4 байта), Двойное с плавающей точкой (Double) (это 8 байтов), Поле MEMO (Memo), Поле объекта OLE (OLE Object), в результате переноса в SQL Server создается еще поле типа Штамп времени (Timestamp). Это поле Microsoft Access использует при работе с присоединенными таблицами сервера для проверки, не было ли изменений в записи. При отсутствии этого поля работа с такими таблицами может быть не всегда корректной.

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

  1. Откройте в Microsoft Access 2002 базу данных, которую требуется перенести.
  2. Выберите команду Сервис › Служебные программы › Мастер преобразования в формат SQL Server (Tools › Database Utilities › Upsizing Wizard). Появится диалоговое окно, представленное на рис. 19.6.
  3. Если нужно создать новую базу данных на SQL Server, в которую будут перенесены таблицы из приложения Access 2002, переходите к шагу 5. Чтобы связать приложение Access 2002 с существующей базой данных в SQL Server (в нашем примере это база данных Sample на SQL Server), выберите переключатель Использовать существующую базу данных (Use existing database) и нажмите кнопку Далее (Next). Появится диалоговое окно, представленное на рис. 19.7.

    Иллюстрированный самоучитель по Microsoft Access 2002 › Миграция приложений › Перенос сетевого приложения на платформу SQL Server
    Рис. 19.6. Диалоговое окно выбора способа переноса базы данных

  4. Чтобы указать файловый источник данных, выделите один из существующих источников данных в списке на вкладке File Data Sources или нажмите копку New, чтобы создать новый. Если нужно использовать некоторый специфический для данного компьютера источник данных (к ним относятся пользовательские или системные источники), раскройте вкладку Machine Data Sources (см. рис. 19.7) и выделите соответствующий элемент в списке существующих источников данных (например, созданный с помощью Администратора ODBC системный источник данных SampleSDSN, подключенный к базе данных Sample на SQL Server) или нажмите копку New (Создать), чтобы создать новый. После указания источника данных нажмите кнопку ОК и переходите к шагу 7.

    Иллюстрированный самоучитель по Microsoft Access 2002 › Миграция приложений › Перенос сетевого приложения на платформу SQL Server
    Рис. 19.7. Вкладка Machine Data Source

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.