Pripojenie programu Access k serveru SQL Server
Applies ToAccess pre Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Spomeňte si na pokojné časy z detstva, keď ste sa zabávali s písmenkovou polievkou. Môžete si znova pripomenúť tieto spomienky – teraz ochutnáme niekoľko databázových verzií písmenkovej polievky. V nasledujúcich častiach sú uvedené základné informácie o tom, ako sa dostať do databázy s reťazcami pripojenia a ako používať databázové programovacie rozhranie v accessovom kóde VBA.

Súčasti prístupu k údajom

Obsah tohto článku

Používanie ovládača ODBC alebo poskytovateľa OLE DB

Rozhranie pre SQL Server z Accessu pomocou programovania

Súhrn verzií ovládačov ODBC

Súhrn verzií poskytovateľov OLE DB

Súhrn kľúčových slov ODBC

Súhrn kľúčových slov OLE DB

Používanie ovládača ODBC alebo poskytovateľa OLE DB

Reťazce pripojenia sú známe už dlho. Formátovaný reťazec pripojenia môžete definovať buď v používateľskom rozhraní Accessu, alebo v kóde VBA. Reťazec pripojenia (či je to ODBC alebo OLE DB) odovzdá priamo do databázy informácie, ako je napríklad umiestnenie servera, názov databázy, typ zabezpečenia a ďalšie užitočné možnosti. Príklad:

ODBC;DRIVER=SQL Server;SERVER="MyServer";DATABASE="MyHRdb";TRUSTED_CONNECTION=Yes
Provider=SQLOLEDB;Data Source=MyServer;Initial Catalog=MyHRdb; Integrated Security=SSPI;

Spočiatku to bol SQL Server Native Client (SNAC), samostatná knižnica, ktorá obsahovala technológie ODBC a OLEDB, pričom je stále k dispozícii pre SQL Server verzie 2005 až 2012. Mnoho starších aplikácií používalo knižnicu SNAC, ktorá je stále podporovaná pre spätnú kompatibilitu, ale neodporúčame ju používať v rámci vývoja nových aplikácií. Mali by ste používať novšie jednotlivé verzie ovládačov ODBC, ktoré sú k dispozícii na stiahnutie.

Ovládače ODBC

Rozhranie ODBC (Open Database Connectivity) je protokol, ktorý používate na pripojenie databázy programu Access k externému zdroju údajov, akým je napríklad Microsoft SQL Server. Ak chcete pridať reťazec pripojenia, zvyčajne sa používajú zdroje údajov súborov (nazývané aj súbory DSN), v tomto prípade sa v reťazci pripojenia použije kľúčové slovo FILEDSN, alebo sa uloží v databáze Registry, a v takom prípade sa použije kľúčové slovo DSN. Prípadne môžete použiť jazyk VBA a nastaviť tieto vlastnosti pomocou reťazca pripojenia bez DSN.

V priebehu rokov prichádzali ovládače ODBC v troch fázach:

  • Pred rokom 2005 sa ovládače ODBC dodávali s produktom Windows Data Access Components (WDAC), ktorý bol pôvodne nazývaný Microsoft Data Access Components (MDAC). Tieto súčasti sa stále dodávajú s Windowsom na spätnú kompatibilitu. Ďalšie informácie nájdete v téme Microsoft/Windows Data Access Components.

  • Ovládače ODBC sa dodávali s knižnicou SNAC pre SQL Server 2005 až SQL Server 2012.

  • Po verzii SQL Server 2012 sa ovládače ODBC dodávali samostatne a obsahujú podporu nových funkcií SQL Servera.

V rámci nového vývoja sa vyhnite používaniu ovládačov ODBC z prvých dvoch fáz a použite ovládače ODBC z tretej fázy.

Poskytovatelia OLE DB

Object Linking and Embedding, Database (OLE DB) je novší protokol, ktorý používate na pripojenie databázy programu Access k externému zdroju údajov, akým je napríklad Microsoft SQL Server. OLE DB nevyžaduje názov DSN a poskytuje aj úplný prístup k zdrojom údajov ODBC a ovládačom ODBC.

Tip    Pri pridávaní reťazca pripojenia OLE DB zvyčajne použijete dialógové okno Prepojenie údajov - vlastnosti. Napriek tomu, že v programe Access nie je možné otvoriť dialógové okno Prepojenie údajov – vlastnosti, v Prieskumníkovi môžete vytvoriť prázdny súbor .txt, zmeniť typ súboru na formát .udl a potom dvakrát kliknúť na súbor. Po vytvorení reťazca pripojenia zmeňte typ súboru späť na .txt.

V priebehu rokov prichádzali poskytovatelia OLE DB v troch fázach:

  • Pred rokom 2005 sa poskytovatelia OLE DB dodávali s produktom Windows Data Access Components (WDAC), ktorý bol pôvodne nazývaný Microsoft Data Access Components (MDAC).

  • Poskytovatelia OLE DB sa dodávali s verziami SQL Server 2005 až SQL Server 2017. V roku 2011 boli zamietnutí.

  • V roku 2017 boli poskytovatelia OLE DB pre SQL Server znova povolení.

Momentálne odporúčanou verziou v rámci vývoja nových riešení je ovládač OLE DB 18 pre SQL Server.

Optimalizácia výkonu pomocou reťazca pripojenia ODBC

Ak chcete optimalizovať výkon, minimalizovať sieťové prenosy a znížiť prístup viacerých používateľov do databázy servera SQL Server, použite čo najmenej reťazcov pripojenia a zdieľajte reťazce pripojenia prostredníctvom rôznych množín záznamov. Napriek tomu, že ACE jednoducho prenesie reťazec pripojenia na server, rozumie a použije nasledujúce kľúčové slová: DSN, DATABASE, UID, PWD a DRIVER, aby sa minimalizovala komunikácia klienta a servera.

Poznámka    Ak sa stratí pripojenie ODBC k externému zdroju údajov, Access sa k nemu automaticky pokúsi znova pripojiť. Ak je opätovný pokus úspešný, môžete pokračovať v práci. Ak sa opätovný pokus nepodarí, môžete pracovať s objektmi, ktoré sa nespoliehajú na pripojenie. Ak sa chcete opätovne pripojiť, zavrite a znova otvorte Access.

Odporúčania pri použití objektov ODBC aj OLE DB

Nemiešajte technológie reťazca pripojenia a databázového prístupu. Použite reťazec pripojenia ODBC pre DAO. Použite reťazec pripojenia OLE DB pre ADO. Ak vaša aplikácia obsahuje kód VBA, ktorý používa DAO aj ADO, potom použite ovládač ODBC pre DAO a poskytovateľa OLE DB pre ADO. Snažte sa získať najnovšiu funkciu a podporu pre ODBC aj OLEDB.

Pre ODBC sa používa výraz ovládač a pre OLE DB sa používa výraz poskytovateľ. Výrazy popisujú rovnaký typ softvérovej súčasti, ale nie sú zameniteľné v syntaxi reťazca pripojenia. Použite správnu hodnotu podľa dokumentácie.

Na začiatok stránky

Rozhranie pre SQL Server z Accessu pomocou programovania

Existujú dva hlavné spôsoby programovaného rozhrania pre databázu servera SQL Server z programu Access.

DAO

Objekt prístupu k údajom (DAO) poskytuje abstraktné rozhranie pre databázu. Microsoft Data Access Objects (DAO) je natívny programovací objektový model, ktorý umožňuje získať jadro Accessu a SQL Servera na vytváranie, odstraňovanie, úpravu a tvorbu zoznamy objektov, tabuliek, polí, indexov, vzťahov, dotazov, vlastností a externých databáz.

Ďalšie informácie nájdete v téme Odkaz na Microsoft Data Access Objects.

ADO

Objekty ADO poskytujú programovací model s vysokou úrovňou a sú k dispozícii v Accesse pomocou odkazu na knižnicu tretej strany. Ak chcete získať prístup k údajom z rôznych zdrojov, ako sú napríklad Access a SQL Server, objekty ADO vám to zjednodušia. Hlavnými výhodami sú jednoduché použitie, vysoká rýchlosť, nízka spotreba pamäte a miesta na disku. Objekty ADO podporujú aj kľúčové funkcie pre tvorbu a webové aplikácie.

Ďalšie informácie nájdete v témach Odkaz na Microsoft ActiveX Data ObjectsMicrosoft ActiveX Data Objects (ADO).

Ktorú možnosť treba použiť?

V accessovom riešení používajúcom kód VBA môžete použiť objekty DAO, ADO alebo oboje ako technológiu databázového rozhrania. Objekty DAO sú v Accesse naďalej predvolené. Napríklad všetky formuláre a zostavy a dotazy Accessu používajú DAO. Pri migrácii na SQL Server však zvážte použitie objektov ADO, aby bolo vaše riešenie efektívnejšie. Tu sú všeobecné pokyny, ktoré vám pomôžu pri rozhodovaní, či použiť objekty DAO alebo ADO.

Objekty DAO použite vtedy, ak chcete urobiť toto:

  • Vytvoriť viazaný formulár na čítanie a zápis bez použitia jazyka VBA.

  • Vytvoriť dotaz na lokálnu tabuľku.

  • Stiahnuť údaje do dočasných tabuliek.

  • Použiť odovzdávajúce dotazy ako zdroje údajov pre zostavy alebo formuláre v režime iba na čítanie.

  • Definovať a použiť objekt TableDef alebo QueryDef v jazyku VBA.

Objekty ADO použite vtedy, ak chcete urobiť toto:

  • Využiť ďalšie spôsoby optimalizácie, ako je napríklad vykonávanie asynchrónnych operácií.

  • Spustiť odovzdávajúce dotazy typu DDL a DML.

  • Prejsť na údaje SQL Servera priamo cez množiny záznamov v jazyku VBA.

  • Zapísať jednoduchší kód pre určité úlohy, ako je napríklad streamovanie objektov BLOB.

  • Volať uloženú procedúru priamo, s parametrami, pomocou objektu príkazu v jazyku VBA.

Na začiatok stránky

Súhrn verzií ovládačov ODBC

V nasledujúcej tabuľke je súhrn dôležitých informácií o verziách ovládačov ODBC, umiestneniach súborov na stiahnutie a podpore funkcií. Uistite sa, že používate správnu bitovú verziu (64-bitovú alebo 32 bitovú) ovládača, ktorý je založený na systéme Windows, a nie na balíku Office. Ak používate 32-bitovú verziu Accessu v 64-bitovej verzii Windowsu, nainštalujte 64-bitové ovládače, ktoré obsahujú súčasti 32-bitovej verzie, ktoré sú potrebné pre Access.

Ďalšie informácie nájdete v témach Používanie kľúčových slov reťazca pripojenia s klientom SQL Server Native Client, Poznámky k vydaniu pre ODBC na SQL Server vo Windowse (V17)Funkcie ovládača Microsoft ODBC pre SQL Server vo Windowse (V13, 11).

Ovládače ODBC

Verzia

Stiahnuť

Nové funkcie

Ovládače ODBC 17.0 až 17.3

SQL Server 2017

Stiahnuť

Ovládač ODBC 17.3

Používanie služby Azure Active Directory s ovládačom ODBC

Obmedzenia ovládača ODBC pri použití funkcie Always Encrypted

Používanie transakcií XA

Ovládač ODBC 17.2

Používanie funkcie Always Encrypted s ovládačom ODBC pre SQL Server

Klasifikácia údajov

Zoradenie kódovanie servera UTF-8 a podpora kódovania Unicode

Ovládač ODBC 17.1

Používanie funkcie Always Encrypted s ovládačom ODBC pre SQL Server

Ovládač ODBC 17.0

Always Encrypted

UseFMTONLY    Na použitie starších metaúdajov v špeciálnych prípadoch, ktoré si vyžadujú dočasné tabuľky. Ďalšie informácie nájdete v téme Poznámky k vydaniu pre ODBC na SQL Server vo Windowse

Rozdiely pri použití spravovanej inštancie (ODBC, verzia 17)

Ovládač ODBC 13.1

SQL Server 2016 SP1, SQL Azure

Stiahnuť

Always Encrypted

Azure Active Directory

Skupiny dostupnosti AlwaysOn

Združovanie pripojení typu Driver-Aware v ovládači ODBC pre SQL Server

Ovládač ODBC 13.0

SQL Server 2016

Stiahnuť

Medzinárodný názov domény (IDN)

Ovládač ODBC 11.0

SQL Server 2005 až 2012

Stiahnuť

Združovanie pripojení typu Driver-Aware

Odolnosť pripojenia v ovládači ODBC pre Windows

Asynchrónne vykonávanie

Hlavné názvy služieb (SPN) v pripojeniach klienta (ODBC)

Funkcie ovládača Microsoft ODBC pre SQL Server vo Windowse

Na začiatok stránky

Súhrn verzií poskytovateľov OLE DB

V nasledujúcej tabuľke je súhrn dôležitých informácií o verziách poskytovateľov OLE DB, umiestneniach súborov na stiahnutie a podpore funkcií. Uistite sa, že používate správnu bitovú verziu (64-bitovú alebo 32 bitovú) ovládača, ktorý je založený na systéme Windows, a nie na balíku Office. Ak používate 32-bitovú verziu Accessu v 64-bitovej verzii Windowsu, nainštalujte 64-bitové ovládače, ktoré obsahujú súčasti 32-bitovej verzie, ktoré sú potrebné pre Access.

Ďalšie informácie nájdete v téme Používanie kľúčových slov reťazca pripojenia s natívnym klientom SQL Server Native Client.

Poskytovateľ OLE DB

Verzia

Stiahnuť

Nové funkcie

Ovládač OLE DB 18.2.1

(MSOLEDBSQL)

SQL Server 2017

Stiahnuť

Pozrite si témy Funkcia ovládača OLE DB pre SQL ServerPoznámky k vydaniu ovládača Microsoft OLE DB pre SQL Server

SQL Server Native Client (SQLNCLI)

SQL Server 2005 až 2012

Nepovolené, nepoužívajte

Ovládač OLE DB (SQLOLEDB)

Nepovolené, nepoužívajte

Na začiatok stránky

Súhrn kľúčových slov ODBC

Nasledujúca tabuľka obsahuje súhrn kľúčových slov ODBC, ktoré SQL Server rozpozná, a ich účel. Program Access z nich rozpozná iba podmnožinu.

Kľúčové slovo

Popis

Addr

Sieťová adresa servera, na ktorom je spustená inštancia SQL Servera.

AnsiNPW

Určuje použitie správania definovaného ANSI na spracovanie porovnaní s hodnotou NULL, vyplnenie znaku, upozornenia a reťazenie s hodnotou NULL (Áno alebo Nie).

APLIKÁCIA

Názov aplikácie, ktorá volá SQLDriverConnect.

ApplicationIntent

Pri pripájaní k serveru (ReadOnly alebo ReadWrite) vyhlasuje typ vyťaženia aplikácie.

AttachDBFileName

Názov základného súboru pripojiteľnej databázy.

AutoTranslate

Určuje, či sa reťazce znakov ANSI odosielajú medzi klientom alebo serverom alebo prekladajú do jazyka Unicode (Áno alebo Nie).

Databáza

Názov databázy. Popis Účel pripojenia. Ovládač Názov ovládača vrátený príkazom SQLDrivers.

DSN

Názov existujúceho používateľa alebo systémového zdroja údajov ODBC. Šifrovanie Určuje, či sa majú údaje pred odoslaním prostredníctvom siete šifrovať (Áno alebo Nie).

Failover_Partner

Názov náhradného partnerského servera, ktorý sa má použiť, ak nie je možné vytvoriť pripojenie k primárnemu serveru.

FailoverPartnerSPN

SPN náhradného partnera.

Rezerva

Zamietnuté kľúčové slovo.

FileDSN

Názov existujúceho zdroja údajov súboru ODBC. Jazyk Jazyk SQL Servera.

MARS_Connection

Určuje viacnásobné aktívne množiny výsledkov (MARS) v pripojení pre SQL Server 2005 (9.x) alebo novšiu verziu (Áno alebo Nie).

MultiSubnetFailover

Určuje, či sa má pripojiť k poslucháčovi skupiny dostupnosti v skupine dostupnosti servera SQL Server alebo náhradnej inštancie klastra (Áno alebo Nie).

Net

Reťazec dbnmpntw označuje pomenované presmerovania a dbmssocn označuje protokol TCP/IP.

PWD

Prihlasovacie heslo pre SQL Server.

QueryLog_On

Určuje zaznamenávanie dlhotrvajúcich dotazov (Áno alebo Nie).

QueryLogFile

Úplná cesta a názov súboru, ktorý sa má použiť na zaznamenávanie údajov dlhotrvajúcich dotazov.

QueryLogTime

Reťazec znakov číslic určujúci prahovú hodnotu (v milisekundách) zaznamenávania dlhotrvajúcich dotazov.

QuotedId

Určuje, či SQL Server použije pravidlá noriem ISO týkajúce sa používania úvodzoviek v príkazoch SQL (Áno alebo Nie).

Regional

Určuje, či ovládač ODBC pre SQL Server Native Client pri konvertovaní údajov meny, dátumu alebo času na údaje znakov (Áno alebo Nie) využíva nastavenie klienta.

SaveFile

Názov súboru zdroja údajov ODBC, do ktorého sa uložia atribúty aktuálneho pripojenia, ak je pripojenie úspešné.

Server

Názov inštancie SQL Servera: Server v sieti, IP adresa alebo alias správcu konfigurácie.

ServerSPN

SPN servera.

StatsLog_On

Umožňuje zachytávanie údajov o výkone ovládača ODBC pre SQL Server Native Client.

StatsLogFile

Úplná cesta a názov súboru použitého na zaznamenanie štatistík výkonu ovládača ODBC pre SQL Server Native Client.

Trusted_Connection

Určuje, či sa na overenie prihlásenia použije režim overovania systému Windows alebo meno používateľa alebo heslo servera SQL Server (Áno alebo nie).

TrustServerCertificate

Pri použití s funkciou šifrovania povolí šifrovanie pomocou certifikátu servera s vlastným podpisom.

UID

Prihlasovací názov pre SQL Server.

UseProcForPrepare

Zamietnuté kľúčové slovo.

WSID

Identifikátor pracovnej stanice, sieťový názov počítača, v ktorom sa nachádza daná aplikácia.

Na začiatok stránky

Súhrn kľúčových slov OLE DB

Nasledujúca tabuľka obsahuje súhrn kľúčových slov OLE DB, ktoré SQL Server rozpozná, a ich účel. Program Access z nich rozpozná iba podmnožinu.

Kľúčové slovo

Popis

Addr

Sieťová adresa servera, na ktorom je spustená inštancia SQL Servera.

APLIKÁCIA

Reťazec, ktorý identifikuje aplikáciu.

ApplicationIntent

Pri pripájaní k serveru (ReadOnly alebo ReadWrite) vyhlasuje typ vyťaženia aplikácie.

AttachDBFileName

Názov základného súboru pripojiteľnej databázy.

AutoTranslate

Konfiguruje preklad znakov OEM/ANSI (TRUE alebo FALSE).

Časový limit pripojenia

Čas (v sekundách) čakania na dokončenie inicializácie zdroja údajov.

Aktuálny jazyk

Názov jazyka SQL Servera.

Zdroj údajov

Názov inštancie SQL Servera v organizácii.

Databáza

Názov databázy.

DataTypeCompatibility

Číslo, ktoré označuje spôsob spracovania typu údajov, ktorý sa použije.

Šifrovanie

Určuje, či sa majú údaje pred odoslaním prostredníctvom siete šifrovať (Áno alebo Nie).

FailoverPartner

Názov náhradného servera, ktorý sa používa na zrkadlenie databázy.

FailoverPartnerSPN

SPN náhradného partnera.

Počiatočný katalóg

Názov databázy.

Počiatočný názov súboru

Názov primárneho súboru (vrátane úplného názvu cesty) pripojiteľnej databázy.

Integrované zabezpečenie

Používa sa na overovanie systému Windows (SSPI).

Jazyk

Jazyk SQL Servera.

MarsConn

Určuje viacnásobné aktívne množiny výsledkov (MARS) v pripojení pre SQL Server 2005 (9.x) alebo novšiu verziu (Áno alebo Nie).

Net

Sieťová knižnica, ktorá sa používa na vytvorenie pripojenia k inštancii SQL Servera v organizácii.

Sieťová adresa

Sieťová adresa inštancie SQL Servera v organizácii.

PacketSize

Veľkosť sieťových paketov. Predvolená hodnota je 4096.

Informácie o zachovaní zabezpečenia

Určuje, či je zapnuté zachovanie zabezpečenia (TRUE alebo FALSE).

PersistSensitive

Určuje, či je zapnuté zachovanie citlivých údajov (TRUE alebo FALSE).

Poskytovateľ

Pre SQL Server Native Client by to malo byť SQLNCLI11.

PWD

Prihlasovacie heslo pre SQL Server.

Server

Názov inštancie SQL Servera: Server v sieti, IP adresa alebo alias správcu konfigurácie.

ServerSPN

SPN servera.

Timeout

Čas (v sekundách) čakania na dokončenie inicializácie zdroja údajov.

Trusted_Connection

Určuje, či sa na overenie prihlásenia použije režim overovania systému Windows alebo meno používateľa alebo heslo servera SQL Server (Áno alebo nie).

TrustServerCertificate

Určuje, či je certifikát servera overený (TRUE alebo FALSE).

UID

Prihlasovací názov pre SQL Server.

Použitie šifrovania údajov

Určuje, či sa majú údaje pred odoslaním prostredníctvom siete šifrovať (TRUE alebo FALSE).

UseProcForPrepare

Zamietnuté kľúčové slovo.

WSID

Identifikátor pracovnej stanice, sieťový názov počítača, v ktorom sa nachádza daná aplikácia.

Na začiatok stránky

Správa zdrojov údajov ODBC

Spravovanie prepojených tabuliek

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.

Komunity pomôžu s kladením otázok a odpovedaním na ne, s poskytovaním pripomienok a so získavaním informácií od odborníkov s bohatými znalosťami.