Как связать access и sql server

Обновлено: 26.04.2024

Microsoft Access, несомненно, самая распространенная в мире база данных, и миграция баз данных из Access в SQL Server 2005 Express -- типовая задача, особенно если требуется реализовать преимущества многопользовательских функций SQL Server Express

. Существует несколько средста переноса баз данных Access в SQL Server Express. Один из них -- мастер Import Export Wizard в составе SQL Server. Однако мастер Import Export Wizard в основном ориентирован на таблицы и не обеспечивает переноса любых объектов. К счастью, в Access 2007 есть собственный мастер Upsizing Wizard в составе Access 2007, с помощью которого можно перенести данные в SQL Server Express (или другие SQL Server).

Для переноса базы данных Access 2007 в SQL Server Express необходимо сначала запустить Access 2007, а затем открыть базу данных, которую предстоит перенести. Если на экране появится предупреждение системы безопасности, нужно щелкнуть на кнопке Options и перейти в диалоговое окно Enable this content from the Microsoft Office Security Options. В меню щелкните на вкладке Database Tools. В разделе Move Data ленты следует щелкнуть на пункте SQL Server, чтобы запустить мастер Upsizing Wizard.

В первом диалоговом окне мастер Upsizing Wizard спрашивает, следует ли использовать существующую базу данных или необходимо создать новую. Для типичной миграции нужно выбрать переключатель Create new database и нажать Next. В следующем диалоговом окне пользователь должен ответить на вопрос об имени целевого компьютера SQL Server. Если Access и SQL Server Express находятся на одном компьютере, используется выбираемый по умолчанию локальный режим. Если применяется проверка подлинности Windows (режим по умолчанию для SQL Server Express), следует установить флажок Use Trusted Connection. Если SQL Server находится на другом сетевом компьютере, требуется указать имя экземпляра SQL Server и необходимую информацию для проверки подлинности. Данные имеют вид SQLEXPRESS (вместо подставляется имя компьютера, на котором размещен экземпляр SQL Server Express). В диалоговом окне также содержится запрос имени создаваемой базы данных. По умолчанию мастер Upsizing Wizard добавляет SQL в имя исходной базы данных Access.

Это имя можно принять или заменить его на другое.

При нажатии на кнопку Next появляется диалоговое окно с запросом о таблицах, которые предстоит экспортировать в SQL Server Express. Щелкните на двойной стрелке, чтобы экспортировать все таблицы и нажмите Next. Мастер Upsizing Wizard выдаст запрос об экспорте других объектов базы данных.

Рекомендуется выбрать параметры по умолчанию, убедиться, что выбраны пункты Indexes, Defaults, Validation rules и Table relationships, и щелкнуть на кнопке Next.

Наконец, мастер Upsizing Wizard спрашивает, следует ли изменить существующую базу данных Access. Если планируется использовать формы и отчеты Access, следует выбрать Make a new Access client/server application to create a new Access project (.adp) или Link SQL Server tables to existing application, чтобы использовать связанные таблицы. Если предполагается применить другой метод доступа к данным, выберите пункт No application changes и последовательно нажмите Next и Finish, чтобы запустить мастер.

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

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

Компоненты доступа к данным

В этой статье

Использование драйвера ODBC или поставщика OLE DB

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

Сначала была создана автономная библиотека SQL Server Native Client (SNAC), содержащая технологии ODBC и OLED, и она до сих пор доступна для SQL Server версий 2005 - 2012. SNAC использовалась во многих старых приложениях и все еще поддерживается для обеспечения обратной совместимости, но эту библиотеку не рекомендуется использовать для разработки новых приложений. Необходимо использовать более новые отдельные, загружаемые версии драйверов ODBC.

Драйверы ODBC

Open Database Connectivity (ODBC) — это протокол, используемый для подключения базы данных Access к внешнему источнику данных, например Microsoft SQL Server. Как правило, для добавления строки подключения используются файловые источники данных (также называемые файлами DSN); в этом случае в строке подключения используется ключевое слово FILEDSN, или данные из реестра; в этом случае используется ключевое слово DSN. Кроме того, такие свойства можно задавать в коде VBA, используя строку подключения без DSN.

Развитие драйверов ODBC происходило в три этапа.

До 2005 г. драйверы ODBC поставлялись в составе компонентов доступа к данным Windows (Windows Data Access Components, WDAC), которые изначально назывались компонентами доступа к данным Microsoft (Microsoft Data Access Components, MDAC). Это компоненты до сих пор предлагаются в составе Windows для обеспечения обратной совместимости. Подробную информацию см. в статье Компоненты доступа к данным Microsoft или Windows.

Драйверы ODBC поставлялись со SNAC для версий SQL Server 2005 - SQL Server 2012.

После SQL Server 2012 драйверы ODBC поставляются отдельно и содержат поддержку новых функций SQL Server.

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

Поставщики OLE DB

Object Linking and Embedding, Database (OLE DB) — это более современный протокол, используемый для подключения базы данных Access к внешнему источнику данных, например Microsoft SQL Server. OLE DB не требует наличия DSN и предоставляет полный доступ к источникам данных ODBC и драйверам ODBC.

Совет Как правило, для добавления строки подключения OLE DB используется диалоговое окно Свойства связи с данными. Хотя из Access нельзя открыть диалоговое окно Свойства связи с данными, в проводнике можно создать пустой файл TXT, изменить его тип на , а затем дважды щелкнуть файл. После создания строки подключения снова измените тип файла на TXT.

Развитие поставщиков OLE DB происходило в три этапа.

До 2005 г. поставщики OLE DB поставлялись в составе компонентов доступа к данным Windows (Windows Data Access Components, WDAC), которые изначально назывались компонентами доступа к данным Microsoft (Microsoft Data Access Components, MDAC).

Поставщики OLE DB поставлялись для версий SQL Server 2005 - SQL Server 2017. В 2011 г. эти поставщики были объявлены устаревшими.

В 2017 г. поставщик OLE DB для SQL Server снова был введен в строй.

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

Оптимизация производительности с помощью строки подключения ODBC

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

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

Рекомендации по одновременному использованию ODBC и OLE DB

Избегайте сочетания строки подключения и технологий доступа к базе данных. Используйте строку подключения ODBC для DAO. Используйте строку подключения OLE DB для ADO. Если приложение содержит код VBA, в котором используются как DAO, так и ADO, используйте драйвер ODBC для DAO и поставщик OLE DB для ADO. Старайтесь получить в свое распоряжение самые новые функции и поддержку ODBC и OLEDB.

В ODBC используется термин "драйвер", а в OLE DB — термин "поставщик". Эти термины относятся к одному и тому же типу программных компонентов, но не являются взаимозаменяемыми в синтаксисе строки подключения. Используйте правильное значение термина согласно документации.

Программное обращение к SQL Server из Access

Существует два основных способа программного доступа к базе данных SQL Server из Access.

Объект доступа к данным (data access object, DAO) предоставляет абстрактный интерфейс базы данных. Объекты доступа к данным Microsoft (DAO) — это встроенная модель программных объектов, которая позволяет проникнуть в суть Access и SQL Server для создания, удаления, изменения и перечисления объектов, таблиц, полей, индексов, связей, запросов, свойств и внешних баз данных.

Объекты данных ActiveX (ADO) предлагают высокоуровневую программную модель и доступны в Access по ссылке на стороннюю библиотеку. Модель ADO проста в изучении и позволяет клиентским приложениям получать данные из различных источников, в том числе Access и SQL Server, и управлять ими. Ее основные преимущества — удобство использования, высокая скорость, малое потребление памяти и места на диске. Кроме того, в ADO поддерживаются основные функции для разработки и веб-приложений.

Какую технологию использовать?

В решениях Access, где применяется код VBA, можно использовать DAO, ADO или и то, и другое. DAO, как и раньше, используется в Access по умолчанию. Например, во всех формах, отчетах и запросах Access используется DAO. Но при миграции на SQL Server рекомендуется использовать ADO, чтобы сделать решение более эффективным. Далее приведены общие рекомендации по выбору DAO или ADO в разных ситуациях.

Используйте DAO, если требуется:

создать связанную форму для чтения и записи без использования VBA;

обращаться к локальным таблицам;

загружать данные во временные таблицы;

использовать запросы к серверу в качестве источников данных для отчетов или форм в режиме "только для чтения";

определить и использовать объект TableDef или QueryDef в VBA.

Используйте ADO, если требуется:

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

выполнять запросы DDL и DML к серверу;

напрямую обращаться к данным SQL Server можно получить с помощью наборов записей в VBA;

писать упрощенный код для определенных задач, таких как потоковая передача BLOB-объектов;

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

Общие сведения о версиях драйвера ODBC

В следующей таблице приведены основные сведения о версиях драйвера ODBC, местах их загрузки и поддержке функций. Выберите правильную разрядность версии драйвера (64-разрядную или 32-разрядную) на основе Windows, а не Office. Если используется 32-разрядная версия Access в 64-разрядной версии Windows, устанавливайте 64-разрядные драйверы, которые содержат необходимые для Access 32-разрядные компоненты.

Драйверы ODBC

Новые возможности

Драйверы ODBC 17.0 – 17.3

SQL Server 2017

Драйвер ODBC 17.3

Драйвер ODBC 17.2

Драйвер ODBC 17.1

Драйвер ODBC 17.0

UseFMTONLY Для использования устаревших метаданных в особых случаях, когда требуются временные таблицы. См. статью Заметки о выпуске ODBC для SQL Server в Windows

Драйвер ODBC 13.1

SQL Server 2016 SP1, SQL Azure

Драйвер ODBC 13.0

SQL Server 2016

Международное доменное имя (IDN)

Драйвер ODBC 11.0

SQL Server 2005 – 2012

Общие сведения о версиях поставщика OLE DB

В следующей таблице приведены основные сведения о версиях поставщика OLE DB, местах их загрузки и поддержке функций. Выберите правильную разрядность версии драйвера (64-разрядную или 32-разрядную) на основе Windows, а не Office. Если используется 32-разрядная версия Access в 64-разрядной версии Windows, устанавливайте 64-разрядные драйверы, которые содержат необходимые для Access 32-разрядные компоненты.

Поставщик OLE DB

Новые возможности

Драйвер OLE DB 18.2.1

SQL Server 2017

SQL Server Native Client (SQLNCLI)

SQL Server 2005 – 2012

Устарел, не используется

Драйвер OLE DB (SQLOLEDB)

Устарел, не используется

Сводка ключевых слов ODBC

В следующей таблице приведены ключевые слова ODBC, которые распознает SQL Server, и их назначение. Access распознает только часть этих ключевых слов.

Ключевое слово

Сетевой адрес сервера, на котором запущен экземпляр SQL Server.

Указывает использование вариантов обработки сравнений NULL, заполнения символьных данных, предупреждений и конкатенации NULL (Yes или No) согласно стандарту ANSI.

Имя приложения, вызывающего функцию SQLDriverConnect.

Объявляет тип рабочей нагрузки приложения при подключении к серверу (ReadOnly или ReadWrite).

Имя основного файла подключаемой базы данных.

Указывает, надо ли преобразовывать в Юникод строки символов ANSI при обмене между клиентом или сервером (Yes или No).

Имя базы данных. Description Назначение подключения. Driver Имя драйвера, возвращаемое функцией SQLDrivers.

Имя существующего пользователя или системного источника данных ODBC. Encrypt Указывает, надо ли шифровать данные перед отправкой по сети (Yes или No).

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

Имя субъекта-службы для партнера отработки отказа.

Устаревшее ключевое слово.

Имя существующего файлового источника данных ODBC. Language Язык SQL Server.

Указывает использование нескольких активных наборов результатов (MARS) при подключении к SQL Server 2005 (9.x) или более поздней версии (Yes или No).

Указывает, нужно ли подключаться к прослушивателю группы доступности в группе доступности SQL Server или к экземпляру отказоустойчивого кластера (Yes или No).

dbnmpntw — именованные каналы, а dbmssocn — TCP/IP.

Пароль для входа в SQL Server.

Задает ведение журнала длительных запросов (Yes или No).

Полный путь и имя файла журнала длительных запросов.

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

Указывает, надо ли использовать в SQL Server правила ISO о применении кавычек в инструкциях SQL (Yes или No).

Указывает, использует ли драйвер ODBC для SQL Server Native Client настройки клиента при преобразовании значений денежных единиц, даты или времени в символьные данные (Yes или No).

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

Имя экземпляра SQL Server: сервер в сети, IP-адрес или псевдоним Configuration Manager.

Имя субъекта-службы для сервера.

Активирует сбор данных о производительности драйвера ODBC для SQL Server Native Client.

Полный путь и имя файла для записи статистики производительности драйвера ODBC для SQL Server Native Client.

Указывает, используется ли для проверки при входе режим проверки подлинности Windows или имя пользователя и пароль SQL Server (Yes или No).

При использовании с Encrypt включает шифрование с использованием самозаверяющего сертификата сервера.

Имя для входа в SQL Server.

Устаревшее ключевое слово.

Идентификатор рабочей станции — сетевое имя компьютера, на котором находится приложение.

Сводка ключевых слов OLE DB

В следующей таблице приведены ключевые слова OLE DB, которые распознает SQL Server, и их назначение. Access распознает только часть этих ключевых слов.

Ключевое слово

Сетевой адрес сервера, на котором запущен экземпляр SQL Server.

Строка, идентифицирующая приложение.

Объявляет тип рабочей нагрузки приложения при подключении к серверу (ReadOnly или ReadWrite).

Имя основного файла подключаемой базы данных.

Задает преобразование символов OEM/ANSI (True или False).

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

Название языка SQL Server.

Имя экземпляра SQL Server в организации.

Имя базы данных.

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

Указывает, надо ли шифровать данные перед отправкой по сети (Yes или No).

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

Имя субъекта-службы для партнера отработки отказа.

Имя базы данных.

Initial File Name

Имя основного файла (включая полный путь) подключаемой базы данных.

Используется для проверки подлинности Windows (SSPI).

Язык SQL Server.

Указывает использование нескольких активных наборов результатов (MARS) при подключении к SQL Server 2005 (9.x) или более поздней версии (Yes или No).

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

Сетевой адрес экземпляра SQL Server в организации.

Размер сетевого пакета. Значение по умолчанию — 4096.

Persist Security Info

Указывает, включено ли сохранение сведений о безопасности (True или False).

Указывает, включено ли сохранение конфиденциальных сведений (True или False).

В SQL Server Native Client это должно быть SQLNCLI11.

Пароль для входа в SQL Server.

Имя экземпляра SQL Server: сервер в сети, IP-адрес или псевдоним Configuration Manager.

Имя субъекта-службы для сервера.

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

Указывает, используется ли для проверки при входе режим проверки подлинности Windows или имя пользователя и пароль SQL Server (Yes или No).

Указывает, проверен ли сертификат сервера (True или False).

Имя для входа в SQL Server.

Use Encryption for Data

Указывает, надо ли шифровать данные перед отправкой по сети (True или False).

Устаревшее ключевое слово.

Идентификатор рабочей станции — сетевое имя компьютера, на котором находится приложение.

если вы хотите использовать существующие приложения access с SQL Server , можно связать исходные таблицы access с перенесенными SQL Server или SQL Azure таблицами. связывание изменяет базу данных Access таким образом, чтобы запросы, формы, отчеты и страницы доступа к данным использовали данные в SQL Server База данных SQL Azure или вместо данных в базе данных Access.

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

связывание таблиц доступа и SQL Server

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

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

Связывание таблиц

В окне Обозреватель метаданных Access выберите таблицы, которые необходимо связать.

Щелкните правой кнопкой мыши элемент таблицы и выберите команду связать.

SQL ServerПомощник по миграции (SSMA) для доступа создает резервную копию исходной таблицы Access и формирует связанную таблицу.

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

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

чтобы связать таблицы access с базой данных Azure, требуется SQL Server Native Client (SNAC) версии 10,5 или более поздней.
последнюю версию SNAC можно получить с помощью пакета дополнительных компонентов Microsoft® SQL Server® 2008 R2.

Отмена связи с таблицами доступа

при разрыве связи таблицы доступа из SQL Server таблицы или SQL Azureа SSMA восстанавливает исходную таблицу access и ее данные.

Отмена связи таблиц

В окне Обозреватель метаданных Access выберите таблицы, связь с которыми необходимо отменить.

Щелкните правой кнопкой мыши элемент таблицы и выберите команду Удалить связь.

Связывание таблиц с другим сервером

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

Связывание таблиц с другим сервером

В окне Обозреватель метаданных Access выберите таблицы, связь с которыми необходимо отменить.

Щелкните правой кнопкой мыши элемент таблицы и выберите команду Удалить связь.

нажмите кнопку повторное подключение к SQL Server .

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

В окне Обозреватель метаданных Access выберите таблицы, которые необходимо связать.

Щелкните правой кнопкой мыши элемент таблицы и выберите команду связать.

Обновление связанных таблиц

SQL Serverесли определения таблиц или SQL Azure изменены, можно удалить связь и повторно связать таблицы в SSMA, используя процедуры, приведенные ранее в этом разделе. Также можно обновить таблицы с помощью Access.

Обновление связанных таблиц с помощью Access

Откройте базу данных Access.

В списке объекты выберите пункт таблицы.

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

Установите флажок рядом с каждой связанной таблицей, которую требуется обновить, а затем нажмите кнопку ОК.

Возможные проблемы, возникающие после миграции

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

Снижение производительности с помощью связанных таблиц

Причина: Некоторые запросы могут быть слишком длительными после изменения размера по следующим причинам.

приложение зависит от функций, которые не существуют в SQL Server или SQL Azure, в результате чего Jet извлекает таблицы локально для выполнения запроса SELECT.

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

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

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

Для некоторых запросов требуется ввод данных пользователем, но сквозные запросы не поддерживают ввод данных пользователем. вводимые пользователем данные могут быть получены кодом Visual Basic для приложений (VBA), который запрашивает параметры, или формой, используемой в качестве элемента управления вводом. В обоих случаях код VBA отправляет запрос с вводом пользователя на сервер.

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

Причина: После вызова RecordSet. AddNew в Jet столбец с автоматическим приращением становится доступным до обновления записи. Это неверно в SQL Server или SQL Azure. Новое значение нового значения столбца идентификаторов доступно только после сохранения новой записи.

Решение: перед доступом к полю identity выполните следующий код Visual Basic для приложений (VBA):

Новые записи недоступны

Run-time error '3167' Record is deleted.

Решение: при открытии SQL Server таблицы или SQL Azure с помощью кода VBA включите dbSeeChanges параметр, как показано в следующем примере:

Set rs = db.OpenRecordset("TestTable", dbOpenDynaset, dbSeeChanges)

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

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

Решение: Убедитесь, что все столбцы, включенные по крайней мере в один уникальный индекс, являются частью запроса.

Невозможно изменить схему связанной таблицы с доступом

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

Решение: Измените схему таблицы с помощью SQL Server Management Studio , а затем обновите ссылку в Access.

Функция гиперссылки потеряна после переноса данных

Причина: После переноса данных гиперссылки в столбцах теряют свои функциональные возможности и становятся простыми столбцами типа nvarchar (max) .

Решение. Нет.

некоторые SQL Server типы данных не поддерживаются в Access

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

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

В этом разделе показано, как подключаться к источникам данных Microsoft Access со страницы Выбор источника данных или Выбор назначения в мастере импорта и экспорта SQL Server.

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

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

Указываемые параметры

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

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

Источник данных Версия Office
Microsoft Access (Microsoft.ACE.OLEDB.16.0) Office 2016
Microsoft Access (Microsoft.ACE.OLEDB.15.0) Office 2013
Microsoft Access (ядро СУБД Microsoft Access) Office 2010 и Office 2007
Microsoft Access (ядро СУБД Microsoft Jet) Версии Office, предшествующие Office 2007

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

Имя файла
Укажите полный путь и имя для файла Access. Например, C:\MyData.mdb для файла на локальном компьютере или \\Sales\Database\Northwind.mdb для файла на общем сетевом ресурсе. или нажмите Обзор.

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

Обзор
Выберите файл базы данных с помощью диалогового окна Открыть.

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

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

Если база данных защищена одним и тем же паролем для всех пользователей, см. раздел Защищен ли файл базы данных с помощью пароля?.

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

Access не отображается в списке источников данных

Если вы не видите Access в списке источников данных, определите, не используете ли в 64-разрядный мастер? Поставщики для Excel и Access обычно 32-разрядные и поэтому не отображаются в 64-разрядном мастере. Запустите 32-разрядный мастер.

Чтобы использовать 64-разрядную версию мастера экспорта и импорта SQL Server, нужно установить SQL Server. SQL Server Data Tools (SSDT) и SQL Server Management Studio (SSMS) являются 32-разрядными приложениями и устанавливают только 32-разрядные файлы, включая 32-разрядную версию мастера.

Получение файлов, необходимых для подключения к Access

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

Если на компьютере установлена 32-разрядная версия Office, нужно установить 32-разрядную версию компонентов, а также убедиться в том, что пакет запускается в 32-разрядном режиме.

Защищен ли файл базы данных с помощью пароля?

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

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

В диалоговом окне Свойства канала передачи данных откройте вкладку Все.

В списке свойств и значений выберите Jet OLEDB:Database Password.

Указание пароля для Access, экран 1

Щелкните Изменить значение, чтобы открыть диалоговое окно Изменение значения свойства.

Указание пароля для Access, экран 2

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

Сохранение значений счетчиков при экспорте из Access

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

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

. При таком подходе соединение ODBC связывает таблицы Access с таблицами SQL Server. Но еще более удачный способ связать Access и SQL Server Express -- использовать проект базы данных Access. В сущности, в таких проектах Access используется для проектирования базы данных SQL Server, и пользователь получает преимущества обоих продуктов.

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

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

Затем нажмите кнопку Create. Access выведет приглашение Do you want to connect to an existing SQL Server database? Если предстоит построить новую базу данных, выберите ответ No, чтобы создать новую базу данных. Для подключения к существующей базе данных выберите ответ Yes.

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

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