Access verbinden met SQL Server
Applies ToAccess voor Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Denk aan de mooie dagen van uw jeugd, toen alfabet soep uw favoriete maaltijd was. Houd deze blije gedachten in uw achterhoofd terwijl we een paar lepels proeven van de databaseversie van alfabetsoep. In de volgende secties worden de basisbeginselen beschreven van het verbinden met een database met verbindingsreeksen en het gebruiken van een database-programmeerinterface in uw Access VBA-code.

Onderdelen van gegevenstoegang

In dit artikel

ODBC-stuurprogramma of OLE DB-provider gebruiken

Programmatische interface met SQL Server vanuit Access

Overzicht van versies van ODBC-stuurprogramma's

Overzicht van versies van OLE DB-provider

Sleutelwoordenoverzicht ODBC

Sleutelwoordenoverzicht OLE DB

ODBC-stuurprogramma of OLE DB-provider gebruiken

Verbindingsreeksen bestaan al heel lang. U kunt een opgemaakte verbindingsreeks definiëren in de gebruikersinterface van Access of in VBA-code. Met een verbindingsreeks (met ODBC of OLE DB) worden gegevens rechtstreeks doorgestuurd naar de database, zoals de serverlocatie, de naam van de database, het type beveiliging en andere nuttige opties. Bijvoorbeeld:

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

In het begin was er SQL Server Native Client (SNAC), een op zichzelf staande bibliotheek met ODBC- en OLEDB-technologieën die nog steeds beschikbaar is voor SQL Server-versies van 2005 tot 2012. Veel oudere applicaties gebruikten SNAC en het wordt nog steeds ondersteund voor achterwaartse compatibiliteit, maar we raden af om het te gebruiken voor nieuwe applicatie-ontwikkeling. U moet nieuwere, individuele, downloadbare versies van de ODBC-stuurprogramma's gebruiken.

ODBC-Stuurprogramma's

Open Database Connectivity (ODBC) is een protocol waarmee u een Access-database verbindt met een externe gegevensbron, zoals Microsoft SQL Server. Meestal gebruikt u bestandsgegevensbronnen (ook wel DSN-bestanden genoemd) om een verbindingsreeks toe te voegen. In dat geval wordt het sleutelwoord FILEDSN gebruikt in de verbindingsreeks of opgeslagen in het register, in welk geval het DSN-sleutelwoord wordt gebruikt. U kunt ook VBA gebruiken om deze eigenschappen in te stellen met een 'DSN-less' verbindingsreeks.

In de loop der jaren zijn ODBC-stuurprogramma's in drie fasen gedistribueerd:

  • Voorafgaand aan 2005 werden ODBC-Stuurprogramma's geleverd met Windows Data Access Components (WDAC), dat oorspronkelijk Microsoft Data Access Components (MDAC) heette. Deze onderdelen worden nog steeds geleverd met Windows, voor achterwaartse compatibiliteit. Zie Microsoft-of Windows Data Access-onderdelen voor meer informatie.

  • ODBC-Stuurprogramma's werden geleverd met SNAC voor SQL Server 2005 tot en met SQL Server 2012.

  • Na SQL Server 2012 werden ODBC-stuurprogramma's afzonderlijk verzonden en bevatten ze ondersteuning voor nieuwe SQL Server-functies.

Bij nieuwe projecten vermijdt u het gebruik van ODBC-stuurprogramma's uit de eerste twee fasen en gebruikt u ODBC-stuurprogramma's uit de derde fase.

OLE DB-providers

OLE DB (Object Linking and Embedding, Database) is een meer recent protocol dat u gebruikt om een Access-database aan te sluiten op een externe gegevensbron, zoals Microsoft SQL Server. OLE DB vereist geen DSN en biedt ook volledige toegang tot ODBC-gegevensbronnen en ODBC-stuurprogramma's.

Tip    Meestal gebruikt u het dialoogvenster Data Link-eigenschappen om een OLE DB-verbindingsreeks toe te voegen. Hoewel Access het dialoogvenster Data Link-eigenschappen niet kan openen, kunt u in Windows Verkenner een leeg txt-bestand maken, het bestandstype wijzigen in .udl en vervolgens dubbelklikken op het bestand. Nadat u een verbindingsreeks hebt gemaakt, wijzigt u het bestandstype terug naar .txt.

In de loop der jaren zijn OLE DB-providers in drie fasen gedistribueerd:

  • Voorafgaand aan 2005 werden OLE DB-providers geleverd met Windows Data Access Components (WDAC), dat oorspronkelijk Microsoft Data Access Components (MDAC) heette.

  • OLE DB-providers werden geleverd met SQL Server 2005 tot en met SQL Server 2017. Het werd afgeschaft in 2011.

  • In 2017 werd de OLE DB-provider van SQL Server teruggehaald.

De momenteel aanbevolen versie voor het ontwikkelen van nieuwe oplossingen is OLE DB-stuurprogramma 18 voor SQL Server.

Hoe de prestaties te optimaliseren met een ODBC-verbindingsreeks

Om de prestaties te optimaliseren, het netwerkverkeer te minimaliseren en de toegang van meerdere gebruikers tot de SQL Server-database te beperken, gebruikt u zo min mogelijk verbindingsreeksen, door verbindingsreeksen over meerdere recordsets te delen. Hoewel Ace eenvoudig een verbindingsreeks doorgeeft aan de server, begrijpt en gebruikt het de volgende sleutelwoorden: DSN, DATABASE, UID, PWD en DRIVER helpen client/server-communicatie te minimaliseren.

Opmerking    Als er een ODBC-verbinding met een externe gegevensbron wordt verbroken, probeert Access automatisch om opnieuw verbinding te maken met de gegevensbron. Als het opnieuw proberen lukt, kunt u verder werken. Als de poging mislukt, kunt u nog steeds werken met objecten die niet afhankelijk zijn van de verbinding. Om opnieuw verbinding te maken, sluiten u Access en opent u het opnieuw.

Aanbevelingen voor het gebruik van zowel ODBC als OLE DB

Vermijd het combineren van verbindingsreeks- en databasetoegangstechnologieën. Gebruik een ODBC-verbindingsreeks voor DAO. Gebruik een OLE DB-verbindingsreeks voor ADO. Als uw toepassing VBA-code bevat die zowel DAO als ADO gebruikt, gebruikt u het ODBC-stuurprogramma voor DAO en de OLE DB-provider voor ADO. Probeer om de nieuwste functionaliteit en ondersteuning te krijgen voor zowel ODBC als OLEDB.

ODBC gebruikt de term stuurprogramma en OLE DB gebruikt de term provider. De termen beschrijven hetzelfde type softwarecomponent, maar zijn niet uitwisselbaar in de syntaxis van verbindingsreeksen. Gebruik de juiste waarde zoals gedocumenteerd.

Naar boven

Programmatische interface met SQL Server vanuit Access

Vanuit Access kunt u op twee manieren vanuit een programma een interface naar een SQL Server-database maken.

DAO

Een DAO (Data Access object) biedt een abstracte interface met een database. Microsoft Data Access Objects (DAO) is het systeemeigen objectmodel waarmee u toegang krijgt tot de kern van Access en SQL Server. Gebruik DAO voor het maken, verwijderen, wijzigen en weergeven van objecten, tabellen, velden, indexen, relaties, query's, eigenschappen en externe databases.

Zie Microsoft Data Access Objects voor meer informatie.

ADO

ActiveX-gegevensobjecten (ADO) biedt een geavanceerd programmeermodel en is beschikbaar in Access door een verwijzing naar een externe bibliotheek. ADO is eenvoudig te leren en maakt het mogelijk om gegevens uit verschillende bronnen, waaronder Access en SQL Server, te openen en te bewerken. De belangrijkste voordelen zijn gebruiksgemak, hoge snelheid, laag geheugengebruik en een kleine schijfvoetafdruk. ADO ondersteunt ook belangrijke functies voor het bouwen en webgebaseerde applicaties.

Zie Microsoft ActiveX Data Objects-referentie en Microsoft ActiveX Data Objects (ADO) voor meer informatie.

Welke moet u gebruiken?

In een Access-oplossing die VBA-code gebruikt, kunt u DAO, ADO of beide als uw database-interfacetechnologie gebruiken. DAO blijft de standaardinstelling in Access. Voor alle formulieren en rapporten en Access-query's wordt bijvoorbeeld DAO gebruikt. Maar als u migreert naar SQL Server kunt u overwegen ADO te gebruiken, om de oplossing efficiënter te maken. Hier vindt u algemene richtlijnen die u kunt gebruiken om te bepalen wanneer u DAO of ADO wilt gebruiken.

Gebruik DAO als u het volgende wilt doen:

  • Maak een lees/schrijf-, gebonden formulier zonder gebruik van VBA.

  • Lokale tabellen opvragen.

  • Download gegevens naar tijdelijke tabellen.

  • U kunt Pass Through-query's gebruiken als gegevensbronnen voor rapporten of formulieren in de modus alleen-lezen.

  • Een TableDef-of QueryDef-object definiëren en gebruiken in VBA.

Gebruik ADO als u het volgende wilt doen:

  • Maak gebruik van extra manieren om te optimaliseren, zoals het uitvoeren van asynchrone bewerkingen.

  • Voer DDL-en DML Pass Through-query's uit.

  • Ga rechtstreeks naar SQL Server-gegevens via recordsets in VBA.

  • Schrijf eenvoudigere code voor bepaalde taken, zoals streaming van Blob's.

  • Roep een opgeslagen procedure rechtstreeks aan met parameters, met behulp van een opdrachtobject in VBA.

Naar boven

Overzicht van versies van ODBC-stuurprogramma's

De volgende tabel bevat een overzicht van belangrijke informatie over versies van ODBC-stuurprogramma's, downloadlocaties en functie-ondersteuning. Zorg ervoor dat u de juiste bitsversie (64-bits of 32-bits) van het stuurprogramma gebruikt op basis van Windows en niet Office. Als u de 32-bitsversie van Access uitvoert op 64-bits Windows, installeert u 64-bitsstuurprogramma's, waaronder de 32-bitsonderdelen die nodig zijn voor Access.

Zie Gebruik van trefwoorden voor verbindingsreeksen gebruiken met SQL Server Native Client, Releaseopmerkingen voor ODBC naar SQL Server onder Windows (V17) en Functies van het Microsoft ODBC-stuurprogramma voor SQL Server onder Windows (V13, 11) voor meer informatie.

ODBC-Stuurprogramma's

Versie

Downloaden

Nieuwe functies

ODBC-Stuurprogramma's 17.0 tot en met 17.3

SQL Server 2017

Download

ODBC Driver 17.3

Azure Active Directory gebruiken met het ODBC-stuurprogramma

Beperkingen van het ODBC-stuurprogramma bij het gebruik van Altijd Versleuteld

XA-transacties gebruiken

ODBC Driver 17.2

Altijd versleuteld gebruiken met het ODBC-stuurprogramma voor SQL Server

Gegevensclassificatie

UTF-8-servercodering Sortering en Unicode-ondersteuning

ODBC Driver 17.1

Altijd versleuteld gebruiken met het ODBC-stuurprogramma voor SQL Server

ODBC Driver 17.0

Altijd versleuteld

UseFMTONLY    Voor het gebruik van oude metagegevens in speciale gevallen waarin tijdelijke tabellen moeten worden gebruikt. Zie Release-opmerkingen voor ODBC naar SQL Server in Windows

Verschillen bij het gebruik van Managed Instance (ODBC-versie 17)

ODBC Driver 13.1

SQL Server 2016 SP1, SQL Azure

Downloaden

Altijd versleuteld

Azure Active Directory

AlwaysOn Availability groups

Driver Aware Connection Pooling in het ODBC-stuurprogramma voor SQL Server

ODBC Driver 13.0

SQL Server 2016

Downloaden

Internationale domeinnaam (IDN)

ODBC Driver 11.0

SQL Server 2005 tot en met 2012

Downloaden

Driver-Aware Connection Pooling

Verbindingstolerantie in het ODBC-stuurprogramma voor Windows

Asynchrone uitvoering

SPN's (Service Principal Names) in client-verbindingen (ODBC)

Functies van het Microsoft ODBC-stuurprogramma voor SQL Server in Windows

Naar boven

Overzicht van versies van OLE DB-provider

De volgende tabel bevat belangrijke informatie over versies van OLE DB-providers, downloadlocaties en functie-ondersteuning. Zorg ervoor dat u de juiste bitsversie (64-bits of 32-bits) van het stuurprogramma gebruikt op basis van Windows en niet Office. Als u de 32-bitsversie van Access uitvoert op 64-bits Windows, installeert u 64-bitsstuurprogramma's, waaronder de 32-bitsonderdelen die nodig zijn voor Access.

Zie Trefwoorden voor verbindingsreeksen gebruiken met SQL Server Native Client voor meer informatie.

OLE DB-provider

Versie

Downloaden

Nieuwe functies

Stuurprogramma OLE DB 18.2.1

(MSOLEDBSQL)

SQL Server 2017

Downloaden

Zie OLE DB-stuurprogramma voor SQL Server-functie en Release-opmerkingen voor het Microsoft OLE DB-stuurprogramma voor SQL Server

SQL Server Native Client (SQLNCLI)

SQL Server 2005 tot en met 2012

Afgeschaft, niet gebruiken

OLE DB-stuurprogramma (SQLOLEDB)

Afgeschaft, niet gebruiken

Naar boven

Sleutelwoordenoverzicht ODBC

De volgende tabel bevat een overzicht van ODBC-sleutelwoorden die door SQL Server worden herkend en hun doel. In Access wordt alleen een deelverzameling herkend.

Trefwoord

Beschrijving

Addr

Het netwerkadres van de server waarop een exemplaar van SQL Server wordt uitgevoerd.

AnsiNPW

Specificeert het gebruik van ANSI-gedefinieerd gedrag voor het afhandelen van NULL-vergelijkingen, opvulling van tekengegevens, waarschuwingen en NULL-aaneenschakeling (Ja of Nee).

APP

De naam van de toepassing die SQLDriverConnect aanroept.

ApplicationIntent

Declareert het type werkbelasting van de toepassing bij het maken van verbinding met een server (ReadOnly of ReadWrite).

AttachDBFileName

De naam van het primaire bestand van een toevoegbare database.

AutoTranslate

Hiermee wordt aangegeven of ANSI-tekenreeksen worden verzonden tussen de client of server of worden vertaald naar Unicode (Ja of Nee).

Database

De naam van de database. Beschrijving Het doel van de verbinding. Stuurprogramma De naam van het stuurprogramma dat door SQLDrivers wordt geretourneerd.

DSN

Naam van een bestaande ODBC-gebruiker of systeemgegevensbron. Versleutelen Geeft aan of gegevens moeten worden versleuteld voordat deze worden verzonden via het netwerk (Ja of Nee).

Failover_Partner

De naam van de failover-partnerserver die moet worden gebruikt als er geen verbinding kan worden gemaakt met de primaire server.

FailoverPartnerSPN

De SPN voor de failover-partner.

Fallback

Afgeschaft sleutelwoord.

FileDSN

Naam van een bestaande ODBC-gebruiker of systeemgegevensbron. Taal De taal van de SQL Server.

MARS_Connection

Hiermee geeft u meerdere actieve resultaatsets (MARS) op voor de verbinding voor SQL Server 2005 (9.x) of hoger (Ja of Nee).

MultiSubnetFailover

Hiermee geeft u op of u verbinding wilt maken met de listener van de beschikbaarheidsgroep van een SQL Server-beschikbaarheidsgroep of een exemplaar van een failovercluster (Ja of Nee).

Netto

dbnmpntw geeft named pipes aan en dbmssocn geeft TCP/IP aan.

PWD

Het wachtwoord voor SQL Server-aanmelding.

QueryLog_On

Hiermee wordt de registratie van langlopende query's opgegeven (Ja of Nee).

QueryLogFile

Het volledige pad en de bestandsnaam van een bestand dat wordt gebruikt voor het vastleggen van gegevens op query's met een lange uitvoeringstijd.

QueryLogTime

Een tekenreeks met cijfers die de drempel (in milliseconden) voor het loggen van langlopende query's aangeeft.

QuotedId

Hiermee wordt aangegeven of SQL Server de ISO-regels hanteert voor het gebruik van aanhalingstekens in SQL-instructies (Ja of Nee).

Regionaal

Hiermee bepaalt u of het ODBC-stuurprogramma voor SQL Server Native Client clientinstellingen gebruikt bij het converteren van valuta-, datum- of tijdgegevens naar tekengegevens (Ja of Nee).

SaveFile

Naam van een ODBC-gegevensbronbestand waarin de kenmerken van de huidige verbinding zijn opgeslagen als de verbinding tot stand is gebracht.

Server

De naam van een exemplaar van SQL Server: Server op het netwerk, een IP-adres of een Configuration Manager-alias.

ServerSPN

De SPN voor de server.

StatsLog_On

Hiermee schakelt u de opname van prestatiegegevens van SQL Server Native Client ODBC-stuurprogramma's in.

StatsLogFile

Het volledige pad en de bestandsnaam van een bestand dat wordt gebruikt voor het opnemen van SQL Server Native Client ODBC-stuurprogramma prestatiestatistieken.

Trusted_Connection

Hiermee geeft u op of de Windows-verificatiemodus of de gebruikersnaam of het wachtwoord voor SQL Server moet worden gebruikt voor validatie bij aanmelding (ja of Nee).

TrustServerCertificate

Wanneer gebruikt met Versleuteld, wordt versleuteling met een zelfondertekend servercertificaat ingeschakeld.

UID

De naam van de SQL Server-aanmelding.

UseProcForPrepare

Afgeschaft sleutelwoord.

WSID

De werkstations-id, de netwerknaam van de computer waarop de toepassing zich bevindt.

Naar boven

Sleutelwoordenoverzicht OLE DB

De volgende tabel bevat een overzicht van OLE DB-sleutelwoorden die door SQL Server worden herkend en hun doel. In Access wordt alleen een deelverzameling herkend.

Trefwoord

Beschrijving

Addr

Het netwerkadres van de server waarop een exemplaar van SQL Server wordt uitgevoerd.

APP

De tekenreeks waarmee de toepassing wordt aangeduid.

ApplicationIntent

Declareert het type werkbelasting van de toepassing bij het maken van verbinding met een server (ReadOnly of ReadWrite).

AttachDBFileName

De naam van het primaire bestand van een toevoegbare database.

AutoTranslate

Hiermee configureert u OEM/ANSI-tekenomzetting (Waar of Onwaar).

Connect Timeout

De hoeveelheid tijd (in seconden) die moet worden gewacht totdat de initialisatie van de gegevensbron is voltooid.

Huidige taal

De naam van de taal van de SQL-Server.

Gegevensbron

De naam van een exemplaar van SQL Server in de organisatie.

Database

De naam van de database.

DataTypeCompatibility

Een getal dat aangeeft welke modus wordt gebruikt voor het verwerken van gegevenstypen.

Versleutelen

Geeft aan of gegevens moeten worden versleuteld voordat deze worden verzonden via het netwerk (Ja of Nee).

FailoverPartner

De naam van de failover-server die wordt gebruikt voor databasespiegeling.

FailoverPartnerSPN

De SPN voor de failover-partner.

Initiële catalogus

De naam van de database.

Oorspronkelijke bestandsnaam

De naam van het primaire bestand (inclusief de volledige padnaam) van een koppelbare database.

Geïntegreerde beveiliging

Wordt gebruikt voor Windows-authenticatie (SSPI).

Taal

De taal van de SQL Server.

MarsConn

Hiermee geeft u meerdere actieve resultaatsets (MARS) op voor de verbinding voor SQL Server 2005 (9.x) of hoger (Ja of Nee).

Netto

De netwerkbibliotheek die wordt gebruikt om verbinding te maken met een exemplaar van SQL Server in de organisatie.

Netwerkadres

Het netwerkadres van een exemplaar van SQL Server in de organisatie.

PacketSize

Network packet size. De standaardwaarde is 4096.

Persist Security Info

Geeft aan of blijvende beveiliging is ingeschakeld (Waar of Onwaar).

PersistSensitive

Geeft aan of de optie blijvend gevoelig is ingeschakeld (Waar of Onwaar).

Provider

Voor SQL Server Native Client moet dit SQLNCLI11 zijn.

PWD

Het wachtwoord voor SQL Server-aanmelding.

Server

De naam van een exemplaar van SQL Server: Server op het netwerk, een IP-adres of een Configuration Manager-alias.

ServerSPN

De SPN voor de server.

Timeout

De hoeveelheid tijd (in seconden) die moet worden gewacht totdat de initialisatie van de gegevensbron is voltooid.

Trusted_Connection

Hiermee geeft u op of de Windows-verificatiemodus of de gebruikersnaam of het wachtwoord voor SQL Server moet worden gebruikt voor validatie bij aanmelding (ja of Nee).

TrustServerCertificate

Hiermee wordt aangegeven of een servercertificaat wordt gevalideerd (waar of onwaar).

UID

De naam van de SQL Server-aanmelding.

Gegevensversleuteling gebruiken

Geeft aan of gegevens moeten worden versleuteld voordat deze worden verzonden via het netwerk (waar of onwaar).

UseProcForPrepare

Afgeschaft sleutelwoord.

WSID

De werkstations-id, de netwerknaam van de computer waarop de toepassing zich bevindt.

Naar boven

ODBC-gegevensbronnen beheren

gekoppelde tabellen beheren

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.