Az Access csatlakoztatása SQL Serverhez

Hatókör
Microsoft 365-höz készült Access Access 2024 Access 2021 Access 2019 Access 2016

Idézze fel fiatalsága boldog időszakát, amikor az ábécéleves volt a kedvenc étele. Gondoljon ezekre a szép emlékekre, amint az ábécéleves adatbázis-verzióját kóstolgatjuk. A következő szakaszok részletezik az adatbázisok kapcsolódási sztringekkel való beolvasásának alapjait és az adatbázis-programozási felületek használatát az Access VBA-kódjában.

Az adathozzáférés összetevői

Tartalom

ODBC-illesztőprogram vagy OLE DB-szolgáltató használata

Programozott kezelőfelület az SQL Serverhez az Accessben

Az ODBC-illesztőprogram verzióinak összefoglalása

Az OLE DB-szolgáltató verzióinak összefoglalása

Az ODBC-kulcsszó összefoglalása

Az OLE DB-kulcsszó összefoglalása

ODBC-illesztőprogram vagy OLE DB-szolgáltató használata

A kapcsolati sztringek már hosszú ideje jelen vannak. Az Access felhasználói felületén vagy a VBA-kódban megadhat egy formázott kapcsolati sztringet. A kapcsolati sztring (akár ODBC, akár OLE DB) közvetlenül az adatbázisnak adja át az adatokat, többek között a kiszolgáló helyét, az adatbázis nevét, a biztonság típusát és egyéb hasznos beállításokat. Például:

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

Először az SQL Server Native Client (SNAC), egy különálló tár állt rendelkezésre, amely ODBC és OLEDB technológiát tartalmazott, és továbbra is elérhető az SQL Server 2005-ös verzióihoz a 2012-es verzión keresztül. Számos régi alkalmazás használt SNAC tárat, amely továbbra is támogatott az előző verziókkal való kompatibilitáshoz, új alkalmazásfejlesztésekhez azonban nem ajánljuk. Az ODBC-illesztőprogramok későbbi különálló és letölthető verzióit kell használnia.

ODBC-illesztőprogramok

A nyílt adatbázis-kapcsolat (ODBC) olyan protokoll, amely az Access-adatbázisok külső adatforrásokkal, például a Microsoft SQL Serverrel való összekapcsolásához használható. Általában fájladatforrásokat (más néven DSN-fájlokat) használva vesz fel kapcsolati sztringet, amely esetben a FILEDSN kulcsszót használja a kapcsolati karakterláncban, illetve tárolja a beállításjegyzékben, és ebben az esetben a DSN kulcsszót kell használnia. Másik lehetőségként a VBA használatával is megadhatja ezeket a tulajdonságokat egy „DSN nélküli” kapcsolati sztring használatával.

Az évek során az ODBC-illesztőprogramok kiadása három fázisban történt:

  • 2005 előtt az ODBC-illesztőprogramok az eredetileg Microsoft Data Access Components (MDAC) néven ismert Windows Data Access Components (WDAC) szolgáltatáshoz tartoztak. Ezek az összetevők továbbra is megtalálhatók a Windows rendszerben az előző verziókkal való kompatibilitás érdekében. További információ: Microsoft vagy Windows Data Access összetevők.
  • SNAC-hoz tartozó ODBC-illesztőprogramok az SQL Server 2005-höz az SQL Server 2012-n keresztül.
  • Az SQL Server 2012 után az ODBC-illesztőprogramokat egyedileg adták ki, és támogatást tartalmaztak az SQL Server szolgáltatásaihoz.

Az új fejlesztés érdekében kerülje az első két fázisból származó ODBC-illesztőprogramok használatát, és használja a harmadik fázisba tartozó ODBC-illesztőprogramokat.

OLE DB-szolgáltatók

Az OLE DB (Object Linking and Embedding, Database) olyan újabb protokoll, amely az Access-adatbázisok külső adatforrásokkal, például a Microsoft SQL Serverrel való összekapcsolásához használható. Az OLE DB-nek nincs szüksége DSN-re, és teljes hozzáférést biztosít az ODBC-adatforrásokhoz és az ODBC-illesztőprogramokhoz is.

Tipp Az Adatkapcsolat tulajdonságai párbeszédpanelen általában vegyen fel egy OLE DB-kapcsolati karakterláncot. Bár az Accessből nincs lehetősége megnyitni az Adatkapcsolat tulajdonságai párbeszédpanelt, a Windows Intézőben hozzon létre egy üres .txt fájlt, módosítsa a fájltípust .udl típusra, majd kattintson duplán a fájlra. A kapcsolati karakterlánc létrehozását követően állítsa vissza a fájltípust a. txt fájlra.

Az évek során az OLE DB-szolgáltatók kiadása három fázisban történt:

  • 2005 előtt az OLE DB-szolgáltatók az eredetileg Microsoft Data Access Components (MDAC) néven ismert Windows Data Access Components (WDAC) szolgáltatáshoz tartoztak.
  • SQL Server 2005-höz tartozó OLE DB-szolgáltatók az SQL Server 2017-en keresztül. 2011-ben elavult.
  • 2017-ben az SQL Server OLE DB-szolgáltatót visszaállították.

Az új megoldások fejlesztéséhez jelenleg javasolt verzió az OLE DB Driver 18 for SQL Server.

A teljesítmény optimalizálása ODBC-kapcsolati karakterlánccal

A teljesítmény optimalizálása érdekében minimalizálja a hálózati forgalmat, és csökkentse a többfelhasználós hozzáférést az SQL Server-adatbázishoz, a kapcsolati karakterláncok több rekordra való megosztásával a lehető legkevesebb kapcsolati karakterláncot használja. Habár az Ace egyszerűen továbbítja a kapcsolati sztringet a kiszolgálóhoz, az alábbi kulcsszavakat fogja érteni és használni: A DSN, a DATABASE, az UID, a PWD és a DRIVER segítségével minimalizálhatja az ügyfél és a kiszolgáló közötti kommunikációt.

Megjegyzés Ha a külső adatforrással létesített ODBC-kapcsolat elvész, az Access automatikusan megkísérli az újbóli csatlakozást. Ha az újbóli próbálkozás sikeres, tovább folytathatja a munkát. Ha az újbóli próbálkozás sikertelen, a kapcsolattól nem függő objektumokat továbbra is használhatja. Az újracsatlakozáshoz zárja be és nyissa meg újra az Accesst.

Javaslatok az ODBC és az OLE DB használata esetén

Kerülje a kapcsolati sztring és az adatbázis-hozzáférési technológiák keverését. Használjon ODBC-kapcsolati sztringet a DAO-hoz. Használjon OLE DB-kapcsolati sztringet az ADO-hoz. Ha az alkalmazás a DAO és az ADO típust használó VBA-kódot tartalmaz, akkor a DAO és az OLE DB-szolgáltató ODBC-illesztőprogramját használhatja az ADO szolgáltatáshoz. Arra törekszünk, hogy a legújabb szolgáltatásokhoz és az ODBC-hez és az OLEDB-hez egyaránt támogatást nyújtsunk.

Az ODBC az illesztőprogram, az OLE DB pedig a szolgáltató kifejezést használja. A feltételek leírják az azonos típusú szoftverösszetevőt, de nem cserélhetők fel a kapcsolati sztring szintaxisában. Használja a helyes értéket a dokumentált formában.

Vissza a lap tetejére

Programozott kezelőfelület az SQL Serverhez az Accessben

Az Accessben két fő módon választhat programozott kezelőfelületet az SQL Server-adatbázishoz.

DAO

A DAO (Data Access Objects) absztrakt felületet biztosít az adatbázishoz. A Microsoft Data Access Objects (DAO) a natív programozást lehetővé tevő objektummodell, amellyel az Access és az SQL Server központjában hozhat létre, törölhet, módosíthat és listázhat objektumokat, táblákat, mezőket, indexeket, kapcsolatokat, lekérdezéseket, tulajdonságokat és külső adatbázisokat.

További információt a Microsoft Data Access objektumok referenciájában talál.

ADO

Az ADO (ActiveX Data Objects) egy magas szintű programozási modellt biztosít, és az Accessben egy harmadik fél könyvtárára mutató hivatkozással érhető el. Az ADO egyszerűen megtanulható, és lehetővé teszi az ügyfélalkalmazás számára a különféle forrásokból (például az Accessből és az SQL Serverről) származó adatok elérését és kezelését. Elsődleges előnye a könnyű használat, a nagy sebesség, a kis memóriaigény és a kis helyigényű lemez. Az ADO ezenkívül támogatja a készítéshez használt és a webes alkalmazások fő funkcióit.

További információ: Microsoft ActiveX Data Objects reference and Microsoft ActiveX Data Objects (ADO).

Melyiket érdemes választani?

VBA-kódot használó Access-megoldásokban a DAO és az ADO, valamint mindkettő használható adatbázis-illesztő technológiaként. Az Accessben továbbra is a DAO az alapértelmezett. Az összes űrlap, jelentés és Access-lekérdezés például DAO-t használ. Amikor azonban áttér az SQL Serverre, érdemes lehet az ADO használatával hatékonyabbá tenni a megoldást. A DAO és az ADO használatának eldöntését az alábbi általános útmutatások segítik.

Használja a DAO-t az alábbi esetekben:

  • írható/olvasható, kötött űrlap létrehozása VBA használata nélkül;
  • helyi táblák lekérdezése;
  • adatok letöltése ideiglenes táblákba;
  • átadó lekérdezések használata adatforrásként jelentésekhez és űrlapokhoz írásvédett módban;
  • TableDef- vagy QueryDef-objektum definiálása és használata a VBA-ban.

Használja az ADO-t az alábbi esetekben:

  • további optimalizálási módszerek használata, például aszinkron műveletek végrehajtása;
  • DDL-ről és DML-ről továbbított átadó lekérdezések futtatása;
  • SQL Server-adatok beolvasása közvetlenül rekordhalmazokon keresztül a VBA-ban;
  • egyszerűbb kódok írása bizonyos tevékenységekhez, például a Blobs-adatfolyamhoz;
  • tárolt eljárás közvetlen meghívása paraméterekkel, a VBA-ban egy parancssori objektum használatával.

Vissza a lap tetejére

Az ODBC-illesztőprogram verzióinak összefoglalása

Az alábbi táblázat összefoglalja az ODBC-illesztőprogram verzióival, a letöltési helyekkel és a szolgáltatások támogatásával kapcsolatos fontos információkat. Győződjön meg arról, hogy az illesztőprogram megfelelő (64 bites vagy 32 bites) verzióját használja (nem az Office, hanem a Windows verziója alapján). Ha a 32 bites verziós Accesst futtatja a 64 bites Windows rendszerben, telepítse a 64 bites illesztőprogramokat, amelyek az Accesshez szükséges, 32 bites összetevőket is tartalmazzák.

További információ: Kapcsolati karakterláncok kulcsszóinak használata a SQL Server Native Client-ban, a Windows rendszeren SQL Server ODBC kibocsátási megjegyzései (V17) és a Microsoft ODBC Driver for SQL Server Windows (V13, 11) funkciói.

ODBC-illesztőprogramok Verzió Letöltés Új szolgáltatások
ODBC-illesztőprogramok 17.0 – 17.3 SQL Server 2017 Letöltés ODBC-illesztő 17.3
Az Azure Active Directory használata az ODBC-illesztőprogrammal
Az ODBC-illesztőprogram korlátai az Always Encrypted használatakor
XA-tranzakciók használata
ODBC-illesztőprogram 17.2
Az Always Encrypted használata az ODBC Driver for SQL Server-illesztőprogrammal
Adatok besorolása
UTF-8 kiszolgálói kódolás Rendezés és Unicode-támogatás
ODBC Driver 17.1
Az Always Encrypted használata az ODBC Driver for SQL Server-illesztőprogrammal
ODBC Driver 17.0
Always Encrypted
UseFMTONLY A régi metaadatok használata speciális esetekben ideiglenes táblákat igényel. Tekintse meg a kibocsátási megjegyzéseket az ODBC-ről az SQL Server-re vonatkozóan Windows rendszeren
Különbségek a felügyelt példány használatakor (ODBC 17-es verzió)
ODBC Driver 13.1 SQL Server 2016 SP1, SQL Azure Letöltés Always Encrypted
Azure Active Directory
AlwaysOn rendelkezésre állási csoportok
Illesztőprogramot használó kapcsolatkészletezés az SQL Server-illesztőprogram ODBC-illesztőprogramjában
ODBC Driver 13.0 SQL Server 2016 Letöltés Nemzetközi tartománynév (IDN)
ODBC Driver 11.0 SQL Server 2005–2012 Letöltés Illesztőprogramot használó kapcsolatkészletezés
Kapcsolat rugalmassága a Windows ODBC-illesztőprogramban
Aszinkron végrehajtás
Egyszerű szolgáltatásnevek az ügyfélkapcsolatokban (ODBC)
A Microsoft ODBC Driver for SQL Server szolgáltatásai Windows rendszeren

Vissza a lap tetejére

Az OLE DB-szolgáltató verzióinak összefoglalása

Az alábbi táblázat összefoglalja az OLE DB-szolgáltatók verzióival, a letöltési helyekkel és a szolgáltatások támogatásával kapcsolatos fontos információkat. Győződjön meg arról, hogy az illesztőprogram megfelelő (64 bites vagy 32 bites) verzióját használja (nem az Office, hanem a Windows verziója alapján). Ha a 32 bites verziós Accesst futtatja a 64 bites Windows rendszerben, telepítse a 64 bites illesztőprogramokat, amelyek az Accesshez szükséges, 32 bites összetevőket is tartalmazzák.

További információ: Kapcsolati karakterláncok kulcsszóinak használata az SQL Server Native Client-zel.

OLE DB-szolgáltató Verzió Letöltés Új szolgáltatások
OLE DB Driver 18.2.1
(MSOLEDBSQL)
SQL Server 2017 Letöltés Lásd az OLE DB Driver for SQL Server szolgáltatását és kibocsátási megjegyzéseit a Microsoft OLE DB Driver for SQL Server
SQL Server Native Client (SQLNCLI) SQL Server 2005–2012 Elavult, ne használja
OLE DB Driver (SQLOLEDB) Elavult, ne használja

Vissza a lap tetejére

Az ODBC-kulcsszó összefoglalása

Az alábbi táblázat összefoglalja az SQL Server által felismert ODBC-kulcsszavakat és a rendeltetésüket. Az Access csak egy részhalmazt ismer fel.

Kulcsszó Leírás:
Addr Az SQL Server-példányt futtató kiszolgáló hálózati címe.
AnsiNPW Az ANSI által definiált viselkedések használatát határozza meg a NULL összehasonlítások, a karakter típusú adatok kitöltése, a figyelmeztetések és a NULL összefűzés (igen vagy nem) kezelésére.
APP Az SQLDriverConnect függvény meghívására szolgáló alkalmazás neve.
ApplicationIntent Az alkalmazás terhelési típusának deklarálása a kiszolgálóhoz való kapcsolódáskor (ReadOnly vagy ReadWrite).
AttachDBFileName Csatolható adatbázis elsődleges fájljának a neve.
AutoTranslate Azt adja meg, hogy az ANSI sztringek küldése az ügyfél vagy a kiszolgáló között történik-e, illetve Unicode-ra fordítja-e a rendszer (igen vagy nem).
Database Az adatbázis neve. Leírás A kapcsolat célja. Driver Az SQLDrivers által visszaadott illesztőprogram neve.
DSN Egy meglévő ODBC-felhasználó vagy rendszeradatforrás neve. Titkosítás Azt adja meg, hogy a rendszer titkosítsa-e az adatokat, mielőtt a hálózaton keresztül elküldené őket (igen vagy nem).
Failover_Partner Annak a feladatátvételi partnerkiszolgálónak a neve, amelyet akkor kell használni, ha nem lehet az elsődleges kiszolgálóval kapcsolatot létesíteni.
FailoverPartnerSPN A feladatátvételi partner egyszerű szolgáltatásneve.
Fallback Elavult kulcsszó.
FileDSN Egy meglévő ODBC-fájladatforrás neve. Language Az SQL Server nyelve.
MARS_Connection Az SQL Server 2005 (9.x) vagy újabb verzió kapcsolatán több aktív eredményhalmazt (MARS) ad meg (igen vagy nem).
MultiSubnetFailover Megadja, hogy csatlakozik-e egy SQL Server-alapú rendelkezésre állási csoporthoz vagy egy feladatátvevő fürtpéldányhoz (igen vagy nem).
Net A dbnmpntw nevesített csövet jelez, a dbmssocn pedig TCP/IP-t.
PWD Az SQL Server bejelentkezési jelszava.
QueryLog_On A hosszú ideig futó lekérdezések naplózását adja meg (igen vagy nem).
QueryLogFile A hosszú ideig futó lekérdezések adatainak naplózásához használandó fájl teljes elérési útja és fájlneve.
QueryLogTime Számjegyet tartalmazó sztring, amely megadja a hosszú ideig futó lekérdezések naplózási küszöbét (ezredmásodpercben).
QuotedId Azt adja meg, hogy az SQL Server az idézőjelek használatakor ISO-szabályokat használ-e az SQL-utasításokban (igen vagy nem).
Regional Azt adja meg, hogy az SQL Server Native Client ODBC-illesztőprogramja ügyfélbeállításokat használ-e a pénznemek, a dátumok és az időpontok adatainak karakterekre való konvertálásakor (igen vagy nem).
SaveFile Egy olyan ODBC-adatforrásfájl neve, amelybe az aktuális kapcsolat attribútumait menti a rendszer, ha a kapcsolat sikeresen megtörtént.
Server Egy SQL Server-példány neve: A hálózaton lévő kiszolgáló, egy IP-cím vagy a Konfigurációkezelő aliasa.
ServerSPN A kiszolgáló egyszerű szolgáltatásneve.
StatsLog_On Lehetővé teszi az SQL Server Native Client ODBC-illesztőprogram teljesítményadatai rögzítését.
StatsLogFile Az SQL Server Native Client ODBC-illesztőprogram teljesítménystatisztikájának rögzítésére használt fájl teljes elérési útja és fájlneve.
Trusted_Connection Azt adja meg, hogy a bejelentkezési ellenőrzéshez használja-e a Windows hitelesítési módot vagy az SQL Server-felhasználónevét vagy jelszavát (igen vagy nem).
TrustServerCertificate A titkosítással történő használat során önaláírt kiszolgálótanúsítvány használatával teszi lehetővé a titkosítást.
UID Az SQL Server bejelentkezési neve.
UseProcForPrepare Elavult kulcsszó.
WSID A munkaállomás azonosítója, annak a számítógépnek a hálózati neve, amelyen az alkalmazás található.

Vissza a lap tetejére

Az OLE DB-kulcsszó összefoglalása

Az alábbi táblázat összefoglalja az SQL Server által felismert OLE DB-kulcsszavakat és a rendeltetésüket. Az Access csak egy részhalmazt ismer fel.

Kulcsszó Leírás:
Addr Az SQL Server-példányt futtató kiszolgáló hálózati címe.
APP Az alkalmazást azonosító karakterlánc.
ApplicationIntent Az alkalmazás terhelési típusának deklarálása a kiszolgálóhoz való kapcsolódáskor (ReadOnly vagy ReadWrite).
AttachDBFileName Csatolható adatbázis elsődleges fájljának a neve.
AutoTranslate Az OEM/ANSI-karakterek fordítását konfigurálja (igaz vagy hamis).
Connect Timeout Az adatforrás inicializálásának befejeződéséhez szükséges idő (másodpercben).
Current Language Az SQL Server nyelvének neve.
Data Source A szervezet SQL Server-példányának neve.
Database Az adatbázis neve.
DataTypeCompatibility A használandó adattípus-kezelés módját jelző szám.
Encrypt Azt adja meg, hogy a rendszer titkosítsa-e az adatokat, mielőtt a hálózaton keresztül elküldené őket (igen vagy nem).
FailoverPartner Az adatbázis-tükrözéshez használt feladatátvételi kiszolgáló neve.
FailoverPartnerSPN A feladatátvételi partner egyszerű szolgáltatásneve.
Initial Catalog Az adatbázis neve.
Initial File Name Az elsődleges fájl neve egy csatolható adatbázis teljes elérési útjával.
Integrated Security Windows-hitelesítéshez (SSPI) használható.
Language Az SQL Server nyelve.
MarsConn Az SQL Server 2005 (9.x) vagy újabb verzió kapcsolatán több aktív eredményhalmazt (MARS) ad meg (igen vagy nem).
Net Az a hálózati könyvtár, amellyel kapcsolatot létesíthet a szervezet SQL Server-példányával.
Network Address A szervezet SQL Server-példányának hálózati címe.
PacketSize Hálózati csomag mérete. Az alapértelmezett érték a 4096.
Persist Security Info Azt adja meg, hogy engedélyezve van-e a biztonsági adatok megőrzése (igaz vagy hamis).
PersistSensitive Azt adja meg, hogy engedélyezve van-e a bizalmas adatok megőrzése (igaz vagy hamis).
Provider Az SQL Server Native Client esetén ez az SQLNCLI11.
PWD Az SQL Server bejelentkezési jelszava.
Server Egy SQL Server-példány neve: A hálózaton lévő kiszolgáló, egy IP-cím vagy a Konfigurációkezelő aliasa.
ServerSPN A kiszolgáló egyszerű szolgáltatásneve.
Timeout Az adatforrás inicializálásának befejeződéséhez szükséges idő (másodpercben).
Trusted_Connection Azt adja meg, hogy a bejelentkezési ellenőrzéshez használja-e a Windows hitelesítési módot vagy az SQL Server-felhasználónevét vagy jelszavát (igen vagy nem).
TrustServerCertificate Azt adja meg, hogy egy kiszolgálótanúsítvány érvényesítve van-e (igaz vagy hamis).
UID Az SQL Server bejelentkezési neve.
Use Encryption for Data Azt adja meg, hogy a rendszer titkosítsa-e az adatokat, mielőtt a hálózaton keresztül elküldené őket (igaz vagy hamis).
UseProcForPrepare Elavult kulcsszó.
WSID A munkaállomás azonosítója, annak a számítógépnek a hálózati neve, amelyen az alkalmazás található.

Vissza a lap tetejére

ODBC-adatforrások felügyeleteCsatolt táblák kezelése