Access подключение к sql серверу: Подключение Access к SQL Server

Содержание

Связывание приложений Access с SQL Server — база данных Azure SQL — SQL Server


  • Статья

  • Чтение занимает 5 мин

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

Примечание

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

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

Примечание

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

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

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

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

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

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

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

Важно!

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

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

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

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

  2. Щелкните правой кнопкой мыши таблицы, а затем выберите Отменить связь.

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

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

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

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

  3. Нажмите кнопку Повторно подключиться к SQL Server.

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

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

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

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

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

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

  2. В списке Объекты щелкните Таблицы.

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

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

Возможные проблемы после миграции

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

Низкая производительность при использовании связанных таблиц

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

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

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

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

  • Сквозные запросы нельзя изменить. Изменение результата запроса или добавление новых записей должно выполняться альтернативным способом, например с помощью явных кнопок «Изменить» или «Добавить » в форме, привязанной к запросу.

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

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

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

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

Recordset.Update  
Recordset.Move 0,  
Recordset.LastModified  

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

Вызвать: При добавлении записи в SQL Server или SQL Azure таблицу с помощью VBA, если поле уникального индекса таблицы имеет значение по умолчанию и этому полю не присваивается значение, новая запись не отображается, пока вы не откроете таблицу в SQL Server или SQL Azure. При попытке получить значение из новой записи появляется следующее сообщение об ошибке:

Run-time error '3167' Record is deleted.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также раздел

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

Настройка источников данных

Настройка источников данных

В системе предусмотрена возможность добавления, изменения и удаления источников данных
ZuluGIS. Эти операции доступны из панели Источники данных, которую
можно вызвать несколькими способами:

  1. Выбрав пункт главного меню Таблица/Источники данных….

    ИЛИ

  2. Из редактора баз
    данных выбрав меню Сервис|Настройки, вкладка
    Источники данных.

    ИЛИ

  3. Из редактора баз
    данных при создании/добавлении таблицы выбрав пункт Добавить/удалить
    источник.

Добавление источника данных

Для добавления источника данных:

  1. В панели Источники данных нажмите кнопку
    Добавить.

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

  3. Выберите нужный Тип подключения из списка.

  4. В зависимости от типа подключения укажите:

    • Для соединения ADO (OLEDB):

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

      • Либо выберите опцию Использовать файл связи с данными
        (UDL) и укажите путь к файлу UDL. Воспользуйтесь кнопкой
        Обзор, чтобы найти и выбрать этот файл на
        компьютере.

    • Для соединения ODBC:

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

      • Укажите одну из возможных опций: Использовать строку
        соединения или Использовать файл связи с данными
        (UDL) (см. выше).

    • Для источника BDE:

    • Для локальной папки/Access/Sqlite/SQL Server LocalDB:

  5. Если нужно, чтобы соединение с источником данных осуществлялось с
    предопределенными логином и паролем, впишите их в окошках Логин и
    Пароль (пароль сохраняется в файле
    DataSrc. cfg в зашифрованном виде).

  6. Нажмите OK.

Изменение настроек источника данных

Для изменения:

  1. Выберите источник из списка и нажмите Изменить.

  2. В панели Источник данных задайте параметры источника.

  3. Нажмите OK.

Удаление источника данных

Для удаления:

  1. Выберите источник из списка и нажмите Удалить.

  2. В появившемся окне предупреждения подтвердите выбор кнопкой
    Да.

Подключение Microsoft Access к SQL Server через драйвер ODBC

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

В Microsoft Access вы можете подключиться к своим данным SQL Server, либо импортировав их, либо создав таблицу, которая ссылается на данные. Драйверы Devart ODBC поддерживают все современные версии Access. Предполагается, что вы уже установили и настроили драйвер DSN для ODBC для SQL Server. Для целей этой статьи мы протестировали подключение ODBC к SQL Server через наши драйверы ODBC в Microsoft Access 2003, Microsoft Access 2007, Microsoft Access 2010, Microsoft Access 2013, Microsoft Access 2016, Microsoft Access 2019.. Следующие шаги описывают, как использовать Microsoft Access 2019 для импорта или ссылки на ваши данные в SQL Server.

Импорт данных SQL Server в Microsoft Access через соединение ODBC

  1. Откройте базу данных Microsoft Access.
  2. Выберите вкладку Внешние данные на ленте.
  3. Разверните раскрывающийся список Новый источник данных и выберите Из других источников , затем выберите ODBC Dababase .
  4. В диалоговом окне Получить внешние данные — база данных ODBC выберите Импорт исходных данных в новую таблицу в текущей базе данных и нажмите OK .
  5. В диалоговом окне Select Data Source выберите вкладку Machine Data Source .
  6. Выберите DSN, который вы настроили для SQL Server, и нажмите OK .
  7. В диалоговом окне Import Objects выберите таблицы, которые вы хотите импортировать, и нажмите ОК .
  8. Если объекты базы данных были успешно импортированы, в диалоговом окне должно появиться соответствующее сообщение. Если вы хотите сохранить шаги импорта, чтобы быстро повторить процесс без использования мастера позднее, установите флажок Сохранить шаги импорта . Нажмите Закрыть .
  9. Импортированные таблицы должны появиться на панели навигации Tables слева.
  10. Дважды щелкните нужную таблицу, чтобы отобразить ее содержимое.

Связывание с данными SQL Server в Microsoft Access через соединение ODBC

  1. Откройте базу данных Microsoft Access.
  2. Выберите вкладку Внешние данные на ленте.
  3. Разверните раскрывающийся список Новый источник данных и выберите Из других источников , затем выберите ODBC Dababase .
  4. В диалоговом окне Получить внешние данные — база данных ODBC выберите Связать с источником данных, создав связанную таблицу .
  5. В диалоговом окне Select Data Source выберите вкладку Machine Data Source .
  6. Выберите DSN, который вы настроили для SQL Server, и нажмите OK .
  7. В диалоговом окне Link Tables выберите таблицу или таблицы, на которые вы хотите создать ссылку, и нажмите OK .
  8. Диалоговое окно Select Unique Record Identifier предложит вам выбрать поле или поля, которые однозначно идентифицируют каждую запись в таблице. Во избежание несоответствий рекомендуется выбрать первичный ключ в таблице SQL Server в качестве уникального идентификатора записи. Вы связываете несколько таблиц, вам будет предложено выбрать уникальные идентификаторы записей для каждой из выбранных таблиц.
  9. Связанные таблицы должны появиться на панели навигации Таблицы слева.
  10. Дважды щелкните нужную таблицу, чтобы отобразить ее содержимое.

Как подключить MS Access к SQL Server

Колтур Рагхавендер Рао

Колтур Рагхавендер Рао

Старший технический руководитель WinWire Technologies Inc.

Опубликовано 11 февраля 2020 г.

+ Подписаться
Шаг 1: Создайте базу данных ODBC0124

  • Нажмите Источники данных ODBC (32-разрядная) или Источники данных ODBC (64-разрядная) в зависимости от конфигурации вашей системы ваш экран
  • Перейдите к DSN пользователя -> Выберите dBase Files -> Нажмите на Добавить
  • Создать новый источник данных всплывающее окно появится на вашем сервере
  • 3 Выберите SQL0124 и нажмите Готово

  • Создать новый источник данных для SQL Server всплывающее окно появится на вашем экране
  • Дайте Имя вашему источнику данных 0 9020 a4 источник данных
  • Запишите данные
  • Выберите имя SQL Server и нажмите Далее
  • По умолчанию система выберет «С проверкой подлинности Windows NT с использованием идентификатора входа в сеть». и нажмите Далее
  • Если вы хотите изменить учетные данные, нажмите «С проверкой подлинности SQL Server с использованием идентификатора входа и пароля, введенных пользователем» это необязательный шаг в зависимости от требований вашей компании и нажмите на Далее
  • Выберите базу данных -> Измените базу данных по умолчанию на:
  • Я выбрал «AdventureWorks2017» и Нажмите на Далее
  • Поскольку я установил эту базу данных в Microsoft SQL Server
  • Нажмите Finish на экране ниже, если вы хотите внести какие-либо изменения, вы можете использовать другие параметры Источник…»
  • Результаты теста должны быть «ТЕСТЫ УСПЕШНО ЗАВЕРШЕНЫ!» если ваш тест не пройден, то вернитесь и проверьте все шаги еще раз
  • После того, как результаты теста будут успешными, вы увидите базу данных Test в источнике данных пользователя ODBC

Шаг 2.

Подключитесь к MS Access к базе данных

  • Откройте MS Access
  • Сохраните файл MS Access
  • Перейдите к Внешние данные на панели инструментов
  • Новый источник данных->Из других источников->База данных ODBC
  • Получить внешние данные — на экране появится всплывающее окно базы данных ODBC
  • Выберите «Импортировать исходные данные в новую таблицу в текущая база данных» или «Связаться с источником данных, создав связанную таблицу».
  • Я выберу «Связать с источником данных, создав связанную таблицу». и нажмите на OK это будет обновлять данные всякий раз, когда есть обновление в базе
  • Из « Выбрать источник данных» => Машинный источник данных => Выберите Тест => Нажмите OK
  • Вы увидите таблицы ссылок всплывающее окно
  • Выберите любую таблицу и нажмите на OK
  • Теперь вы увидите таблицу слева и данные справа

Надеюсь, эта статья поможет людям, которые хотят подключить свой доступ к SQL-сервер.