Applies ToAccess til Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Tænk tilbage på de gode gamle dage, hvor bogstaver i morgenknasen var det sjoveste, der fandtes. Hav disse glade tanker i baghovedet, mens vi giver dig en smagsprøve på databaseversionen af bogstaver i morgenknasen. Følgende afsnit er en introduktion til, hvordan du når til en database ved hjælp af forbindelsesstrenge og bruger en database-programmeringsgrænseflade i din Access VBA-kode.

Komponenter af dataadgang

I denne artikel

Brug af ODBC-driver eller OLE DB-udbyder

Programmeringsmæssig grænseflade til SQL Server fra Access

Oversigt over ODBC-driverversioner

Oversigt over OLE DB-udbyderversioner

Oversigt over ODBC-søgeord

Oversigt over OLE DB-søgeord

Brug af ODBC-driver eller OLE DB-udbyder

Forbindelsesstrenge har eksisteret længe. Du kan enten definere en formateret forbindelsesstreng i Access-brugergrænsefladen eller i VBA-kode. En forbindelsesstreng (uanset om den er ODBC eller OLE DB) videregiver oplysninger direkte til databasen, f. eks. serverplacering, databasenavn, type af sikkerhed og andre nyttige indstillinger. Her er et eksempel:

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

Først var der SQL Server Native Client (SNAC), som er et fritstående bibliotek, der indeholdt ODBC- og OLEDB-teknologier, og som stadig er tilgængeligt for SQL Server-versionerne 2005 til 2012. Mange ældre programmer brugte SNAC, og det understøttes stadig af hensyn til bagudkompatibilitet, men vi anbefaler ikke, at du bruger det til at udvikle nye programmer. Du skal bruge nyere versioner af ODBC-driverne, som kan hentes.

ODBC-drivere

Open Database Connectivity (ODBC) er en protokol, som du bruger til at knytte en Access-database til en ekstern datakilde som f.eks. Microsoft SQL Server. Du bruger typisk fildatakilder (også kaldet DSN-filer) til at tilføje en forbindelsesstreng. I så fald bruges nøgleordet FILEDSN i forbindelsesstrengen, eller også gemmes det i registreringsdatabase, således at DSN-nøgleordet bruges. Du kan også bruge VBA til at angive disse egenskaber ved hjælp af en forbindelsesstreng "uden DSN".

I løbet af årene er ODBC-drivere blevet udgivet i tre faser:

  • Før 2005 blev ODBC-drivere udgivet med Windows Data Access Components (WDAC), som oprindeligt blev kaldt Microsoft Data Access Components (MDAC). Disse komponenter leveres stadig til Windows med henblik på bagudkompatibilitet. Få flere oplysninger i Microsoft- eller Windows Data Access Components.

  • ODBC-drivere, der følger med SNAC til SQL Server 2005 via SQL Server 2012.

  • Efter SQL Server 2012 leveres ODBC-drivere enkeltvis og indeholder understøttelse af nye funktioner i SQL Server.

I forbindelse med ny udvikling skal du undlade at bruge ODBC-drivere fra de første to faser og bruge ODBC-drivere fra tredje fase.

OLE DB-leverandører

Object Linking and Embedding, Database (OLE DB) er en nyere protokol, der bruges til at knytte en Access-database til en ekstern datakilde som f.eks. Microsoft SQL Server. OLE DB kræver ikke en DSN og giver også fuld adgang til ODBC-datakilder og ODBC-drivere.

Tip    Du bruger typisk dialogboksen datalink-egenskaber til at tilføje en OLE DB-forbindelsesstreng. Selvom Access ikke kan åbne dialogboksen datalink-egenskaber i Windows Stifinder, kan du oprette en tom .txt-fil, ændre filtypen til .udl og derefter dobbeltklikke på filen. Når du har oprettet en forbindelsesstreng, kan du ændre filtypen tilbage til .txt.

I løbet af årene er OLE DB-udbydere blevet udgivet i tre faser:

  • Før 2005 blev OLE DB-udbydere udgivet med Windows Data Access Components (WDAC), som oprindeligt blev kaldt Microsoft Data Access Components (MDAC).

  • OLE DB-udbydere, der følger med SNAC til SQL Server 2005 via SQL Server 2017. Det blev udfaset i 2011.

  • I 2017 blev udfasningen af SQL Server OLE DB-udbyderen annulleret.

Den nuværende anbefalede version til udvikling af nye løsninger er OLE DB-driver 18 til SQL Server.

Sådan optimerer du ydeevnen med en ODBC-forbindelsesstreng

Hvis du vil optimere ydeevnen, minimere netværkstrafik og reducere adgang for flere brugere til SQL Server-databasen, skal du bruge så få forbindelsesstrenge som muligt ved at dele forbindelsesstrenge over flere poster. Selvom Ace bare videresender en forbindelsesstreng til serveren, forstår den og bruger følgende nøgleord: DSN, DATABASE, UID, PWD og DRIVER hjælper med at minimere klient-/serverkommunikation.

Bemærk    Hvis en ODBC-forbindelse til en ekstern datakilde mistes, vil Access automatisk forsøge at genoprette forbindelsen til den. Hvis det lykkes, kan du fortsætte med at arbejde. Hvis forsøget mislykkes, kan du stadig arbejde med objekter, der ikke er afhængige af forbindelsen. Hvis du vil oprette forbindelse igen, skal du lukke og genåbne Access.

Anbefalinger, når du bruger både ODBC og OLE DB

Undgå at blande forbindelsesstreng- og database-adgangsteknologier. Brug en ODBC-forbindelsesstreng til DAO. Brug en OLE DB forbindelsesstreng til ADO. Hvis programmet indeholder VBA-kode, der bruger både DAO og ADO, skal du bruge ODBC-driveren til DAO og OLE DB-udbyderen til ADO. Sørg for at få de seneste funktioner og understøttelser til både ODBC og OLEDB.

ODBC bruger udtrykket driver, og OLE DB bruger udtrykket udbyder. Ordene henviser til den samme type softwarekomponent, men kan ikke erstattes i syntaksen for forbindelsesstrenge. Brug den korrekte værdi som beskrevet.

Toppen af siden

Programmeringsmæssig grænseflade til SQL Server fra Access

Der er to måder, hvorpå du programmeringsmæssigt kan oprette en grænseflade til en SQL Server-database fra Access.

DAO

Et dataadgangsobjekt (DAO) giver en abstrakt grænseflade til en database. Microsoft Data Access-objekter (DAO) er den oprindelige programmeringsobjektmodel, der giver dig mulighed for at få adgang til og oprette en oversigt over Access-og SQL Server-objekter, tabeller, felter, indekser, relationer, forespørgsler, egenskaber og eksterne databaser.

Få flere oplysninger i Microsoft Data Access Objects-reference.

ADO

ActiveX Data Objects (ADO) indeholder en programmeringsmodel på højt niveau og er tilgængelig i Access ved hjælp af en reference til et tredjepartsbibliotek. ADO er let at lære og giver klientprogrammer adgang til og mulighed for at manipulere data fra en række forskellige kilder, herunder Access og SQL Server. De primære fordele er brugervenlighed, høj hastighed, lavt hukommelsesforbrug og mindre lagerplads. ADO understøtter også nøglefunktioner til opbygning og webbaserede programmer.

Få flere oplysninger i Microsoft ActiveX Data Objects-reference og Microsoft ActiveX Data Objects (ADO).

Hvilket skal du bruge?

I en Access-løsning, der bruger VBA-kode, kan du bruge DAO, ADO eller begge dele som teknologi til din database-grænseflade. DAO er fortsat standard i Access. Alle formularer og rapporter samt Access-forespørgsler benytter for eksempel DAO. Men når du overfører til SQL Server, kan du overveje at bruge ADO, som vil gøre din løsning mere effektiv. Her er de generelle retningslinjer, der kan hjælpe dig med at beslutte, hvornår du skal bruge DAO eller ADO.

Brug DAO, når du vil:

  • Oprette en læs- og redigerbar, bundet formular uden at bruge VBA.

  • Oprette forespørgsler om lokale tabeller.

  • Hente data til midlertidige tabeller.

  • Bruge gennemførselsforespørgsler som datakilder for rapporter eller formularer i skrivebeskyttet tilstand.

  • Definere og bruge et TableDef- eller QueryDef-objekt i VBA.

Brug ADO, når du vil:

  • Benytte flere metoder til at optimere, f. eks. udførelse af asynkrone handlinger.

  • Køre DDL og DML-gennemkørselsforespørgsler.

  • Få adgang til SQL Server-data direkte i sæt af poster i VBA.

  • Skrive mere enkel kode til visse opgaver, f. eks. streaming af Blobs.

  • Kalde en gemt procedure direkte med parametre ved hjælp af et kommandoobjekt i VBA.

Toppen af siden

Oversigt over ODBC-driverversioner

Følgende tabel indeholder en oversigt over vigtige oplysninger om ODBC-driverversioner, downloadplaceringer og understøttelse af funktioner. Husk at bruge den korrekte bit-version (64-bit eller 32-bit) af den driver, der er baseret på Windows og ikke Office. Hvis du kører 32-bit Access til 64-bit Windows, skal du installere 64-bit drivere, som omfatter de 32-bit komponenter, der skal bruges til Access.

Få flere oplysninger i Sådan bruger du forbindelsesstreng-nøgle med SQL Server Native Client, Udgivelsesnoter for ODBC til SQL Server i Windows (V17) og Funktioner til Microsoft ODBC-driver til SQL Server i Windows (V13, 11).

ODBC-drivere

Version

Download

Nye funktioner

ODBC-driver 17.0 til 17.3

SQL Server 2017

Download

ODBC-driver 17.3

Brug af Azure Active Directory med ODBC-driveren

Begrænsninger i ODBC-driveren ved brug af Altid krypteret

Brug af XA-transaktioner

ODBC-driver 17.2

Brug af Altid krypteret med ODBC-driver til SQL Server

Dataklassificering

UTF-8-serverkodning af sorterings- og Unicode-understøttelse

ODBC-driver 17.1

Brug af Altid krypteret med ODBC-driver til SQL Server

ODBC-driver 17.0

Altid krypteret

UseFMTONLY    Bruges til at benytte ældre metadata i særlige tilfælde, der kræver midlertidige tabeller. Se Udgivelsesnoter for ODBC til SQL Server i Windows

Forskelle, når du bruger administrerede forekomster (ODBC version 17)

ODBC-driver 13.1

SQL Server 2016 SP1, SQL Azure

Download

Altid krypteret

Azure Active Directory

AlwaysOn-tilgængelighedsgrupper

Driver-bevidst forbindelsesgruppering i ODBC-driver til SQL Server

ODBC Driver 13.0

SQL Server 2016

Download

Internationaliseret domænenavn (IDN)

ODBC-driver 11.0

SQL Server 2005 til 2012

Download

Driverbevidst forbindelsesgruppering

Forbindelses-modstandsdygtighed i Windows ODBC-driveren

Asynkron udførelse

Tjenestens hovednavne (SPN'er) i klientforbindelser (ODBC)

Funktioner i Microsoft ODBC-driver til SQL Server i Windows

Toppen af siden

Oversigt over OLE DB-udbyderversioner

Følgende tabel indeholder en oversigt over vigtige oplysninger om OLE DB-driverversioner, downloadplaceringer og understøttelse af funktioner. Husk at bruge den korrekte bit-version (64-bit eller 32-bit) af den driver, der er baseret på Windows og ikke Office. Hvis du kører 32-bit Access til 64-bit Windows, skal du installere 64-bit drivere, som omfatter de 32-bit komponenter, der skal bruges til Access.

Få flere oplysninger i Brug af forbindelsesstrengs-nøgleord med SQL Server Native Client.

OLE DB-leverandør

Version

Download

Nye funktioner

OLE DB-driver 18.2.1

(MSOLEDBSQL)

SQL Server 2017

Download

Se OLE DB-driver til SQL Server-funktion og Udgivelsesnoter til Microsoft OLE DB-driver til SQL Server

SQL Server Native Client (SQLNCLI)

SQL Server 2005 til 2012

Er udfaset og må ikke benyttes

OLE DB-driver (SQLOLEDB)

Er udfaset og må ikke benyttes

Toppen af siden

Oversigt over ODBC-søgeord

Følgende tabel indeholder en oversigt over de ODBC-nøgleord, der genkendes af SQL Server, og deres formål. Kun et undersæt genkendes af Access.

Nøgleord:

Beskrivelse

Addr

Netværksadressen på den server, der kører en forekomst af SQL Server.

AnsiNPW

Angiver brug af ANSI-definerede adfærdsmønstre til at håndtere NULL-sammenligninger, udfyldning af tegndata, advarsler og NULL-sammenkædning (ja eller nej).

APP

Navnet på det program, der kalder SQLDriverConnect.

ApplicationIntent

Erklærer programmets arbejdsbyrde-type, når der oprettes forbindelse til en server (ReadOnly eller ReadWrite).

AttachDBFileName

Navnet på den primære fil i en database, der kan tilknyttes.

AutoTranslate

Angiver, om der sendes ANSI-tegnstrenge mellem klienten eller serveren, eller om der oversættes til Unicode (ja eller nej).

Database

Databasenavnet. Beskrivelse Formålet med forbindelsen. Driver Navnet på den driver, der blev returneret af SQLDrivers.

DSN

Navnet på en eksisterende ODBC-bruger eller systemdatakilde. Kryptér Angiver, om data skal krypteres, før de sendes via netværket (ja eller nej).

Failover_Partner

Navnet på den failover-partnerserver, der skal bruges, hvis der ikke kan oprettes forbindelse til den primære server.

FailoverPartnerSPN

Failover-partnerens SPN.

Reserve

Forældet nøgleord.

FileDSN

Navnet på en eksisterende ODBC-fildatakilde. Sprog SQL Server-sproget.

MARS_Connection

Angiver flere aktive resultatsæt (MARS) på forbindelsen til SQL Server 2005 (9.x) eller nyere (ja eller nej).

MultiSubnetFailover

Angiver, om der skal oprettes forbindelse til tilgængelighedsgruppens lyttefunktion i en SQL Servers tilgængelighedsgruppe eller en forekomst af en failover-klynge (ja eller nej).

Net

dbnmpntw angiver navngivne pipes, og dbmssocn angiver TCP/IP.

PWD

Login-adgangskoden til SQL Server.

QueryLog_On

Angiver logføring af forespørgsler, der kører længe (ja eller nej).

QueryLogFile

Den fulde sti og filnavnet på en fil, der skal bruges til at registrere data i forespørgsler, der kører længe.

QueryLogTime

Tegnstreng med cifre, der angiver grænsen (i millisekunder) til logføring af forespørgsler, der kører længe.

QuotedId

Angiver, om SQL Server bruger ISO-reglerne for brug af anførselstegn i SQL-sætninger (ja eller nej).

Regional

Angiver, om OBDC-driveren til SQL Server Native Client bruger klientindstillinger, når du konverterer valuta-, dato-eller klokkeslætsdata til tegndata (ja eller nej).

SaveFile

Navnet på en ODBC-fildatakilde, som attributterne for den aktuelle forbindelse gemmes i, hvis forbindelsen er korrekt.

Server

Navnet på en SQL Server-forekomst: Server på netværket, en IP-adresse eller et Configuration Manager-alias.

ServerSPN

Serverens SPN.

StatsLog_On

Aktiverer registreringen af ydeevnedata for en SQL Server Native Client-driver.

StatsLogFile

Den fulde sti og filnavnet på en fil, der bruges til at registrere ydeevnen for ODBC-driveren til SQL Server Native Client.

Trusted_Connection

Angiver, om Windows-godkendelsestilstand eller brugernavnet eller adgangskoden til SQL Server bruges til validering af login (ja eller nej).

TrustServerCertificate

Når dette bruges sammen med-kryptering, aktiveres krypteringen ved hjælp af et selvsigneret servercertifikat.

UID

Login-navn til SQL Server.

UseProcForPrepare

Forældet nøgleord.

WSID

Arbejdsstationens id, netværkets navn på den computer, hvor programmet er placeret.

Toppen af siden

Oversigt over OLE DB-søgeord

Følgende tabel indeholder en oversigt over de OLE DB-nøgleord, der genkendes af SQL Server, og deres formål. Kun et undersæt genkendes af Access.

Nøgleord:

Beskrivelse

Addr

Netværksadressen på den server, der kører en forekomst af SQL Server.

APP

Strengen, der identificerer programmet.

ApplicationIntent

Erklærer programmets arbejdsbyrde-type, når der oprettes forbindelse til en server (ReadOnly eller ReadWrite).

AttachDBFileName

Navnet på den primære fil i en database, der kan tilknyttes.

AutoTranslate

Konfigurerer OEM/ANSI-tegnoversættelse (sand eller falsk).

Timeout for forbindelse

Den tid (i sekunder), det tager at vente på, at påbegyndelsen af en af datakilde fuldføres.

Aktuelt sprog

Navn på SQL Server-sproget.

Datakilde

Navnet på en forekomst af SQL Server i organisationen.

Database

Databasenavnet.

DataTypeCompatibility

Et tal, der angiver den tilstand af datatype-håndtering, der bruges.

Kryptér

Angiver, om data skal krypteres, før de sendes via netværket (ja eller nej).

FailoverPartner

Navnet på den failover-server, der bruges til databasespejling.

FailoverPartnerSPN

Failover-partnerens SPN.

Startkatalog

Databasenavnet.

Indledningsvist filnavn

Navnet på den primære fil (herunder det fulde stinavn) for en database, der kan tilknyttes.

Integreret sikkerhed

Bruges til Windows-godkendelse (SSPI).

Sprog

SQL Server-sproget.

MarsConn

Angiver flere aktive resultatsæt (MARS) på forbindelsen til SQL Server 2005 (9.x) eller nyere (ja eller nej).

Net

Netværksbibliotek, der bruges til at oprette forbindelse til en forekomst af SQL Server i organisationen.

Netværksadresse

Netværksadressen til en forekomst af SQL Server i organisationen.

PacketSize

Størrelse på netværkspakke. Standardstørrelsen er 4096.

Oplysninger om vedvarende sikkerhed

Angiver, om vedvarende sikkerhed er aktiveret (sand eller falsk).

PersistSensitive

Angiver om permanent følsom er aktiveret (sandt eller falsk)

Udbyder

For SQL Server Native Client skal dette være SQLNCLI11.

PWD

Login-adgangskoden til SQL Server.

Server

Navnet på en SQL Server-forekomst: Server på netværket, en IP-adresse eller et Configuration Manager-alias.

ServerSPN

Serverens SPN.

Timeout

Den tid (i sekunder), det tager at vente på, at påbegyndelsen af en af datakilde fuldføres.

Trusted_Connection

Angiver, om Windows-godkendelsestilstand eller brugernavnet eller adgangskoden til SQL Server bruges til validering af login (ja eller nej).

TrustServerCertificate

Angiver, om et servercertifikat er godkendt (sandt eller falsk).

UID

Login-navn til SQL Server.

Brug kryptering til data

Angiv, om data skal krypteres, før de sendes via netværket (sandt eller falsk).

UseProcForPrepare

Forældet nøgleord.

WSID

Arbejdsstationens id, netværkets navn på den computer, hvor programmet er placeret.

Toppen af siden

Administrer ODBC-datakilder

Administrer sammenkædede tabeller

Har du brug for mere hjælp?

Vil du have flere indstillinger?

Udforsk abonnementsfordele, gennemse kurser, få mere at vide om, hvordan du sikrer din enhed og meget mere.

Communities hjælper dig med at stille og besvare spørgsmål, give feedback og høre fra eksperter med omfattende viden.