MyTetra Share
Делитесь знаниями!
Импорт данных из базы данных SQL Server или связывание с ними
02.08.2018
18:34
Раздел: VBA - Access - Работа в сети с базой Access

Импорт данных из базы данных SQL Server или связывание с ними

Применяется к: Access для Office 365 Access 2016 Access 2013 Access 2010 Access 2007

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

Более новые версии Office 2013 Office 2007–2010

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

  • При связывании с данными приложение Access создает двустороннее подключение, которое синхронизирует изменения, вносимые в данные в Access и базе данных SQL.

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

Подготовка

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

  • Определите имя сервера базы данных SQL Server, найдите необходимые сведения о подключении и выберите метод проверки подлинности (Windows или SQL Server). Дополнительные сведения о методах проверки подлинности см. в статьях Соединение с сервером (ядро СУБД) и Защита Базы данных SQL.

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

  • Обратите внимание на количество столбцов в каждой таблице или представлении. В Access больше чем 255 полей в таблице не поддерживается, поэтому связываются или импортируются только первые 255 столбцов. Чтобы обойти эту проблему, можно создать в базе данных SQL Server представление для доступа к дополнительным столбцам.

  • Определите общий объем импортируемых данных. Максимальный размер базы данных Access составляет два гигабайта за вычетом места, требуемого для системных объектов. Если база данных SQL Server содержит большие таблицы, возможно, вам не удастся импортировать их все в одну базу данных Access. В этом случае можно выполнить связывание с данными, а не импортировать их.

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

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

Этап 1. Начало работы

  1. Выберите Внешние данные > Новый источник данных > Из базы данных > Из SQL Server.

  2. В диалоговом окне Внешние данные — База данных ODBC выполните одно из указанных ниже действий.

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

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

Нажмите кнопку ОК.

Этап 2. Создание или повторное использование файла DSN

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

Хотя можно использовать и более ранние версии драйвера ODBC SQL, мы рекомендуем версию 13.1, в которой имеется много усовершенствований и которая поддерживает новые возможности SQL Server 2016. Дополнительные сведения см. в статье Драйвер Microsoft ODBC для SQL Server в Windows.

  1. Выполните одно из указанных ниже действий.

    • Если нужный файл DSN уже существует, выберите его в списке.

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

    Чтобы создать файл DSN, выполните указанные ниже действия.

    1. Выберите команду Создать.

    2. Выберите Драйвер ODBC 13 для SQL Server и нажмите кнопку Далее.

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

Нажмите кнопку Далее, просмотрите сводную информацию, а затем нажмите кнопку Готово.

Этап 3. Работа с мастером создания источника данных для SQL Server

В мастере Создание источника данных для SQL Server выполните указанные ниже действия.

  1. На первой странице введите идентификационные данные.

    • В поле Описание при необходимости введите описательные сведения о файле DSN.

    В поле Сервер введите имя базы данных SQL Server. Не щелкайте стрелку вниз.

  2. На второй странице выберите один из перечисленных ниже методов проверки подлинности.

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

  3. На третьей и четвертой страницах выберите параметры, чтобы настроить подключение. Дополнительные сведения об этих параметрах см. в статье Драйвер Microsoft ODBC для SQL Server.

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

Может потребоваться выполнить вход в базу данных. В диалоговом окне Вход в сервер SQL Server введите имя пользователя и пароль. Чтобы изменить дополнительные параметры, выберите Параметры.

Этап 4. Выбор таблиц для связывания или импорта

  1. В диалоговом окне Связь с таблицами или Импорт объектов на вкладке Таблицы выберите все таблицы или представления, с которыми нужно выполнить связывание или которые нужно импортировать, а затем нажмите кнопку ОК.

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

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

Этап 5. Создание спецификаций и задач (только при импорте)

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

Результаты

По завершении связывания или импорта таблицы появятся в области навигации с теми же именами, что и у таблиц или представлений в SQL Server. Кроме того, указывается имя владельца. Например, если в SQL Server таблица называется dbo.Product, в Access она будет иметь имя dbo_Product. Если это имя уже используется, в Access к нему будет добавлена цифра 1, например dbo_Product1. Если имя dbo_Product1 уже имеется, в Access будет использоваться имя dbo_Product2 и т. д. Однако вы можете изменить имена таблиц на более понятные.

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

Если при связывании столбцы доступны только для чтения в таблице SQL Server, они будут также доступны только для чтения в Access.

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

Обновление структуры связанной таблицы

В связанной таблице нельзя добавлять, удалять или изменять столбцы, а также изменять типы данных. Изменения в структуру следует вносить в базе данных SQL Server. Чтобы увидеть изменения структуры в Access, обновите связанные таблицы.

  1. На вкладке Внешние данные нажмите кнопку Диспетчер связанных таблиц.

Выберите все связанные таблицы, которые нужно обновить, нажмите кнопку ОК, а затем — кнопку Закрыть.

Сравнение типов данных

Типы данных в Access и в SQL Server называются по-разному. Например, столбец типа bit в SQL Server связывается или импортируется в Access с типом данных да/нет. В приведенной ниже таблице сравниваются типы данных SQL Server и Access.

Тип данных SQL Server

Тип данных Access

Размер поля в Access

bigint

Большое число

См. статью Использование типа данных bigint.

binary (размер поля)

Двоичный

Такой же, как и в SQL Server

bit

Да/нет

char (размер поля), где размер поля не превышает 255

Текстовый

Такой же, как и в SQL Server

char (размер поля), где размер поля более 255

Memo

datetime

Дата и время

decimal (разрядность, количество знаков после запятой)

Числовой

Десятичное число (значения разрядности и количества знаков после запятой в Access соответствуют значениям этих свойств в SQL Server)

float

Числовой

Двойное

image

Объект OLE

int

Числовой

Длинное целое

money

Денежный

nchar (размер поля), где размер поля не превышает 255

Текстовый

Такой же, как и в SQL Server

nchar (размер поля), где размер поля более 255

Memo

ntext

Memo

numeric (разрядность, количество знаков после запятой)

Числовой

Десятичное число (значения разрядности и количества знаков после запятой в Access соответствуют значениям этих свойств в SQL Server)

nvarchar (размер поля), где размер поля не превышает 255

Текстовый

Такой же, как и в SQL Server

nvarchar (размер поля), где размер поля более 255

Memo

nvarchar(MAX)

Memo

real

Числовой

Одинарное

smalldatetime

Дата и время

smallint

Числовой

Целое

smallmoney

Денежный

sql_variant

Текстовый

255

text

Memo

timestamp

Двоичный

8

tinyint

Числовой

Байт

uniqueidentifier

Числовой

Код репликации

varbinary

Двоичный

Такой же, как и в SQL Server

varbinary (MAX)

Объект OLE

varchar (размер поля), где размер поля не превышает 255

Текстовый

Такой же, как и в SQL Server

varchar (размер поля), где размер поля более 255

Memo

varchar(MAX)

Memo

xml

Memo

 
MyTetra Share v.0.52
Яндекс индекс цитирования