Сервер

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

Содержание

Microsoft Access: подключение к SQL Server через Active Directory имя пользователя и пароль Trusted_Connection=нет

У меня есть приложение Microsoft Access, которое генерирует строку подключения типа:

Provider=SQLNCLI11;Server=servername;Database=db_name;Trusted_Connection=yes;

Это работает без каких-либо проблем.

Что я хочу сделать, так это подключиться к экземпляру SQL Server, где пользователь должен вставить свое имя Active Directory и пароль.

Подобный этому:

Provider=SQLNCLI11;Server=servername;Database=db_name;Uid=username;Pwd=password;

Это работает только для пользователей, которые создаются непосредственно на SQL Server.

Я попробовал Uid=DOMAIN\username, но это не работает.

Возможно ли это? Или есть другой способ, как я могу пройти через это?

Окружающая среда:
Пользователь использует локальный PC с локальной учетной записью, а затем он делает «NetworkConnect» со своим рекламным Пользователем и паролем.

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

SQL-Server и пользователь AD являются членами одного домена.

sql-server

vba

connection-string

Поделиться

Источник


John    

02 июля 2018 в 14:22

2 ответа




1

Ваш выбор таков

  1. Войдите в SQL Server, используя свою учетную запись домена Windows, в которую вы в данный момент вошли. Вы делаете это автоматически, указав Trusted_Connection=yes; или

  2. Войдите в SQL Server, используя логин SQL.

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

Поделиться


RBarryYoung    

02 июля 2018 в 18:38



0

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

Поделиться


mdhunt    

02 июля 2018 в 18:30


Похожие вопросы:

Проверить имя пользователя и пароль в Active Directory?

Как я могу проверить имя пользователя и пароль в Active Directory? Я просто хочу проверить, верны ли имя пользователя и пароль.

Проверьте пользователя и пароль против Active Directory в SQL

Я хотел бы знать, можно ли из sql напрямую проверить имя пользователя и пароль в Active directory. Я имею в виду без функций CLR. Я знаю, что можно получить список пользователей, использующих…

Подключение к SQL Server из .NET с помощью учетной записи службы Active Directory

У меня есть приложение Winforms, написанное на C#, которое подключается к базе данных SQL Server. Когда я подключаюсь к SQL Server, я создаю строку подключения, которая может содержать либо…

Предоставьте доступ к базе данных Microsoft Access через SQL Server с помощью связанного сервера

У нас есть одно приложение .exe, которое использует одну базу данных .mdb Microsoft Access. Мне нужно получить доступ к данным внутри файла access через Microsoft SQL Server. У нас есть SQL Server…

Подключение к SQL Server с использованием учетных данных active directory

Я думал, что это будет просто, но никак не могу понять. Я хочу иметь форму c# с запросом имени пользователя и пароля. Затем я хочу проверить пользователя, спросив SQL, может ли эта учетная запись…

AX 2012 ODBC подключение без пользователя Active Directory

У меня возникли проблемы при попытке подключиться к внешней базе данных с помощью Microsoft Dynamics AX. Я настроил dsn, и я могу подключиться с аутентификацией sql server (не active directory,…

Проверьте, существует ли имя пользователя в Microsoft Azure Active Directory

Я использую Microsoft Azure Active Directory login для своего приложения MVC 5. Может ли кто-нибудь дать мне идею, как я могу проверить, существует ли имя пользователя уже в Microsoft Azure Active…

R подключение к локальному SQL Server

Я не могу подключиться к своему локальному sql server через Rstudio. Я могу подключиться к SQL Server, который размещает моя компания, и я могу подключиться к своему локальному SQL Server через…

Как подключиться к SQL Server из Windows без использования trusted_connection?

Борется с этой проблемой. Прямо сейчас я создаю сервисное приложение на машине windows, которое я использую следующую строку кода для подключения к SQL Server dbConnect(odbc::odbc(),…

Тестовое соединение SQL Server для учетной записи Active Directory

У меня есть SQL Server созданный логин (Windows аутентификация) и SQL Server пользователя, связанного с этим логином. Я хочу проверить соединение с этим SQL Server с другого сервера в сети для этой…

Соединение ADP-проектов Access с SQL Server Express | Windows IT Pro/RE

. При таком подходе соединение 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, можно даже никогда не обнаружить их.

Чтобы построить проект базы данных Access, откройте Access 2007, нажмите кнопку Office и выберите New. Щелкните на пиктограмме просмотра папок рядом с приглашением File Name, чтобы вывести на экран диалоговое окно New Database. Перейдите в каталог, в котором нужно сохранить проект, выберите пункт Microsoft Office Access Projects (*.adp) из раскрывающегося меню Save as type, а затем присвойте базе данных имя в поле File Name. Нажмите кнопку OK, чтобы вернуться в основное окно Access.

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

В качестве примера установим соединение с тестовой базой данных Northwind. Нажмите кнопку Yes, чтобы вывести диалоговое окно Data Link Properties. Если экземпляр SQL Server Express установлен с использованием параметров по умолчанию, то выберите пункт SQLEXPRESS из раскрывающегося меню Select or enter a server name и щелкните Use Windows NT Integrated security. Из раскрывающегося меню Select the database on the server следует выбрать базу данных Northwind. По нажатию кнопки OK создается проект базы данных Access, и Access открывается, показывая таблицы Northwind. Структура проекта аналогична, но не полностью совпадает с собственным проектом базы данных Access. Открыв таблицу щелчком мыши, можно изменить ее схему и подготовить новые формы и отчеты Access.

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

Поделитесь материалом с коллегами и друзьями

Использование «Запроса к серверу» MS Access для извлечения данных с нескольких серверов SQL Server

На нашем предприятии несколько десятков удаленных территориально от головного офиса представительств, в каждом из которых имеется база с данными о клиентах каждого представительства. Исторические данные есть и в центральном офисе, но актуальные находятся только в представительстве. Каждая БД на MS SQL Server 2005. Изредка возникает необходимость получить актуальную информацию по всем представительствам в виде таблицы Excel. Например, получить что-то вроде:

select territory, count(customerid) from customer where managerid = 1000

До недавнего момента я тупо в MS SQL Server Management Studio менял вручную connect, прогонял скрипт на выборку данных для каждого удаленного офиса и копировал результаты на лист Экселя. Но как-то выдалась свободное время, и я решил автоматизировать процесс сбора данных с удаленных БД, используя старый добрый MS Access.


MS Access имеет такой интересный инструмент, как “Запрос к серверу”, который отправляет sql-инструкцию напрямую серверу базы данных ODBC. Таким образом для любого сервера БД, — SQL Server, Progress OpenEdge, Oracle, — к которому у нас имеется ODBC-драйвер, мы можем создать в Акцессе “Запрос к серверу” на родном для этого сервера диалекте sql.

Таким образом мне осталось в цикле по числу удаленных офисов сменить настройки ODBC-подключения, запустить запрос и вернуть результат в табличку Акцесса. Что для этого было сделано.

Я создал в MS Access табличку с реквизитами подключения для каждого офиса t_ServerList, табличку t0 – приемник результатов запроса для каждого офиса и написал на VBA проход по объекту ADO Recordset для сбора строки ODBC-подключения и “складированию” данных из “Запрос к серверу”с именем queryName в табличку Access t0. В случае возникновения ошибки (не факт, что каждый локальный сервер будет работать во время прогона), в таблицу t_ServerList пишется код ошибки и описание.

Ниже, собственно, сам код:

Option Compare Database
Public Const queryName As String = "q0"
Public Connection As ADODB.Connection, Recordset As ADODB.Recordset
Sub MkPassTruQueryDefSel()
'Руками поменять в свойствах запроса Возврат записей - ДА
'В цикле по таблице серверов t_ServerList создается pass-thtough запрос и данные с выбранного сервера/базы, используя строку запроса strSql
'инсертятся в заранее созданную таблицу акцесс соотв-й корректной структуры
'Таблица с именем t0 должна быть создана заранее
'Пишется дата прохода в таблицу со списком серверов
Dim strSql As String, strCon As String, serverListTableName As String, strServer As String, strDB As String
Dim errAdo As ADODB. Error, strErrAdoMsg As String
Dim qrdef As Dao.QueryDef, db As Dao.Database
'Текст запроса к серверу вбит руками в конструкторе запроса
Set db = CurrentDb
On Error Resume Next
Set qrdef = db.QueryDefs(queryName)
Dim strSQLFillTable As String
strSQLFillTable = "insert into t0 select * from " & queryName 'Запрос на заполнение таблицы очередной порцией
Set Connection = CurrentProject.Connection
Set Recordset = New ADODB.Recordset
serverListTableName = "t_ServerList"
With Recordset
'Каждый проход из рекордсета берутся атрибуты соединения для pass-thtough запроса
    'Запрос к исходной таблице со списком серверов
    src = "select * from " & serverListTableName & " where use=-1"
    .Open src, Connection, adOpenDynamic, adLockOptimistic
    .MoveFirst
    Do While (.EOF = False)
        strServer = .Fields("ip"): strDB = .Fields("DB")
        qrdef.Connect = GetTPQConString(strServer, strDB)
        CurrentDb.QueryDefs.Refresh
        CurrentProject.Connection.Execute strSQLFillTable
        . Fields("UseDateTime") = Now 'Запись метки времени использования
        .Fields("errNumber") = Err.Number  : .Fields("errString") = Err.Description: Err.Clear
        .MoveNext
    Loop
    .Close
End With
Set Recordset = Nothing : Connection.Close : Set Connection = Nothing
Call ShowOkMessage
End Sub
Public Function GetTPQConString(myServerAddress As String, myDataBase As String) As String
'Строка подключения для "запроса к серверу"
GetTPQConString = "ODBC; DRIVER=SQL Server; Server=" & myServerAddress & _
                                     ";Database=" & myDataBase & _
                                     ";UID=odmin;PWD=pwd;"
End Function

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

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

.

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

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

Прежде чем начать

Хотите, чтобы все прошло гладко? Затем сделайте следующие приготовления перед тем, как связать или импортировать:

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

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

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

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

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

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

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

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

  2. В диалоговом окне « Получить внешние данные — база данных ODBC » выполните одно из следующих действий:

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

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

  3. Выберите ОК .

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

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

Хотя вы по-прежнему можете использовать предыдущие версии драйвера SQL ODBC, мы рекомендуем использовать версию 13. 1, которая содержит множество улучшений и поддерживает новые функции SQL Server 2016. Дополнительные сведения см. В разделе Драйвер Microsoft ODBC для SQL Server в Windows.

  1. Выполните одно из следующих действий:

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

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

    • Для создания нового файла DSN:

      1. Выбрать Новый .

      2. Выберите ODBC Driver 13 для SQL Server , а затем выберите Next .

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

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

Этап 3. Использование мастера создания нового источника данных для SQL Server

В мастере Create a New Data Source to SQL Server выполните следующие действия:

    org/ItemList»>

  1. На первой странице введите идентификационную информацию:

    • В поле Описание при необходимости введите документальную информацию о файле DSN.

    • В поле Server введите имя SQL Server. Не нажимайте стрелку вниз.

  2. На второй странице выберите один из следующих методов аутентификации:

    • Со встроенной аутентификацией Windows Подключитесь через учетную запись пользователя Windows.При желании введите имя принципала обслуживания ( SPN ). Дополнительные сведения см. В разделе Имена участников-служб (SPN) в клиентских подключениях (ODBC).

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

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

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

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

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

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

  2. org/ListItem»>

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

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

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

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

Результаты

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

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

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

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

Обновить дизайн связанной таблицы

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

  1. Выберите Внешние данные > Менеджер связанных таблиц .

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

Сравнить типы данных

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

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

Шаг 1. Подготовка к связыванию

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

  2. Определите таблицы и представления, на которые вы будете ссылаться в базе данных SQL. Вы можете ссылаться на несколько объектов одновременно.

Просмотрите исходные данные на наличие следующих соображений:

  • Access поддерживает до 255 полей (столбцов) в таблице, поэтому связанная таблица будет включать только первые 255 полей объекта, на который вы ссылаетесь.

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

    org/ItemList»>

  1. Чтобы создать связанную таблицу в новой базе данных: Щелкните Файл > Новый > Пустая база данных рабочего стола . Чтобы создать связанные таблицы в существующей базе данных Access, убедитесь, что у вас есть необходимые разрешения для добавления данных в базу данных.

    Примечание. Связанная таблица, созданная в существующей базе данных Access, получает то же имя, что и исходный объект. Итак, если у вас уже есть другая таблица с таким же именем, к имени новой связанной таблицы будет добавлена ​​цифра «1» — например, Контакты1. (Если Контакты1 также уже используются, Access создаст Контакты2 и т. Д.)

Шаг 2. Связывание с данными

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

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

  2. На вкладке Внешние данные щелкните База данных ODBC .

  3. Щелкните Связать с источником данных, создав связанную таблицу > ОК и следуйте инструкциям мастера. В поле Select Data Source , если файл .dsn, который вы хотите использовать, уже существует, щелкните файл в списке.

    Чтобы создать новый файл .dsn:

    В поле Select Data Source щелкните New > SQL Server > Next .

    1. Введите имя файла .dsn или щелкните Обзор .

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

    2. Нажмите Далее , чтобы просмотреть сводную информацию, и нажмите Готово .

      Следуйте инструкциям мастера Create a New Data Source to SQL Server Wizard.

  4. Щелкните ОК, и в разделе Таблицы щелкните каждую таблицу или представление, на которые нужно создать ссылку, а затем щелкните ОК .

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

Когда операция связывания будет завершена, вы увидите новую связанную таблицу или таблицы в области навигации.

Применить последнюю структуру объектов SQL Server

Когда вы открываете связанную таблицу или исходный объект, вы видите последние данные. Однако, если в объект SQL Server вносятся какие-либо структурные изменения, вам необходимо обновить связанные таблицы, чтобы увидеть эти изменения.

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

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

  3. org/ListItem»>

    Щелкните ОК > Закройте .

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

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

Верх страницы

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

Перенести данные из объектов SQL Server (таблиц или представлений) в Access можно двумя способами — путем импорта или связывания. Разница между двумя процессами заключается в следующем:

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

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

В этой статье описывается, как импортировать данные SQL Server или связать их с ними.

Решите, импортировать или связать

Ситуации при импорте подходит

Обычно данные SQL Server импортируются в базу данных Access по следующим причинам:

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

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

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

Ситуации при линковке подходит

Обычно вы связываете данные SQL Server по следующим причинам:

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

  • База данных SQL Server содержит много больших таблиц, и вы не можете импортировать их все в одну. accdb файл. Максимальный размер базы данных Access составляет 2 гигабайта за вычетом места, необходимого для системных объектов.

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

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

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

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

Верх страницы

Импорт данных из SQL Server

Подготовка к импорту

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

Примечание. Спецификация импорта поможет вам повторить операцию импорта в будущем без необходимости каждый раз проходить через мастер импорта.

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

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

  3. Просмотрите исходные данные и помните о следующих соображениях:

    • Access не поддерживает более 255 полей в таблице, поэтому Access импортирует только первые 255 столбцов.

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

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

  4. Определите базу данных Access, в которую вы хотите импортировать данные SQL Server.

    Убедитесь, что у вас есть необходимые разрешения для добавления данных в базу данных Access. Если вы не хотите хранить данные ни в одной из существующих баз данных, создайте новую пустую базу данных.

  5. Просмотрите таблицы, если таковые существуют, в базе данных Access.

    Операция импорта создает таблицу с тем же именем, что и объект SQL Server. Если это имя уже используется, Access добавляет к имени новой таблицы цифру «1», например «Контакты1». (Если Контакты1 также уже используются, Access создаст Контакты2 и т. Д.)

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

Импортировать данные

    org/ItemList»>

  1. Откройте целевую базу данных.

    На вкладке Внешние данные в группе Импорт и связывание щелкните База данных ODBC .

  2. Щелкните Импортировать исходные данные в новую таблицу в текущей базе данных , а затем щелкните ОК .

  3. В диалоговом окне «Выбор источника данных» , если файл .dsn, который вы хотите использовать, уже существует, щелкните файл в списке.

    Мне нужно создать новый файл .dsn

    Примечание. Шаги в этой процедуре могут немного отличаться в зависимости от программного обеспечения, установленного на вашем компьютере.

    1. Щелкните Новый , чтобы создать новое имя источника данных (DSN).

      Запустится мастер создания нового источника данных.

    2. В мастере выберите SQL Server в списке драйверов, а затем нажмите Далее .

    3. Введите имя для.dsn или щелкните Обзор , чтобы сохранить файл в другом месте.

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

    4. Щелкните Далее , просмотрите сводную информацию, а затем щелкните Завершить , чтобы завершить работу мастера.

      Создание нового источника данных для SQL Server Откроется диалоговое окно.

    5. Введите описание источника данных в поле Описание . Этот шаг не является обязательным.

    6. org/ListItem»>

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

    7. Вам может потребоваться информация от администратора базы данных SQL Server, например, использовать ли проверку подлинности Microsoft Windows NT или проверку подлинности SQL Server. Щелкните Далее , чтобы продолжить.

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

    9. Нажмите Готово .

    10. Просмотрите сводную информацию и щелкните Источник тестовых данных .

    11. Просмотрите результаты теста, а затем нажмите ОК , чтобы закрыть диалоговое окно.

      Если проверка прошла успешно, нажмите ОК еще раз или Отмена , чтобы изменить настройки.

  4. org/ListItem»>

    Нажмите ОК , чтобы закрыть диалоговое окно Выбор источника данных .

    Access отображает диалоговое окно Импорт объектов .

  5. В разделе Таблицы щелкните каждую таблицу или представление, которое необходимо импортировать, а затем щелкните ОК .

  6. Если появится диалоговое окно Select Unique Record Identifier , Access не смог определить, какое поле или поля однозначно идентифицируют каждую строку конкретного объекта. В этом случае выберите поле или комбинацию полей, которые уникальны для каждой строки, а затем нажмите OK . Если вы не уверены, обратитесь к администратору базы данных SQL Server.

    Access импортирует данные.Если вы планируете повторить операцию импорта позже, вы можете сохранить шаги импорта как спецификацию импорта и легко повторно выполнить те же шаги позже. Для создания задачи на вашем компьютере должен быть установлен Microsoft Office Outlook.

  7. Щелкните Закройте в разделе Сохранить шаги импорта в диалоговом окне Получить внешние данные — База данных ODBC . Access завершит операцию импорта и отобразит новую таблицу или таблицы в области навигации.

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

Верх страницы

Ссылка на данные SQL Server

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

Подготовьтесь к переходу по ссылке

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

  2. org/ListItem»>

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

  3. Просмотрите исходные данные и помните о следующих соображениях:

    • Access не поддерживает более 255 полей в таблице, поэтому связанная таблица будет включать только первые 255 полей объекта, на который вы ссылаетесь.

    • Столбцы, которые доступны только для чтения в объекте SQL Server, будут по-прежнему доступны только для чтения в Access.

    • Вы не сможете добавлять, удалять или изменять столбцы в связанной таблице в Access.

  4. Определите базу данных Access, в которой вы хотите создать связанные таблицы.Убедитесь, что у вас есть необходимые разрешения для добавления данных в базу данных. Если вы не хотите хранить данные ни в одной из существующих баз данных, создайте новую пустую базу данных, щелкнув вкладку File , а затем на вкладке New нажав Blank Database .

  5. Просмотрите таблицы в базе данных Access. При связывании с таблицей или представлением SQL Server Access создает связанную таблицу с тем же именем, что и исходный объект.Если это имя уже используется, Access добавит «1» к имени новой связанной таблицы, например «Контакты1». (Если Контакты1 также уже используются, Access создаст Контакты2 и т. Д.)

  6. Для связи с данными откройте базу данных назначения.

  7. На вкладке Внешние данные в группе Импорт и связывание щелкните База данных ODBC .

  8. Щелкните Связать с источником данных, создав связанную таблицу , а затем щелкните ОК .

  9. В диалоговом окне Выбор источника данных щелкните файл . dsn, который вы хотите использовать, или щелкните Новый , чтобы создать новое имя источника данных (DSN).

  10. В диалоговом окне Выбор источника данных , если файл.dsn-файл, который вы хотите использовать, уже существует, щелкните файл в списке.

    Мне нужно создать новый файл .dsn

    Примечание. Шаги в этой процедуре могут немного отличаться в зависимости от программного обеспечения, установленного на вашем компьютере.

    1. Щелкните Новый , чтобы создать новое имя источника данных (DSN).

      Запустится мастер создания нового источника данных.

    2. В мастере выберите SQL Server в списке драйверов, а затем нажмите Далее .

    3. Введите имя файла .dsn или щелкните Обзор , чтобы сохранить файл в другом месте.

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

    4. Щелкните Далее , просмотрите сводную информацию, а затем щелкните Завершить , чтобы завершить работу мастера создания нового источника данных.

      Запускается мастер создания нового источника данных для SQL Server.

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

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

    7. На этой странице мастера вам может потребоваться получить информацию от администратора базы данных SQL Server, например, использовать ли проверку подлинности Windows NT или проверку подлинности SQL Server. Щелкните Далее , чтобы продолжить.

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

    9. Нажмите Готово . Просмотрите сводную информацию и нажмите Источник тестовых данных .

    10. Просмотрите результаты теста, а затем нажмите OK , чтобы закрыть диалоговое окно SQL Server ODBC Data Source Test .

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

  11. Щелкните ОК .

    Access отображает диалоговое окно Link Tables .

  12. В разделе Таблицы щелкните каждую таблицу или представление, на которое нужно установить ссылку, а затем щелкните ОК .

    1. Если появится диалоговое окно Select Unique Record Identifier , Access не смог определить, какое поле или поля однозначно идентифицируют каждую строку исходных данных. В этом случае выберите поле или комбинацию полей, которые уникальны для каждой строки, а затем нажмите OK . Если вы не уверены, обратитесь к администратору базы данных SQL Server.

Access завершает операцию связывания и отображает новую связанную таблицу или таблицы в области навигации.

Важно: Каждый раз, когда вы открываете связанную таблицу или исходный объект, вы видите последние данные, отображаемые в нем. Однако структурные изменения, внесенные в объект SQL Server, не отражаются автоматически в связанной таблице.

Обновите связанную таблицу, применив последнюю структуру объектов SQL Server

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

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

  3. Щелкните ОК .

    Если обновление прошло успешно, Access отобразит соответствующее сообщение. В противном случае Access отобразит сообщение об ошибке.

  4. Щелкните Закрыть , чтобы закрыть диспетчер связанных таблиц.

Верх страницы

Что еще я должен знать?

Верх страницы

Как Access видит типы данных SQL Server

Поскольку типы данных Access отличаются от типов данных SQL Server, Access должен определить наиболее подходящий тип данных Access для использования для каждого столбца каждой таблицы или представления SQL Server, которые вы импортируете или связываете. Например, столбец SQL Server с типом данных бит импортируется или связывается в Access с типом данных Да / Нет . Другой пример: столбец SQL Server с типом данных nvarchar (255) (или меньше) импортируется или связывается с типом данных Text , но столбец с типом данных nvarchar (256) (или больше) импортируется как поле Access Memo . После завершения операции импорта или связывания вы можете открыть таблицу в представлении «Дизайн» и подтвердить, какие типы данных Access назначил ее полям.Вы можете изменить типы данных полей в импортированных таблицах. Однако вы не можете изменять типы данных полей в связанных таблицах, кроме как путем изменения их в самой базе данных SQL Server или в проекте Access, который подключен к этой базе данных.

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

Тип данных SQL Server

Тип данных доступа

Размер поля доступа

bigint

Текст

255

двоичный (
размер поля
)

Двоичный

То же, что и размер поля SQL Server

бит

Да / Нет

символ (
размер поля
) , где размер поля меньше или равен 255

Текст

То же, что и размер поля SQL Server

символ (
размер поля
) , где размер поля больше 255

Памятка

дата и время

Дата / время

десятичное (
точность
,
масштаб
)

Число

Decimal (свойства Access Precision и Scale соответствуют точности и масштабу SQL Server. )

поплавок

Число

двойной

изображение

Объект OLE

внутренний

Число

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

денег

Валюта

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

Текст

То же, что и размер поля SQL Server

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

Памятка

ntext

Памятка

числовой (
точность
,
масштаб
)

Число

Decimal (свойства Access Precision и Scale соответствуют точности и масштабу SQL Server. )

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

Текст

То же, что и размер поля SQL Server

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

Памятка

nvarchar (МАКС. )

Памятка

реалов

Число

Одноместный

smalldatetime

Дата / время

smallint

Число

Целое число

smallmoney

Валюта

sql_variant

Текст

255

текст

Памятка

метка времени

Двоичный

8

Tinyint

Число

Байт

uniqueidentifier

Число

Идентификатор репликации

varbinary

Двоичный

То же, что и размер поля SQL Server

varbinary (MAX)

Объект OLE

варчар (
размер поля
) , где размер поля меньше или равен 255

Текст

То же, что и размер поля SQL Server

варчар (
размер поля ), где размер поля больше 255

Памятка

varchar (макс. )

Памятка

xml

Памятка

Верх страницы

Подключите доступ к SQL Server

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

В этой статье

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

Программный интерфейс к SQL Server из Access

Сводка версий драйвера ODBC

Сводка версий поставщика OLE DB

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

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

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

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

 ODBC; DRIVER = SQL Server; SERVER = "MyServer"; DATABASE = "MyHRdb"; TRUSTED_CONNECTION = Да 


 Поставщик = SQLOLEDB; Источник данных = MyServer; Начальный каталог = MyHRdb; Интегрированная безопасность = SSPI; 

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

ODBC драйверы

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

За прошедшие годы драйверы ODBC поставлялись в три этапа:

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

  • Драйверы ODBC

    , поставляемые с SNAC для SQL Server 2005 — SQL Server 2012.

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

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

Провайдеры OLE DB

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

Tip Обычно вы используете диалоговое окно Data Link Properties , чтобы добавить строку подключения OLE DB. Хотя в Access нет возможности открыть диалоговое окно Data Link Properties , в проводнике Windows можно создать пустой файл .txt, изменить тип файла на .udl, а затем дважды щелкнуть файл. После создания строки подключения снова измените тип файла на.текст.

На протяжении многих лет поставщики OLE DB поставляли в три этапа:

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

  • поставщиков OLE DB, поставляемых с SQL Server 2005 по SQL Server 2017. В 2011 году он объявлен устаревшим.

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

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

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

Для оптимизации производительности, минимизации сетевого трафика и уменьшения многопользовательского доступа к базе данных SQL Server используйте как можно меньше строк подключения, разделяя строки подключения по нескольким наборам записей. Хотя Ace просто передает строку подключения на сервер, он понимает и использует следующие ключевые слова: 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.

DAO

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

Дополнительные сведения см. В справочнике по объектам доступа к данным Microsoft.

ADO

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

Для получения дополнительной информации см. Справочник по объектам данных Microsoft ActiveX и Объекты данных Microsoft ActiveX (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-битные драйверы, которые включают 32-битные компоненты, необходимые для Access.

Дополнительные сведения см. В разделах Использование ключевых слов строки подключения с собственным клиентом SQL Server, Примечания к выпуску ODBC для SQL Server в Windows (V17) и Функции драйвера Microsoft ODBC для SQL Server в Windows (V13, 11).

Верх страницы

Обзор версий поставщика OLE DB

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

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

Верх страницы

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

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

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

Описание

Адрес

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

AnsiNPW

Задает использование ANSI-определенного поведения для обработки сравнений NULL, заполнения символьных данных, предупреждений и объединения NULL (Да или Нет).

ПРИЛОЖЕНИЕ

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

ApplicationIntent

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

AttachDBFileName

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

AutoTranslate

Указывает, пересылаются ли символьные строки ANSI между клиентом или сервером или преобразуются в Unicode (Да или Нет).

База данных

Имя базы данных.Описание Цель подключения.
Драйвер Имя драйвера, возвращенное SQLDrivers.

DSN

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

Failover_Partner

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

FailoverPartnerSPN

SPN для партнера по отработке отказа.

Резервный

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

FileDSN

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

MARS_Connection

Задает несколько активных наборов результатов (MARS) в соединении для SQL Server 2005 (9.x) или более поздней версии (Да или Нет).

MultiSubnetFailover

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

Нетто

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

PWD

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

QueryLog_On

Определяет ведение журнала длительно выполняемых запросов (Да или Нет).

QueryLogFile

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

QueryLogTime

Символьная строка цифр, указывающая порог (в миллисекундах) для регистрации длительных запросов.

QuotedId

Указывает, использует ли SQL Server правила ISO в отношении использования кавычек в операторах SQL (Да или Нет).

Региональный

Указывает, использует ли драйвер ODBC для собственного клиента SQL Server параметры клиента при преобразовании данных валюты, даты или времени в символьные данные (Да или Нет).

Сохранить файл

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

Сервер

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

СерверSPN

SPN для сервера.

StatsLog_On

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

StatsLogFile

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

Надежное соединение

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

TrustServerCertificate

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

UID

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

UseProcForPrepare

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

WSID

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

Верх страницы

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

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

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

Описание

Адрес

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

ПРИЛОЖЕНИЕ

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

ApplicationIntent

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

AttachDBFileName

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

AutoTranslate

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

Тайм-аут подключения

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

Текущий язык

Имя языка SQL Server.

Источник данных

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

База данных

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

DataTypeCompatibility

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

Шифрование

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

FailoverPartner

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

FailoverPartnerSPN

SPN для партнера по отработке отказа.

Начальный каталог

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

Исходное имя файла

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

Интегрированная безопасность

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

Язык

Язык SQL Server.

MarsConn

Задает несколько активных наборов результатов (MARS) в соединении для SQL Server 2005 (9. x) или более поздней версии (Да или Нет).

Нетто

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

Сетевой адрес

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

Размер пакета

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

Сохранение информации о безопасности

Указывает, включена ли постоянная безопасность (True или False).

PersistSensitive

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

Провайдер

Для собственного клиента SQL Server это должно быть SQLNCLI11.

PWD

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

Сервер

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

СерверSPN

SPN для сервера.

Тайм-аут

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

Надежное соединение

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

TrustServerCertificate

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

UID

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

Использовать шифрование данных

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

UseProcForPrepare

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

WSID

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

Верх страницы

См.

Также

Администрирование источников данных ODBC

Управление связанными таблицами

Подключите доступ к SQL Server

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

В этой статье

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

Программный интерфейс к SQL Server из Access

Сводка версий драйвера ODBC

Сводка версий поставщика OLE DB

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

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

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

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

 ODBC; DRIVER = SQL Server; SERVER = "MyServer"; DATABASE = "MyHRdb"; TRUSTED_CONNECTION = Да 


 Поставщик = SQLOLEDB; Источник данных = MyServer; Начальный каталог = MyHRdb; Интегрированная безопасность = SSPI; 

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

ODBC драйверы

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

За прошедшие годы драйверы ODBC поставлялись в три этапа:

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

  • Драйверы ODBC

    , поставляемые с SNAC для SQL Server 2005 — SQL Server 2012.

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

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

Провайдеры OLE DB

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

Tip Обычно вы используете диалоговое окно Data Link Properties , чтобы добавить строку подключения OLE DB. Хотя в Access нет возможности открыть диалоговое окно Data Link Properties , в проводнике Windows можно создать пустой файл .txt, изменить тип файла на .udl, а затем дважды щелкнуть файл. После создания строки подключения снова измените тип файла на.текст.

На протяжении многих лет поставщики OLE DB поставляли в три этапа:

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

  • поставщиков OLE DB, поставляемых с SQL Server 2005 по SQL Server 2017. В 2011 году он объявлен устаревшим.

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

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

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

Для оптимизации производительности, минимизации сетевого трафика и уменьшения многопользовательского доступа к базе данных SQL Server используйте как можно меньше строк подключения, разделяя строки подключения по нескольким наборам записей. Хотя Ace просто передает строку подключения на сервер, он понимает и использует следующие ключевые слова: 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.

DAO

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

Дополнительные сведения см. В справочнике по объектам доступа к данным Microsoft.

ADO

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

Для получения дополнительной информации см. Справочник по объектам данных Microsoft ActiveX и Объекты данных Microsoft ActiveX (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-битные драйверы, которые включают 32-битные компоненты, необходимые для Access.

Дополнительные сведения см. В разделах Использование ключевых слов строки подключения с собственным клиентом SQL Server, Примечания к выпуску ODBC для SQL Server в Windows (V17) и Функции драйвера Microsoft ODBC для SQL Server в Windows (V13, 11).

Верх страницы

Обзор версий поставщика OLE DB

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

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

Верх страницы

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

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

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

Описание

Адрес

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

AnsiNPW

Задает использование ANSI-определенного поведения для обработки сравнений NULL, заполнения символьных данных, предупреждений и объединения NULL (Да или Нет).

ПРИЛОЖЕНИЕ

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

ApplicationIntent

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

AttachDBFileName

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

AutoTranslate

Указывает, пересылаются ли символьные строки ANSI между клиентом или сервером или преобразуются в Unicode (Да или Нет).

База данных

Имя базы данных.Описание Цель подключения.
Драйвер Имя драйвера, возвращенное SQLDrivers.

DSN

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

Failover_Partner

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

FailoverPartnerSPN

SPN для партнера по отработке отказа.

Резервный

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

FileDSN

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

MARS_Connection

Задает несколько активных наборов результатов (MARS) в соединении для SQL Server 2005 (9.x) или более поздней версии (Да или Нет).

MultiSubnetFailover

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

Нетто

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

PWD

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

QueryLog_On

Определяет ведение журнала длительно выполняемых запросов (Да или Нет).

QueryLogFile

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

QueryLogTime

Символьная строка цифр, указывающая порог (в миллисекундах) для регистрации длительных запросов.

QuotedId

Указывает, использует ли SQL Server правила ISO в отношении использования кавычек в операторах SQL (Да или Нет).

Региональный

Указывает, использует ли драйвер ODBC для собственного клиента SQL Server параметры клиента при преобразовании данных валюты, даты или времени в символьные данные (Да или Нет).

Сохранить файл

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

Сервер

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

СерверSPN

SPN для сервера.

StatsLog_On

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

StatsLogFile

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

Надежное соединение

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

TrustServerCertificate

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

UID

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

UseProcForPrepare

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

WSID

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

Верх страницы

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

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

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

Описание

Адрес

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

ПРИЛОЖЕНИЕ

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

ApplicationIntent

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

AttachDBFileName

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

AutoTranslate

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

Тайм-аут подключения

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

Текущий язык

Имя языка SQL Server.

Источник данных

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

База данных

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

DataTypeCompatibility

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

Шифрование

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

FailoverPartner

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

FailoverPartnerSPN

SPN для партнера по отработке отказа.

Начальный каталог

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

Исходное имя файла

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

Интегрированная безопасность

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

Язык

Язык SQL Server.

MarsConn

Задает несколько активных наборов результатов (MARS) в соединении для SQL Server 2005 (9. x) или более поздней версии (Да или Нет).

Нетто

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

Сетевой адрес

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

Размер пакета

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

Сохранение информации о безопасности

Указывает, включена ли постоянная безопасность (True или False).

PersistSensitive

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

Провайдер

Для собственного клиента SQL Server это должно быть SQLNCLI11.

PWD

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

Сервер

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

СерверSPN

SPN для сервера.

Тайм-аут

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

Надежное соединение

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

TrustServerCertificate

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

UID

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

Использовать шифрование данных

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

UseProcForPrepare

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

WSID

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

Верх страницы

См.

Также

Администрирование источников данных ODBC

Управление связанными таблицами

Подключите доступ к SQL Server

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

В этой статье

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

Программный интерфейс к SQL Server из Access

Сводка версий драйвера ODBC

Сводка версий поставщика OLE DB

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

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

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

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

 ODBC; DRIVER = SQL Server; SERVER = "MyServer"; DATABASE = "MyHRdb"; TRUSTED_CONNECTION = Да 


 Поставщик = SQLOLEDB; Источник данных = MyServer; Начальный каталог = MyHRdb; Интегрированная безопасность = SSPI; 

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

ODBC драйверы

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

За прошедшие годы драйверы ODBC поставлялись в три этапа:

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

  • Драйверы ODBC

    , поставляемые с SNAC для SQL Server 2005 — SQL Server 2012.

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

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

Провайдеры OLE DB

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

Tip Обычно вы используете диалоговое окно Data Link Properties , чтобы добавить строку подключения OLE DB. Хотя в Access нет возможности открыть диалоговое окно Data Link Properties , в проводнике Windows можно создать пустой файл .txt, изменить тип файла на .udl, а затем дважды щелкнуть файл. После создания строки подключения снова измените тип файла на.текст.

На протяжении многих лет поставщики OLE DB поставляли в три этапа:

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

  • поставщиков OLE DB, поставляемых с SQL Server 2005 по SQL Server 2017. В 2011 году он объявлен устаревшим.

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

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

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

Для оптимизации производительности, минимизации сетевого трафика и уменьшения многопользовательского доступа к базе данных SQL Server используйте как можно меньше строк подключения, разделяя строки подключения по нескольким наборам записей. Хотя Ace просто передает строку подключения на сервер, он понимает и использует следующие ключевые слова: 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.

DAO

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

Дополнительные сведения см. В справочнике по объектам доступа к данным Microsoft.

ADO

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

Для получения дополнительной информации см. Справочник по объектам данных Microsoft ActiveX и Объекты данных Microsoft ActiveX (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-битные драйверы, которые включают 32-битные компоненты, необходимые для Access.

Дополнительные сведения см. В разделах Использование ключевых слов строки подключения с собственным клиентом SQL Server, Примечания к выпуску ODBC для SQL Server в Windows (V17) и Функции драйвера Microsoft ODBC для SQL Server в Windows (V13, 11).

Верх страницы

Обзор версий поставщика OLE DB

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

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

Верх страницы

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

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

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

Описание

Адрес

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

AnsiNPW

Задает использование ANSI-определенного поведения для обработки сравнений NULL, заполнения символьных данных, предупреждений и объединения NULL (Да или Нет).

ПРИЛОЖЕНИЕ

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

ApplicationIntent

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

AttachDBFileName

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

AutoTranslate

Указывает, пересылаются ли символьные строки ANSI между клиентом или сервером или преобразуются в Unicode (Да или Нет).

База данных

Имя базы данных.Описание Цель подключения.
Драйвер Имя драйвера, возвращенное SQLDrivers.

DSN

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

Failover_Partner

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

FailoverPartnerSPN

SPN для партнера по отработке отказа.

Резервный

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

FileDSN

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

MARS_Connection

Задает несколько активных наборов результатов (MARS) в соединении для SQL Server 2005 (9.x) или более поздней версии (Да или Нет).

MultiSubnetFailover

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

Нетто

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

PWD

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

QueryLog_On

Определяет ведение журнала длительно выполняемых запросов (Да или Нет).

QueryLogFile

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

QueryLogTime

Символьная строка цифр, указывающая порог (в миллисекундах) для регистрации длительных запросов.

QuotedId

Указывает, использует ли SQL Server правила ISO в отношении использования кавычек в операторах SQL (Да или Нет).

Региональный

Указывает, использует ли драйвер ODBC для собственного клиента SQL Server параметры клиента при преобразовании данных валюты, даты или времени в символьные данные (Да или Нет).

Сохранить файл

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

Сервер

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

СерверSPN

SPN для сервера.

StatsLog_On

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

StatsLogFile

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

Надежное соединение

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

TrustServerCertificate

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

UID

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

UseProcForPrepare

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

WSID

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

Верх страницы

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

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

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

Описание

Адрес

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

ПРИЛОЖЕНИЕ

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

ApplicationIntent

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

AttachDBFileName

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

AutoTranslate

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

Тайм-аут подключения

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

Текущий язык

Имя языка SQL Server.

Источник данных

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

База данных

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

DataTypeCompatibility

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

Шифрование

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

FailoverPartner

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

FailoverPartnerSPN

SPN для партнера по отработке отказа.

Начальный каталог

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

Исходное имя файла

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

Интегрированная безопасность

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

Язык

Язык SQL Server.

MarsConn

Задает несколько активных наборов результатов (MARS) в соединении для SQL Server 2005 (9. x) или более поздней версии (Да или Нет).

Нетто

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

Сетевой адрес

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

Размер пакета

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

Сохранение информации о безопасности

Указывает, включена ли постоянная безопасность (True или False).

PersistSensitive

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

Провайдер

Для собственного клиента SQL Server это должно быть SQLNCLI11.

PWD

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

Сервер

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

СерверSPN

SPN для сервера.

Тайм-аут

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

Надежное соединение

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

TrustServerCertificate

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

UID

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

Использовать шифрование данных

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

UseProcForPrepare

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

WSID

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

Верх страницы

См.

Также

Администрирование источников данных ODBC

Управление связанными таблицами

Подключите доступ к SQL Server

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

В этой статье

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

Программный интерфейс к SQL Server из Access

Сводка версий драйвера ODBC

Сводка версий поставщика OLE DB

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

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

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

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

 ODBC; DRIVER = SQL Server; SERVER = "MyServer"; DATABASE = "MyHRdb"; TRUSTED_CONNECTION = Да 


 Поставщик = SQLOLEDB; Источник данных = MyServer; Начальный каталог = MyHRdb; Интегрированная безопасность = SSPI; 

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

ODBC драйверы

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

За прошедшие годы драйверы ODBC поставлялись в три этапа:

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

  • Драйверы ODBC

    , поставляемые с SNAC для SQL Server 2005 — SQL Server 2012.

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

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

Провайдеры OLE DB

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

Tip Обычно вы используете диалоговое окно Data Link Properties , чтобы добавить строку подключения OLE DB. Хотя в Access нет возможности открыть диалоговое окно Data Link Properties , в проводнике Windows можно создать пустой файл .txt, изменить тип файла на .udl, а затем дважды щелкнуть файл. После создания строки подключения снова измените тип файла на.текст.

На протяжении многих лет поставщики OLE DB поставляли в три этапа:

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

  • поставщиков OLE DB, поставляемых с SQL Server 2005 по SQL Server 2017. В 2011 году он объявлен устаревшим.

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

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

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

Для оптимизации производительности, минимизации сетевого трафика и уменьшения многопользовательского доступа к базе данных SQL Server используйте как можно меньше строк подключения, разделяя строки подключения по нескольким наборам записей. Хотя Ace просто передает строку подключения на сервер, он понимает и использует следующие ключевые слова: 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.

DAO

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

Дополнительные сведения см. В справочнике по объектам доступа к данным Microsoft.

ADO

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

Для получения дополнительной информации см. Справочник по объектам данных Microsoft ActiveX и Объекты данных Microsoft ActiveX (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-битные драйверы, которые включают 32-битные компоненты, необходимые для Access.

Дополнительные сведения см. В разделах Использование ключевых слов строки подключения с собственным клиентом SQL Server, Примечания к выпуску ODBC для SQL Server в Windows (V17) и Функции драйвера Microsoft ODBC для SQL Server в Windows (V13, 11).

Верх страницы

Обзор версий поставщика OLE DB

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

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

Верх страницы

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

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

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

Описание

Адрес

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

AnsiNPW

Задает использование ANSI-определенного поведения для обработки сравнений NULL, заполнения символьных данных, предупреждений и объединения NULL (Да или Нет).

ПРИЛОЖЕНИЕ

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

ApplicationIntent

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

AttachDBFileName

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

AutoTranslate

Указывает, пересылаются ли символьные строки ANSI между клиентом или сервером или преобразуются в Unicode (Да или Нет).

База данных

Имя базы данных.Описание Цель подключения.
Драйвер Имя драйвера, возвращенное SQLDrivers.

DSN

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

Failover_Partner

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

FailoverPartnerSPN

SPN для партнера по отработке отказа.

Резервный

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

FileDSN

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

MARS_Connection

Задает несколько активных наборов результатов (MARS) в соединении для SQL Server 2005 (9.x) или более поздней версии (Да или Нет).

MultiSubnetFailover

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

Нетто

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

PWD

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

QueryLog_On

Определяет ведение журнала длительно выполняемых запросов (Да или Нет).

QueryLogFile

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

QueryLogTime

Символьная строка цифр, указывающая порог (в миллисекундах) для регистрации длительных запросов.

QuotedId

Указывает, использует ли SQL Server правила ISO в отношении использования кавычек в операторах SQL (Да или Нет).

Региональный

Указывает, использует ли драйвер ODBC для собственного клиента SQL Server параметры клиента при преобразовании данных валюты, даты или времени в символьные данные (Да или Нет).

Сохранить файл

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

Сервер

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

СерверSPN

SPN для сервера.

StatsLog_On

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

StatsLogFile

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

Надежное соединение

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

TrustServerCertificate

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

UID

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

UseProcForPrepare

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

WSID

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

Верх страницы

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

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

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

Описание

Адрес

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

ПРИЛОЖЕНИЕ

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

ApplicationIntent

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

AttachDBFileName

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

AutoTranslate

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

Тайм-аут подключения

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

Текущий язык

Имя языка SQL Server.

Источник данных

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

База данных

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

DataTypeCompatibility

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

Шифрование

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

FailoverPartner

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

FailoverPartnerSPN

SPN для партнера по отработке отказа.

Начальный каталог

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

Исходное имя файла

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

Интегрированная безопасность

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

Язык

Язык SQL Server.

MarsConn

Задает несколько активных наборов результатов (MARS) в соединении для SQL Server 2005 (9.x) или более поздней версии (Да или Нет).

Нетто

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

Сетевой адрес

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

Размер пакета

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

Сохранение информации о безопасности

Указывает, включена ли постоянная безопасность (True или False).

PersistSensitive

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

Провайдер

Для собственного клиента SQL Server это должно быть SQLNCLI11.

PWD

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

Сервер

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

СерверSPN

SPN для сервера.

Тайм-аут

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

Надежное соединение

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

TrustServerCertificate

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

UID

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

Использовать шифрование данных

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

UseProcForPrepare

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

WSID

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

Верх страницы

См. Также

Администрирование источников данных ODBC

Управление связанными таблицами

Как связать базу данных Microsoft Access с базой данных Microsoft SQL Server?

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

Мы разработали учебные пособия, чтобы научить людей использовать WebSitePanel для управления базой данных SQL Server и использовать SQL Server Management Studio для подключения к SQL Server и оптимизации SQL Server.В этом руководстве мы проиллюстрируем процесс связывания базы данных Microsoft Access с базой данных Microsoft SQL Server. Поскольку процесс довольно технический, его должны выполнять только люди, обладающие достаточными знаниями о двух базах данных.

Этапы связывания базы данных Microsoft Access с базой данных Microsoft SQL Server

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

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

На новом экране выберите «Источник данных», и вы увидите, что в появившемся окне вам нужно будет вставить имя DSN. В нашем примере мы ввели соединение SQL в разделе имени DSN. Заполнив это поле надлежащим образом, вы должны щелкнуть вкладку «Создать».

При нажатии кнопки «Новый» открывается другое окно с именем «Создать новый источник данных». На этом экране вам необходимо навести курсор на SQL Server для его выбора, прежде чем нажимать кнопку «Далее».

На следующей странице вы должны вставить имя файла и щелкнуть по опции «Далее». Теперь вы должны проверить детали источника данных файла, которые включают имя файла и драйвер. В нашем примере имя файла было установлено как соединение SQL, а драйвер — SQL Server. Щелчок по «Готово» перенаправляет вас на следующий экран.

По завершении последнего шага на экране появится новое окно с именем «Создать новый источник данных для SQL Server», куда вам нужно вставить имя базы данных.Вы должны убедиться, что имя базы данных правильно введено в поле «Описание». В дополнение к этому вы должны ввести доменное имя сервера.

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

В следующие два окна вносить какие-либо изменения не обязательно.Точно так же вы можете просто нажать кнопку OK в настройках ODBC MS SQL Server и на экранах выбора источника данных. Когда появится экран входа в SQL Server, вам необходимо ввести данные для входа в систему, чтобы получить доступ к окнам таблиц ссылок. Здесь вы должны выбрать желаемые таблицы и щелкнуть «ОК» для перехода к соответствующим таблицам.

Теперь вы можете выбрать поля для идентификации записей в вашей базе данных. Нажатие кнопки «ОК» отметит завершение этого процесса и успешно свяжет базу данных Microsoft Access с базой данных Microsoft SQL Server.

Когда и как преобразовать базы данных Microsoft Access в SQL Server

Теперь, когда вы ознакомились с различными архитектурами и доступными вариантами ядра СУБД, вы захотите изучить точки принятия решения и параметры для принятия решения об увеличении размера.

Наиболее важной частью этого процесса является понимание того, что не все Access
базы данных необходимо увеличить. Фактически, большинство приложений Access не должны
стоимость и нарушение бизнеса просто нерентабельно
использование ваших ресурсов.Эти базы данных работают нормально каждый день и
не нужны такие атрибуты, как масштабируемость, безопасность и 100% надежность. Из всех
Доступ к базам данных в вашей организации, лишь немногие из них могут быть увеличены.

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

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

Безопасность

Microsoft Access предлагает три различных механизма безопасности.

  1. Пароли базы данных: назначьте пароль для базы данных.Только пользователи, знающие пароль, могут открыть базу данных.
  2. Jet Workgroup Security: можно определить пользователей, группы и права доступа к объектам
    чтобы ограничить круг лиц, которые могут просматривать / редактировать данные и что они могут запускать. Рабочая группа
    безопасность доступна для баз данных MDB, но не для баз данных ACCDB.
  3. File Encryption: Содержимое базы данных может быть зашифровано на уровне файла.
    Шифрование ACCDB значительно лучше, чем шифрование для MDB.

К сожалению, эти механизмы не являются ни прочными, ни надежными.База данных
пароли используют очень простой механизм шифрования. Фактически, удаление доступа
пароль к базе данных прост, учитывая, что бесплатный и коммерческий пароль
«Съемники» легко найти в сети. Хотя пользователи Access не могут быть
беспокоиться о таких упущениях, безусловно, следует ИТ-менеджерам.

Хотя Jet Workgroup Security более надежен, он по-прежнему оставляет содержимое
всей базы данных MDB, открытой из файловой системы. Поскольку все данные таблицы и
код хранится в простом виде, открыть файл MDB в
строковый редактор и код просмотра, пароли и табличные данные.

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

Если безопасность важна, SQL Server намного безопаснее, чем Microsoft Access,
Excel, Word или любая другая программа, которая хранит свои файлы прямо на доступном пользователю жестком диске.

Надежность и обслуживание

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

Повреждение базы данных

Когда базы данных Microsoft Access / Jet обнаруживают неожиданную внутреннюю ошибку или проблему с подключением,
они могут испортиться. Поврежденная база данных обычно блокирует всех пользователей
базы данных и приводит к потере данных и нарушению работы.

Базы данных Microsoft Access / Jet более подвержены повреждениям, чем SQL Server
по ряду причин. Поскольку Access / Jet использует модель общего доступа к файлам, все пользователи одновременно
сохранение активных подключений к данным. Если один из этих пользователей неожиданно проиграет
соединение, база данных может быть повреждена. Потеря связи может произойти, если
сетевое подключение пользователей прерывистое, версии драйверов неактуальные или
конфликтующие версии библиотек DLL Jet используются для чтения одного и того же файла базы данных.

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

Проблемы с обслуживанием

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

Для сжатия базы данных Microsoft Access требуется, чтобы все пользователи были отключены
база данных, что проблематично для решений, работающих 24/7. Замок ставится на
база данных на уровне файла (файлы * .ldb или * .laccdb), как только она открывается первым пользователем.

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

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

Кроме того, Microsoft Access не самонастраивается, как SQL Server. Он не восстанавливает автоматически потерянное пространство базы данных и не оптимизирует индексы и запросы.
Это обслуживание выполняется с помощью функции «Ремонт / Компакт». Наша программа Total Visual Agent позволяет вам
автоматизируйте это по указанному вами расписанию и ведите контрольный журнал, но это не встроенная функция Microsoft Access.

Если организация не выполняет регулярное резервное копирование отдельных баз данных настольных компьютеров, люди могут создавать базы данных Access на своих ПК, для которых никогда не выполняется резервное копирование или
поддерживается.Организации могут рассматривать их как пользовательские данные, которые могут быть потеряны, как если бы это была электронная таблица Excel или документ Word, но лучше политики должны быть в
место, чтобы пользователи могли сохранять свои базы данных, где предоставляется базовое системное администрирование.

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

Масштабируемость

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

Архитектура разделенной базы данных

Перед увеличением размера ваша база данных Access должна иметь архитектуру разделенной базы данных. Этот
отделяет базу данных пользовательского приложения от внутренней базы данных общих данных. Интерфейсное приложение
связи базы данных с общей базой данных и обновления проще, потому что данные не нужно изменять для
новые выпуски (при условии, что структуры таблиц не изменяются). Для получения дополнительной информации см. Нашу статью о
Разделенная архитектура базы данных Microsoft Access для поддержки
Многопользовательская среда, повышение производительности и упрощение обслуживания.Разделенная база данных
Архитектура также поможет в увеличении размера, чтобы сохранить существующий интерфейс Access.

Если одна копия базы данных Microsoft Access находится на сетевом диске и
одновременно открывается несколькими пользователями, у вас может возникнуть проблема с масштабируемостью. Но затем
следует решить, используя архитектуру раздельной базы данных, а не переход на SQL Server.

Количество одновременных пользователей

Существовали мифы о том, что базы данных Microsoft Access не могут
поддержка более 20 пользователей.Так могло быть, когда Microsoft Access
был введен в 1992 году, но в течение некоторого времени этого не было.

Microsoft Access технически допускает до 255 подключений к базе данных. Это означает, что его можно использовать для приложений для команд.
во много раз больше, если им не нужно использовать его одновременно.

Количество подключений / пользователей, которые может поддерживать база данных Access, зависит от того, насколько хорошо приложение было разработано и реализовано.Хорошо продуманный
Приложение Access может поддерживать более 100 одновременных пользователей с приличной производительностью. С другой стороны, плохо спроектированное приложение Access может выполнять сканирование с двумя пользователями.
Или некоторые процессы занимают много времени и будут медленными независимо от того, какая база данных используется. На самом деле дело не в технологии, а в реализации.

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

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

Максимальный размер базы данных

Каждая база данных Microsoft Access имеет максимальный размер 2 ГБ.Это много текстовых и числовых данных, но их можно легко превзойти, если файлы и графика
хранится. Для подавляющего большинства баз данных Microsoft Access это намного больше, чем когда-либо может получить база данных. Иногда базы данных становятся большими, но
compact обычно уменьшает его до более разумного размера. Убедитесь, что вы также декомпилируете свои базы данных Microsoft Access время от времени при сжатии.

Благодаря архитектуре разделенной базы данных приложение Microsoft Access может связываться с данными из нескольких
Базы данных Microsoft Access, общий размер которых превышает 2 ГБ.Конечно, это плохой дизайн, если данных не должно быть.
разделить на несколько таблиц или баз данных.

Следует рассмотреть возможность увеличения размера базы данных, если база данных превысит 1 ГБ или превысит 2 ГБ в ближайшем будущем.

Различные версии Microsoft Access и Jet

Существует множество версий Microsoft Access. Решение базы данных Access может
зависеть от конкретной версии формата базы данных Access, полагаться на функции, которые доступны только в определенных версиях Access, такие компоненты, как
как ADO и DAO и т. д.Хотя легко распространять базу данных Access среди пользователей
у которых на компьютере уже установлен Access, не так просто контролировать, какая версия Access будет открыта для его запуска.

На ПК может быть установлено несколько версий Access. Открытие файла ACCDB или MDB запускает напрямую
версия Access, связанная с этим расширением файла (обычно последняя открытая версия Access).

Кроме того, когда был представлен Access 2000, новый формат файла MDB был несовместим с предыдущими
Версия Access 97.Открытие базы данных в Access 2000 (или более поздней версии) может обновить базу данных до нового формата.
и не позволять пользователям старой версии открывать ее, что было проблемой в многопользовательской среде. Этот
проблема не повторялась с версии 2000 года.

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

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

Производительность

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

Microsoft Access, основанный на файлах, отправляет всю базу данных, таблицу или индекс в зависимости от запроса для обработки клиентом (ПК).

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

  • Многие базы данных Access относительно малы (менее 100 МБ).С текущим оборудованием и сетью
    возможность подключения, объем передаваемых данных практически мгновенен, будь то несколько записей или вся таблица.
  • SQL Server выполняет дополнительную работу, недоступную для баз данных Access. Например, SQL Server может
    вести журнал транзакций и выполнять непрерывное обслуживание, которое увеличивает накладные расходы. Мы видели
    снижение производительности при увеличении размера небольших баз данных до SQL Server.
  • SQL Server разработан для обработки очень больших баз данных, превышающих ограничение доступа в 2 ГБ.Он не оптимизирован для работы с крошечными базами данных.
  • Выполнение запросов из разных источников связанных таблиц может не выиграть от оптимизации SQL Server, поскольку работа по-прежнему выполняется Access
  • Кэширование данных в Microsoft Access для таблиц Access существует, потому что знает, есть ли у данных
    измененный. Для данных SQL Server кэширование в памяти невозможно, поскольку данные могли измениться с момента последнего запроса.
  • Плохо спроектированный набор таблиц, запросов или кода VBA будет работать медленно независимо от того, находятся ли данные в Access или SQL Server.

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

Чтобы убедиться, что ваша база данных Microsoft Access не имеет серьезных проблем, используйте наш Total Access Analyzer.
программа для документирования и анализа вашей базы данных.Выявляет более 300 типов ошибок, дизайнерских предложений,
и проблемы с производительностью, которые могут помочь вам оптимизировать базу данных Access.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *