Преминаване към основното съдържание
Свързване на Access към SQL Server

Свързване на Access към SQL Server

Спомнете си за безоблачните дни на детството, когато сте се забавлявали със супа с буквички. Пазете тези щастливи мисли, докато ние опитваме версии с различните вкусове на супа с буквички, но за бази данни. В следващите раздели се обясняват основите на бази данни с низове за връзка и използването на програмен интерфейс за бази данни във вашия VBA код на Access.

Компоненти за достъп до данните

В тази статия

Използване на ODBC драйвер или доставчик на OLE бази данни

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

Резюме на версиите на ODBC драйвери

Резюме на версиите на доставчици на OLE бази данни

Резюме на ключовите думи за ODBC

Резюме на ключовите думи за OLE бази данни

Използване на ODBC драйвер или доставчик на OLE бази данни

Низовете за връзките не са нещо ново. Можете да дефинирате форматиран низ за връзка или в потребителския интерфейс на Access, или във VBA код. Низът за връзка (независимо дали е за ODBC, или за OLE DB) предава информация директно в базата данни – местоположение на сървъра, име на базата данни, тип на защитата и други полезни опции. Например:

ODBC;DRIVER=SQL Server;SERVER="MyServer";DATABASE="MyHRdb";TRUSTED_CONNECTION=Yes
Provider=SQLOLEDB;Data Source=MyServer;Initial Catalog=MyHRdb; Integrated Security=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-less".

През годините, ODBC драйверите са се доставяли на три фази:

  • Преди 2005 година, ODBC драйверите включваха компоненти за WDAC (компоненти за достъп до данни на Windows), които първоначално се наричаха MDAC (компоненти за достъп до данни на Microsoft). Тези компоненти все още се предоставят с Windows за обратна съвместимост. За повече информация вж. Компоненти за достъп до данни на Microsoft или Windows.

  • ODBC драйвери се предоставяха с SNAC за SQL Server 2005 до SQL Server 2012.

  • След SQL Server 2012, ODBC драйверите се предоставят отделно и съдържат поддръжка за новите функции на SQL Server.

За нови разработки трябва да избягвате използването на ODBC драйвери от първите две фази, а да използвате ODBC драйвери от третата фаза.

Доставчици на OLE бази данни

Object Linking and Embedding, Database (OLE DB) е протокол, който можете да използвате за свързване на база данни на Access с външен източник на данни, като например Microsoft SQL Server. OLE DB не изисква DSN, а също предоставя и пълен достъп до ODBC източници на данни и ODBC драйвери.

Съвет    Обикновено използвате диалоговия прозорец Свойства на връзките с данни, за да добавите низ за връзка към OLE DB. Въпреки че няма начин от Access да се отвори диалоговият прозорец Свойства на връзките с данни, в Windows Explorer можете да създадете празен .txt файл, да промените типа на файла на .udl и след това да щракнете двукратно върху файла. След като създадете низ на връзка, променете типа на файла обратно на .txt.

През годините, доставчиците на OLE бази данни са се предоставяли на три фази:

  • Преди 2005 година, доставчиците на OLE бази данни включваха компоненти за WDAC (компоненти за достъп до данни на Windows), които първоначално се наричаха MDAC (компоненти за достъп до данни на Microsoft).

  • Доставчици на OLE бази данни се предоставяха с SNAC за SQL Server 2005 до SQL Server 2017. Това беше прекратено през 2011 г.

  • През 2017 г. доставчикът на OLE база данни за SQL Server беше възстановен.

Препоръчваната в момента версия за разработване на нови решения е OLE DB драйвер 18 за SQL Server.

Как да оптимизирате производителността с низ за връзка за ODBC

За да оптимизирате производителността, да минимизирате мрежовия трафик и да намалите достъпа на много потребители до базата данни на SQL Server, използвайте колкото е възможно повече низове за свързване, като споделяте низове за връзка в множество набори от записи. Въпреки че Ace просто предава низ за връзка към сървъра, той разбира и използва следните ключови думи: DSN, DATABASE, UID, PWD и DRIVER, за да помогне за минимизирането на комуникацията клиент-сървър.

Забележка    Ако се загуби връзка на ODBC към външен източник на данни, Access автоматично се опитва да се свърже отново към него. Ако повторният опит е успешен, можете да продължите да работите. Ако повторният опит е неуспешен, все още можете да работите с обекти, които не разчитат на връзката. За да се свържете повторно, затворете и отворете отново Access.

Препоръки при използване както на ODBC, така и на OLE DB

Избягвайте смесването на технологии с низове за връзка и с достъп до бази данни. За DAO използвайте низ за връзка на ODBC. За ADO използвайте низ за връзка на OLE DB. Ако вашето приложение съдържа VBA код, който използва както DAO, така и ADO, използвайте ODBC драйвера за DAO и за доставчика на OLE DB за ADO. Стремете се да получавате най-новите функции и поддръжка както за ODBC, така и за OLE DB.

За 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 и 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 Native Client, Бележки по изданието за ODBC към SQL Server на Windows (V17) и Функции на Microsoft ODBC драйвер за SQL Server в Windows (V13,11).

ODBC драйвери

Версия

Изтегляне

Нови функции

ODBC драйвери 17.0 до 17.3

SQL Server 2017

Изтегляне

ODBC драйвер 17.3

Използване на Azure Active Directory с ODBC драйвера

Ограничения на ODBC драйвера, когато се използва Always Encrypted

Използване на XA транзакции

ODBC драйвер 17.2

Използване на Always Encrypted с ODBC драйвера за SQL Server

Класификация на данни

UTF-8 кодиране на сървъри, съпоставяне и поддръжка на Unicode

ODBC драйвер 17.1

Използване на Always Encrypted с ODBC драйвера за SQL Server

ODBC драйвер 17.0

Always Encrypted

UseFMTONLY    За да използвате остарели метаданни в специални случаи, които изискват временни таблици. Вижте Бележки по изданието за ODBC към SQL Server на Windows

Разлики при използване на управляван екземпляр (ODBC версия 17)

ODBC драйвер 13.1

SQL Server 2016 SP1, SQL Azure

Изтегляне

Always Encrypted

Azure Active Directory

Групи за наличност на AlwaysOn

Поставяне на връзки в набор с отчитане на драйвера в ODBC драйвер за SQL Server

ODBC драйвер 13.0

SQL Server 2016

Изтегляне

Интернационализирано име на домейн (IDN)

ODBC драйвер 11.0

SQL Server 2005 до 2012

Изтегляне

Поставяне на връзки в набор с отчитане на драйвера

Устойчивост на връзката в ODBC драйвера за Windows

Асинхронно изпълнение

Основни имена за услуги (SPN) в клиентски връзки (ODBC)

Функции на Microsoft ODBC драйвера за SQL Server в Windows

Най-горе на страницата

Резюме на версиите на доставчици на OLE бази данни

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

За повече информация вижте Използване на ключови думи за низ за връзка с SQL Server Native Client.

Доставчик на OLE DB

Версия

Изтегляне

Нови функции

OLE DB драйвер 18.2.1

(MSOLEDBSQL)

SQL Server 2017

Изтегляне

Функция на OLE DB драйвер за SQL Server и Бележки по изданието за Microsoft OLE DB драйвер за SQL Server

SQL Server Native Client (SQLNCLI)

SQL Server 2005 до 2012

Прекратен, да не се използва

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

Прекратен, да не се използва

Най-горе на страницата

Резюме на ключовите думи за ODBC

Таблицата по-долу обобщава ключовите думи за ODBC, разпознавани от SQL Server, и предназначението им. Само част от тях се разпознават от Access.

Ключова дума

Описание

Addr

Мрежовият адрес на сървъра, на който се изпълнява екземпляр на SQL Server.

AnsiNPW

Указва употребата на дефинирани по ANSI поведения за обработка на NULL сравнения, допълване на знакови данни, предупреждения и съединяване на NULL (Yes или No).

APP

Име на приложението, което се извиква SQLDriverConnect.

ApplicationIntent

Декларира типа на работното натоварване на приложението при свързване към сървър (ReadOnly или ReadWrite).

AttachDBFileName

Име на първичния файл на база данни за прикачване.

AutoTranslate

Указва дали ANSI низовете знаци се изпращат между клиента и сървъра, или се транслират в Unicode (Yes или No).

Database

Името на базата данни. Description Предназначението на връзката. Driver Име на драйвера, както е върнато от SQLDrivers.

DSN

Име на съществуващ ODBC потребител или системен източник на данни. Encrypt Указва дали данните трябва да бъдат шифровани преди изпращането им по мрежата (Yes или No).

Failover_Partner

Име на партньора за преместване при отказ, който трябва да се използва, ако не може да се направи връзка към основния сървър.

FailoverPartnerSPN

SPN за партньора за преместване при отказ.

Fallback

Отхвърлена ключова дума.

FileDSN

Име на съществуващ ODBC източник на данни за файлове. Language Езикът на SQL Server.

MARS_Connection

Указва, че има няколко активни набора с резултати (MARS) за връзката за SQL Server 2005 (9.x) или по-нова версия (Yes или No).

MultiSubnetFailover

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

Net

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

PWD

Паролата за влизане в SQL Server.

QueryLog_On

Указва регистриране на дългосрочни заявки (Yes или No).

QueryLogFile

Пълният път и име на файла, който да се използва за регистриране на данни при дългосрочни заявки.

QueryLogTime

Цифров низ от знаци, задаващ прага (в милисекунди) за регистриране на дългосрочни заявки.

QuotedId

Указва дали SQL Server използва правилата на ISO относно използването на кавички в SQL декларации (Yes или No).

Regional

Указва дали ODBC драйверът за SQL Server Native Client използва клиентските настройки при конвертиране на данни за валута, дата или час в знакови данни (Yes или No).

SaveFile

Име на файл за ODBC източник на данни, в който се записват атрибутите на текущата връзка, ако връзката е успешна.

Server

Името на екземпляра на SQL Server: Сървър в мрежата, IP адрес или псевдоним на диспечера за конфигуриране.

ServerSPN

SPN за сървъра.

StatsLog_On

Разрешава заснемането на данни за производителността на ODBC драйвера за SQL Server Native Client.

StatsLogFile

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

Trusted_Connection

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

TrustServerCertificate

Когато се използва с Encrypt, разрешава шифроване с помощта на самоподписан сертификат на сървър.

UID

Името за влизане в SQL Server.

UseProcForPrepare

Отхвърлена ключова дума.

WSID

Идентификатор на работната станция – името на мрежата на компютъра, на който се намира приложението.

Най-горе на страницата

Резюме на ключовите думи за OLE бази данни

Таблицата по-долу обобщава ключовите думи за OLE DB, разпознавани от SQL Server, и предназначението им. Само част от тях се разпознават от Access.

Ключова дума

Description

Addr

Мрежовият адрес на сървъра, на който се изпълнява екземпляр на SQL Server.

APP

Низът, идентифициращ приложението.

ApplicationIntent

Декларира типа на работното натоварване на приложението при свързване към сървър (ReadOnly или ReadWrite).

AttachDBFileName

Име на първичния файл на база данни за прикачване.

AutoTranslate

Конфигурира ОЕМ/ANSI транслиране на знаци (TRUE или FALSE).

Connect Timeout

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

Current Language

Името на езика на SQL Server.

Data Source

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

Database

Името на базата данни.

DataTypeCompatibility

Число, показващо режима за обработка на типа данни, който ще се използва.

Encrypt

Указва дали данните трябва да бъдат шифровани преди изпращането им по мрежата (Yes или No).

FailoverPartner

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

FailoverPartnerSPN

SPN за партньора за преместване при отказ.

Initial Catalog

Името на базата данни.

Initial File Name

Името на първичния файл (включващо пълното име на път) на база данни, която може да се прикачва.

Integrated Security

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

Language

Езикът на SQL Server.

MarsConn

Указва, че има няколко активни набора с резултати (MARS) за връзката за SQL Server 2005 (9.x) или по-нова версия (Yes или No).

Net

Мрежовата библиотека, използвана за установяване на връзка към екземпляр на SQL Server в организацията.

Network Address

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

PacketSize

Размер на пакет на мрежата. Стойността по подразбиране е 4096.

Persist Security Info

Указва дали е разрешена защита при продължаване (TRUE или FALSE).

PersistSensitive

Указва дали е разрешена чувствителност към продължаване (TRUE или FALSE).

Provider

За SQL Server Native Client това трябва да бъде SQLNCLI11.

PWD

Паролата за влизане в SQL Server.

Server

Името на екземпляра на SQL Server: Сървър в мрежата, IP адрес или псевдоним на диспечера за конфигуриране.

ServerSPN

SPN за сървъра.

Timeout

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

Trusted_Connection

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

TrustServerCertificate

Указва дали е валидиран сертификат на сървър (TRUE или FALSE).

UID

Името за влизане в SQL Server.

Use Encryption for Data

Указва дали данните трябва да бъдат шифровани преди изпращането им по мрежата (TRUE или FALSE).

UseProcForPrepare

Отхвърлена ключова дума.

WSID

Идентификатор на работната станция – името на мрежата на компютъра, на който се намира приложението.

Най-горе на страницата

Вж. също

Администриране на ODBC източници на данни

Управление на свързани таблици

Разширете уменията си в Office
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×