Připojení Accessu k SQL Serveru
Applies ToAccess pro Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Vzpomeňte si na staré dobré časy, kdy byla písmenková polévka zábavným jídlem. Uchovejte si tyto šťastné vzpomínky ve vaší mysli, zatímco ochutnáme databázovou verzi písmenkové polévky. V následujících oddílech najdete základní informace o tom, jak se dostat k databázi pomocí připojovacích řetězců a pomocí rozhraní pro programování databází v kódu jazyka VBA v Accessu.

Součásti přístupu k datům

V tomto článku:

Použití ovladače ODBC nebo zprostředkovatele OLE DB

Programové rozhraní mezi SQL Serverem a Accessem

Shrnutí verzí ovladačů ODBC

Shrnutí verzí zprostředkovatelů OLE DB

Shrnutí klíčových slov ODBC

Shrnutí klíčových slov OLE DB

Použití ovladače ODBC nebo zprostředkovatele OLE DB

Připojovací řetězce jsou tady již dlouho. Formátovaný připojovací řetězec můžete definovat buď v uživatelském rozhraní aplikace Access, nebo v kódu jazyka VBA. Připojovací řetězec (bez ohledu na to, jestli řetězec rozhraní ODBC nebo OLE DB) předává informace přímo do databáze, například umístění serveru, název databáze, typ zabezpečení a další užitečné možnosti. Například:

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

Nejdřív byla služba SQL Server Native Client (SNAC), samostatná knihovna, která obsahovala technologie ODBC a OLEDB a je stále k dispozici pro SQL Server verze 2005 až 2012. Spousta starších verzí aplikace používalo službu SNAC, která je pořád podporovaná kvůli zpětné kompatibilitě, ale nedoporučujeme ji používat pro vývoj nových aplikací. Měli byste použít pozdější, jednotlivé verze ovladačů ODBC, které můžete stáhnout.

Ovladače ODBC

Rozhraní ODBC (Open Database Connectivity) je protokol sloužící k připojení databáze Accessu k externímu zdroji dat, třeba k Microsoft SQL Serveru. Obvykle se používají souborové zdroje dat (taky nazývané soubory DSN) k přidání připojovacího řetězce a v takovém případě se v připojovacím řetězci používá klíčové slovo FILEDSN, nebo jsou uloženy v registru a v takovém případě se použije klíčové slovo DSN. Alternativně můžete použít jazyk VBA k nastavení těchto vlastností pomocí připojovacího řetězce bez DSN.

V průběhu let se ovladače ODBC dodávaly ve třech fázích:

  • Před rokem 2005 se ovladače ODBC dodávaly se součástmi Windows Data Access Components (WDAC), které měly původně název Microsoft Data Access Components (MDAC). Tyto součásti se kvůli zpětné kompatibilitě pořád dodávají se systémem Windows. Další informace najdete v článku Součásti pro přístup k datům Microsoftu nebo systému Windows.

  • Ovladače ODBC se dodávaly se službou SNAC pro SQL Server 2005 až SQL Server 2012.

  • Po SQL Serveru 2012 se ovladače ODBC dodávají jednotlivě a obsahují podporu pro nové funkce SQL Serveru.

V případě nového vývoje se vyhněte použití ovladačů ODBC z prvních dvou fází a použijte ovladače ODBC ze třetí fáze.

Zprostředkovatelé OLE DB

Rozhraní OLE DB (Object Linking and Embedding, Database) je novější protokol sloužící k připojení databáze Accessu k externímu zdroji dat, třeba k Microsoft SQL Serveru. Technologie OLE DB nepotřebuje DSN a poskytuje úplný přístup ke zdrojům dat a ovladačům ODBC.

Tip    Obvykle můžete k přidání připojovacího řetězce OLE DB použít dialogové okno Vlastnosti datového propojení. I když z Accessu nemůžete otevřít dialogové okno Vlastnosti datového propojení, můžete v Průzkumníkovi Windows vytvořit prázdný soubor .txt, změnit typ souboru na .udl a pak na soubor poklepat. Po vytvoření připojovacího řetězce změňte typ souboru zpět na .txt.

V průběhu let se zprostředkovatelé OLE DB dodávaly ve třech fázích:

  • Před rokem 2005 se zprostředkovatelé OLE DB dodávaly se součástmi Windows Data Access Components (WDAC), které měly původně název Microsoft Data Access Components (MDAC).

  • Zprostředkovatelé OLE DB se dodávaly se servery SQL Server 2005 až SQL Server 2017. Jsou zastaralé od roku 2011.

  • V roce 2017 se stal zprostředkovatel SQL Serveru OLE DB opět aktuálním.

Aktuálně doporučenou verzí pro nový vývoj řešení je ovladač OLE DB 18 pro SQL Server.

Jak optimalizovat výkon s připojovacím řetězcem ODBC

Abyste dosáhli optimálního výkonu, minimalizujte síťový provoz a omezte přístup více uživatelů k databázi SQL Serveru, použijte k tomu co nejmíň připojovacích řetězců pomocí sdílení připojovacích řetězců přes více sad záznamů. I když položka řízení přístupu (ACE) jednoduše projde v připojovacím řetězci na server, rozpozná a použije následující klíčová slova: DSN, DATABASE, UID, PWD a DRIVER k minimalizaci komunikace klienta a serveru.

Poznámka    Pokud se ztratí připojení ODBC k externímu zdroji dat, pokusí se k němu Access automaticky znovu připojit. Pokud bude opětovný pokus úspěšný, můžete pokračovat v práci. Pokud opětovný pokus selže, můžete stále dál pracovat s objekty, které se nespoléhají na připojení. Pokud se chcete znovu připojit, zavřete a znova otevřete Access.

Doporučení při použití rozhraní ODBC i OLE DB

Vyhněte se míchání připojovacího řetězce a technologie pro přístup k databázím. Pro rozhraní DAO použijte připojovací řetězec ODBC. Pro rozhraní ADO použijte připojovací řetězec OLE DB. Pokud vaše aplikace obsahuje kód jazyka VBA, který používá rozhraní DAO i ADO, použijte ovladač ODBC pro rozhraní DAO a zprostředkovatele OLE DB pro rozhraní ADO. Snažte se získat nejnovější funkce a podpory pro obě rozhraní, ODBC i OLEDB.

Rozhraní ODBC používá termín ovladač a technologie OLE DB používá termín zprostředkovatel. Termíny popisují stejný typ softwarové komponenty, ale v syntaxi připojovacího řetězce se nedají zaměňovat. Použijte správnou hodnotu, jak je uvedeno v dokumentaci.

Začátek stránky

Programové rozhraní mezi SQL Serverem a Accessem

Existují dva základní způsoby, jak programově vytvořit rozhraní mezi databází SQL Serveru a Accessem.

DAO

Objekt pro přístup k datům (DAO) poskytuje abstraktní rozhraní databáze. Rozhraní Microsoft DAO (Microsoft Data Access Objects) je nativní objektový model programování, díky kterému se dostanete ke klíčovým funkcím Accessu a SQL Serveru – vytváření, odstraňování, úpravy a zobrazení seznamů objektů, tabulek, polí, indexů, relací, dotazů, vlastností a externích databází.

Další informace najdete v článku Odkaz na objekty přístupu dat Microsoftu.

ADO

Objekty ADO (ActiveX Data Objects) poskytují model programování na vysoké úrovni a je k dispozici v Accessu pomocí odkazu na knihovnu třetích stran. Objekty ADO se dají jednoduše naučit a umožňují klientským aplikacím přistupovat k datům a pracovat s nimi z různých zdrojů, včetně Accessu a SQL Serveru. Hlavní výhody jsou jednoduchost použití, vysoká rychlost, nízká režie paměti a malé využití disku. ADO také podporuje klíčové funkce pro sestavování a webové aplikace.

Další informace najdete v článku Odkazy na objekty Microsoft ADO a Objekty Microsoft ADO (ActiveX Data Objects).

Který byste měli použít?

V řešení v Accessu, které používá kód jazyka VBA, můžete jako technologii databázového rozhraní použít rozhraní DAO, ADO nebo obojí. DAO je i nadále výchozím nastavením Accessu. Například všechny formuláře, sestavy a dotazy v Accessu používají rozhraní DAO. Když ale migrujete na SQL Server, zvažte použití rozhraní ADO, aby bylo vaše řešení efektivnější. Tady jsou obecné pokyny, které vám pomůžou při rozhodování, kdy použít rozhraní DAO nebo ADO.

Použijte rozhraní DAO, když chcete:

  • Vytvořit vázaný formulář pro čtení i zápis bez použití jazyka VBA.

  • Zadat dotaz na místní tabulky.

  • Stáhnout data do dočasných tabulek.

  • Použít předávací dotazy jako zdroje dat pro sestavy nebo formuláře v režimu jen pro čtení.

  • Definovat a použít objekt TableDef nebo Querydef v jazyce VBA.

Použijte rozhraní ADO, když chcete:

  • Využít další způsoby optimalizace, jako je provedení asynchronních operací.

  • Spustit předávací dotazy DDL a DML.

  • Přistoupit k datům SQL Serveru přímo přes sadu záznamů v jazyce VBA.

  • Napsat jednodušší kód pro určité úkoly, jako je streamování objektů BLOB.

  • Přímo zavolat uloženou proceduru s parametry pomocí objektu příkazu v jazyce VBA.

Začátek stránky

Shrnutí verzí ovladačů ODBC

V následující tabulce najdete souhrn důležitých informací o verzích ovladačů ODBC, umístěních pro stahování a podpoře funkcí. Ujistěte se, že používáte správnou bitovou verzi (64bitová nebo 32bitová) ovladače založeného na systému Windows a ne na Office. Pokud máte 32bitovou aplikaci Access na 64bitovom systému Windows, nainstalujte 64bitové ovladače, které obsahují 32bitové komponenty potřebné pro Access.

Další informace najdete v článku Použití klíčových slov připojovacího řetězce s SQL Server Native Client, Poznámky k verzi pro rozhraní ODBC a SQL Server v systému Windows (V17) a Funkce ovladače Microsoft ODBC pro SQL Server v systému Windows(V13, 11).

Ovladače ODBC

Verze

Stažení

Nové funkce

Ovladače ODBC 17.0 až 17.3

SQL Server 2017

Stáhnout

Ovladač ODBC 17.3

Použití služby Azure Active Directory s ovladačem ODBC

Omezení ovladače rozhraní ODBC při použití funkce Always Encrypted

Použití transakcí XA

Ovladač ODBC 17.2

Použití funkce Always Encrypted s ovladačem ODBC pro SQL Server

Klasifikace dat

Řazení a podpora kódování Unicode serveru UTF-8

Ovladač ODBC 17.1

Použití funkce Always Encrypted s ovladačem ODBC pro SQL Server

Ovladač ODBC 17.0

Always Encrypted

UseFMTONLY    Používání starších verzí metadat ve zvláštních případech vyžaduje dočasné tabulky. Podívejte se na článek Poznámky k verzi pro rozhraní ODBC a SQL Server v systému Windows.

Rozdíly v použití spravované instance (rozhraní ODBC verze 17)

Ovladač ODBC 13.1

SQL Server 2016 SP1, SQL Azure

Stáhnout

Always Encrypted

Azure Active Directory

Skupiny dostupnosti AlwaysOn

Sdružování připojení podporujících ovladače v ovladači ODBC pro SQL Server

Ovladač ODBC 13.0

SQL Server 2016

Stáhnout

Mezinárodní název domény (IDN)

Ovladač ODBC 11.0

SQL Server 2005 až 2012

Stáhnout

Sdružování připojení podporujících ovladače

Odolnost připojení v ovladači Windows ODBC

Asynchronní spouštění

Hlavní názvy služeb (SPN) u klientských připojení (ODBC)

Funkce ovladače Microsoft ODBC pro SQL Server ve Windows

Začátek stránky

Shrnutí verzí zprostředkovatelů OLE DB

V následující tabulce najdete souhrn důležitých informací o verzích zprostředkovatelů OLE DB, umístěních pro stahování a podpoře funkcí. Ujistěte se, že používáte správnou bitovou verzi (64bitová nebo 32bitová) ovladače založeného na systému Windows a ne na Office. Pokud máte 32bitovou aplikaci Access na 64bitovom systému Windows, nainstalujte 64bitové ovladače, které obsahují 32bitové komponenty potřebné pro Access.

Další informace najdete v článku Použití klíčových slov připojovacího řetězce s SQL Server Native Client.

Zprostředkovatel OLE DB

Verze

Stažení

Nové funkce

Ovladač OLE DB 18.2.1

(MSOLEDBSQL)

SQL Server 2017

Stáhnout

Přečtěte si článek Ovladač OLE DB pro funkce SQL Serveru a Poznámky k verzi pro ovladač Microsoft OLE DB pro SQL Server

SQL Server Native Client (SQLNCLI)

SQL Server 2005 až 2012

Zastaralé, nepoužívejte

Ovladač OLE DB (SQLOLEDB)

Zastaralé, nepoužívejte

Začátek stránky

Shrnutí klíčových slov ODBC

V následující tabulce najdete souhrn klíčových slov rozhraní ODBC rozpoznaných SQL Serverem a jejich účel. Access rozpozná jenom podmnožinu.

Klíčové slovo

Popis

Addr

Síťová adresa serveru, na kterém běží instance SQL Serveru.

AnsiNPW

Určuje použití chování definovaného standardem ANSI při zpracování porovnávání s hodnotou NULL, odsazení znakových dat, upozornění a zřetězení hodnot NULL (ano nebo ne).

APP

Název aplikace, která volá příkaz SQLDriverConnect.

ApplicationIntent

Deklaruje typ pracovního vytížení aplikace při připojování k serveru (pouze pro čtení nebo pro čtení a zápis).

AttachDBFileName

Název primárního souboru připojitelné databáze.

AutoTranslate

Určuje, jestli se mezi klientem nebo serverem posílají znakové řetězce ANSI nebo přeloženy do kódu Unicode (ano nebo ne).

Database

Název databáze. Popis Účel připojení. Ovladač Název ovladače vrácený pomocí SQLDrivers.

DSN

Název existujícího uživatele ODBC nebo systémového zdroje dat. Šifrování Určete, jestli se mají data před jejich odesláním po síti zašifrovat (ano nebo ne).

Failover_Partner

Název partnerského serveru pro převzetí služeb při selhání, který se použije, pokud nemůže být vytvořeno připojení k primárnímu serveru.

FailoverPartnerSPN

Hlavní název služby pro partnerský server pro převzetí služeb při selhání.

Fallback

Zastaralé klíčové slovo.

FileDSN

Název existujícího souborového zdroje dat ODBC. Jazyk Jazyk SQL Serveru.

MARS_Connection

Určuje více aktivních sad výsledků připojení k SQL Serveru 2005 (9.x) nebo novější (ano nebo ne).

MultiSubnetFailover

Určuje, jestli se má připojit k naslouchacímu procesu skupiny dostupnosti SQL Serveru nebo instance clusteru s podporou převzetí služeb při selhání (ano nebo ne).

Net

dbnmpntw označuje pojmenované kanály a dbmssocn označuje TCP/IP.

PWD

Heslo k přihlášení k SQL Serveru.

QueryLog_On

Určuje protokolování dlouho běžících dotazů (ano nebo ne).

QueryLogFile

Úplná cesta a název souboru, který se má použít k protokolování dat na dlouho běžících dotazech.

QueryLogTime

Řetězec numerických znaků určující mezní hodnotu (v milisekundách) pro protokolování dlouho běžících dotazů.

QuotedId

Určuje, jestli SQL Server používá pravidla ISO týkající se používání uvozovek v příkazech SQL (ano nebo ne).

Regional

Určuje, jestli ovladač ODBC SQL Server Native Client používá nastavení klienta při převodu dat měny, data nebo času na znakové údaje (ano nebo ne).

SaveFile

Název souboru zdroje dat ODBC, do kterého jsou uloženy atributy aktuálního připojení, pokud je připojení úspěšné.

Server

Název instance SQL Serveru: Server v síti, IP adresa nebo alias Správce konfigurace.

ServerSPN

Hlavní název služby pro server.

StatsLog_On

Umožňuje zachytávat data výkonu SQL Server Native Client.

StatsLogFile

Úplná cesta a název souboru, který se používá k zaznamenávání statistik výkonu ovladače ODBC SQL Server Native Client.

Trusted_Connection

Určuje, jestli se pro ověřování přihlášení používá režim ověřování systému Windows nebo uživatelské jméno nebo heslo k SQL Serveru (ano nebo ne).

TrustServerCertificate

Když se používá s šifrováním, povolí šifrování pomocí certifikátu serveru podepsaného svým držitelem.

UID

Přihlašovací jméno k SQL Serveru.

UseProcForPrepare

Zastaralé klíčové slovo.

WSID

Identifikátor pracovní stanice, síťový název počítače, na kterém je aplikace umístěna.

Začátek stránky

Shrnutí klíčových slov OLE DB

Následující tabulka shrnuje klíčová slova OLE DB rozpoznaná SQL Serverem a jejich účel. Access rozpozná jenom podmnožinu.

Klíčové slovo

Popis

Addr

Síťová adresa serveru, na kterém běží instance SQL Serveru.

APP

Řetězec identifikující aplikaci.

ApplicationIntent

Deklaruje typ pracovního vytížení aplikace při připojování k serveru (pouze pro čtení nebo pro čtení a zápis).

AttachDBFileName

Název primárního souboru připojitelné databáze.

AutoTranslate

Konfiguruje překlad znaků OEM/ANSI (pravda nebo nepravda).

Connect Timeout

Doba čekání na dokončení inicializace zdroje dat (v sekundách).

Current Language

Název jazyka SQL Serveru.

Data Source

Název instance SQL Serveru v organizaci.

Database

Název databáze.

DataTypeCompatibility

Číslo označující režim zpracování datového typu, který se bude používat.

Šifrování

Určete, jestli se mají data před jejich odesláním po síti zašifrovat (ano nebo ne).

FailoverPartner

Název serveru s podporou převzetí služeb při selhání.

FailoverPartnerSPN

Hlavní název služby pro partnerský server pro převzetí služeb při selhání.

Initial Catalog

Název databáze.

Initial File Name

Název primárního souboru (uveďte i úplný název cesty) pro připojitelné databáze.

Integrated Security

Používá se pro ověřování systému Windows (SSPI).

Jazyk

Jazyk SQL Serveru.

MarsConn

Určuje více aktivních sad výsledků připojení k SQL Serveru 2005 (9.x) nebo novější (ano nebo ne).

Net

Síťová knihovna používaná k vytvoření připojení k instanci SQL Serveru v organizaci.

Network Address

Síťová adresa instance SQL Serveru v organizaci.

PacketSize

Velikost síťového paketu. Výchozí hodnota je 4096.

Persist Security Info

Určuje, jestli se povolí trvalé zabezpečení (pravda nebo nepravda).

PersistSensitive

Určuje, jestli se povolí možnost trvalé citlivosti (pravda nebo nepravda).

Provider

V případě SQL Server Native Client by měl být SQLNCLI11.

PWD

Heslo k přihlášení k SQL Serveru.

Server

Název instance SQL Serveru: Server v síti, IP adresa nebo alias Správce konfigurace.

ServerSPN

Hlavní název služby pro server.

Timeout

Doba čekání na dokončení inicializace zdroje dat (v sekundách).

Trusted_Connection

Určuje, jestli se pro ověřování přihlášení používá režim ověřování systému Windows nebo uživatelské jméno nebo heslo k SQL Serveru (ano nebo ne).

TrustServerCertificate

Určuje, jestli se certifikát serveru ověří (pravda nebo nepravda).

UID

Přihlašovací jméno k SQL Serveru.

Use Encryption for Data

Určete, jestli se mají data před jejich odesláním po síti zašifrovat (pravda nebo nepravda).

UseProcForPrepare

Zastaralé klíčové slovo.

WSID

Identifikátor pracovní stanice, síťový název počítače, na kterém je aplikace umístěna.

Začátek stránky

Správa zdrojů dat ODBC

Správa propojených tabulek

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.