Koble Access til SQL Server

Husker du barndommens glade dager da bokstaver var spennende, du kunne bygge ord med dem! Nå skal du få en smakebit av databaseversjonen av de spennende bokstavene. I avsnittene nedenfor forklarer vi hvordan du får tilgang til en database med tilkoblingsstrenger og bruker et grensesnitt for databaseprogrammering i din Access VBA-kode.

Komponenter i datatilgang

I denne artikkelen

Bruke ODBC-driver eller OLE DB-leverandør

Programmeringsgrensesnitt til SQL Server fra Access

Sammendrag av ODBC-driverversjoner

Sammendrag av OLE DB-leverandørversjoner

Sammendrag av ODBC-nøkkelord

Sammendrag av OLE DB-nøkkelord

Bruke ODBC-driver eller OLE DB-leverandør

Tilkoblingstrenger er gammelt nytt. Du kan definere en formatert tilkoblingsstreng enten i Access-brukergrensesnittet eller i VBA-koden. En tilkoblingsstreng (enten ODBC eller OLE DB) sender informasjon direkte til databasen, for eksempel serverplassering, databasenavn, sikkerhetstype og andre nyttige alternativer. Eksempel:

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

I begynnelsen var det SQL Server Native Client (SNAC), et frittstående bibliotek som inneholdt ODBC- og OLEDB-teknologier og som fremdeles er tilgjengelig for SQL Server-versjonene 2005 til 2012. Mange eldre programmer ble brukt og er fremdeles støttet for bakoverkompatibilitet, men vi anbefaler ikke at du bruker det til ny programutvikling. Du bør bruke nyere individuelle, nedlastbare versjoner av ODBC-driverne.

ODBC-drivere

Open Database Connectivity (ODBC) er en protokoll du kan bruke til å koble en Access-database til en ekstern datakilde, for eksempel Microsoft SQL Server. Vanligvis bruker du fildatakilder (også kalt DSN-filer) for å legge til en tilkoblingsstreng. I så fall brukes nøkkelordet FILEDSN på tilkoblingsstrengen, eller lagres i registeret. I sistnevnte tilfelle brukes DSN-nøkkelordet. Du kan også bruke VBA til å angi disse egenskapene ved hjelp av en «DSN-less» tilkoblingsstreng.

Gjennom årene har ODBC-drivere blitt levert i tre trinn:

  • Før 2005 var det ODBC-drivere som ble levert med Windows Data Access Components (WDAC), som opprinnelig ble kalt Microsoft Data Access Components (MDAC). Disse komponentene leveres fremdeles med Windows for bakoverkompatibilitet. Hvis du vil ha mer informasjon, kan du se Microsoft eller Windows Data Access Components.

  • ODBC-drivere levert med SNAC for SQL Server 2005 via SQL Server 2012.

  • Etter SQL Server 2012 har ODBC-drivere blitt levert enkeltvis og har støtte for nye SQL Server-funksjoner.

Hvis du vil ha ny utvikling, bør du unngå å bruke ODBC-drivere fra de to første fasene, og bruke ODBC-drivere fra den tredje fasen.

OLE DB-leverandører

Object Linking and Embedding, Database (OLE DB) er en nyere protokoll du kan bruke til å koble en Access-database til en ekstern datakilde, for eksempel Microsoft SQL Server. OLE DB krever ikke en DSN og har også full tilgang til ODBC-datakilder og ODBC-drivere.

Tips    Vanligvis bruker du dialogboksen Datakoblingsegenskaper til å legge til en OLE DB-koblingsstreng. Selv om det ikke er noen måte å åpne dialogboksen Egenskaper for datakobling på i Windows Explorer, kan du opprette en tom TXT-fil, endre filtypen til .udl, og deretter dobbeltklikke på filen. Når du har opprettet en tilkoblingsstreng, endrer du filtypen tilbake til .txt.

Gjennom årene har OLE DB-leverandører blitt levert i tre faser:

  • Før 2005 var det OLE DB-leverandører som ble levert med Windows Data Access Components (WDAC), som opprinnelig ble kalt Microsoft Data Access Components (MDAC).

  • OLE DB-leverandører levert med SQL Server 2005 via SQL Server 2017. Den ble avskrevet i 2011.

  • I 2017 ble avskrivingen av OLE DB-leverandøren for SQL Server opphevet.

For øyeblikket anbefalt versjon for ny løsningsutvikling er OLE DB-driver 18 for SQL Server.

Slik optimaliserer du ytelsen med en ODBC-koblingsstreng

Hvis du vil optimalisere ytelsen, minimere nettverkstrafikken og redusere tilgang for flere brukere til SQL Server-databasen, bør du bruke så få koblingsstrenger som mulig ved å dele koblingsstrenger over flere postsett. Selv Access bare overfører en tilkoblingsstreng til serveren, kan den forstå og bruke følgende nøkkelord: DSN, DATABASE, UID, PWD og DRIVER for å bidra til å minimere klient/server-kommunikasjon.

Obs!    Hvis en ODBC-tilkobling til en ekstern datakilde mistes, vil Access automatisk prøve å koble seg til den på nytt. Hvis forsøket er vellykket, kan du fortsette å arbeide. Hvis forsøket mislykkes, kan du fortsette å arbeide med objekter som ikke er avhengig av tilkoblingen. Hvis du vil koble til på nytt, må du lukke og åpne Access på nytt.

Anbefalinger når du bruker både ODBC og OLE DB

Unngå å blande tilkoblingsstreng og tilgangsteknologier for databaser. Bruk en ODBC-tilkoblingsstreng for DAO. Bruk en OLE DB-tilkoblingsstreng for ADO. Hvis programmet inneholder VBA-kode som bruker både DAO og ADO, bruker du ODBC-driveren for DAO og OLE DB-leverandøren for ADO. Sats på å ha de nyeste funksjonene og støtten både for ODBC og OLEDB.

ODBC bruker begrepet driver og OLE DB bruker begrepet leverandør. Begrepene beskriver samme type programvarekomponent, men kan ikke brukes om hverandre i syntaksen for tilkoblingsstreng. Bruk den riktige verdien som dokumentert.

Til toppen av siden

Programmeringsgrensesnitt til SQL Server fra Access

Det er to hovedmåter å bruke programmeringsgrensesnitt på i en SQL Server-database fra Access.

DAO

Datatilgangsobjekter (DAO) gir et abstrakt grensesnitt til en database. Microsoft Data Access Objects (DAO) er den opprinnelige programmeringsobjektmodellen, som du kan bruke til å få tilgang til kjernen i Access og SQL Server til å opprette, slette, endre og liste objekter, tabeller, felt, indekser, relasjoner, spørringer, egenskaper og eksterne databaser.

Hvis du vil ha mer informasjon, kan du se Microsoft Data Access Objects-referanse.

ADO

ActiveX Data Objects (ADO) gir en programmodell på høyt nivå og er tilgjengelig i Access ved en referanse til et tredjepartsbibliotek. ADO er enkel å lære og gjør det mulig for klientprogrammer å få tilgang til og redigere data fra en rekke ulike kilder, inkludert Access og SQL Server. Den primære fordelen er brukervennlighet, høy hastighet, lite minne og liten plass på harddisken. ADO støtter også viktige funksjoner for bygg- og nettbaserte programmer.

Hvis du vil ha mer informasjon, kan du se Microsoft ActiveX Data Objects-referanse og Microsoft ActiveX Data Objects (ADO).

Hvilken bør du bruke?

I en Access-løsning som bruker VBA-kode, kan du bruke DAO, ADO eller begge deler som teknologi for databasegrensesnitt. DAO fortsetter å være standard i Access. Alle skjemaer og rapporter og Access-spørringer bruker for eksempel DAO. Men når du overfører til SQL Server, kan du vurdere å bruke ADO til å gjøre løsningen mer effektiv. Her er generelle retningslinjer for å hjelpe deg med å bestemme når du skal bruke DAO eller ADO.

Bruk DAO når du ønsker å gjøre følgende:

  • Opprette en bundet lese/skrive-form uten å bruke VBA.

  • Spørre lokale tabeller.

  • Laste ned data til midlertidige tabeller.

  • Bruke pass-through-spørringer som datakilder for rapporter eller skjemaer i skrivebeskyttet modus.

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

Bruk ADO når du ønsker å gjøre følgende:

  • Dra nytte av ekstra måter å optimalisere på, for eksempel utføre asynkrone operasjoner.

  • Kjøre DDL og DML pass-trough-spørringer.

  • Få tilgang til SQL Server-data direkte gjennom postsett i VBA.

  • Skrive enklere kode for bestemte oppgaver, for eksempel direkte avspilling av BLOB.

  • Kalle en lagret prosedyre direkte, med parametre, ved bruk av et kommandoobjekt i VBA.

Til toppen av siden

Sammendrag av ODBC-driverversjoner

Tabellen nedenfor oppsummerer viktig informasjon om ODBC-driverversjoner, nedlastingssteder og funksjonsstøtte. Kontroller at du bruker riktig bitversjon (64-biters eller 32-biters) av driveren, basert på Windows og ikke Office. Hvis du kjører 32-biters tilgang på 64-biters Windows, må du installere 64-biters drivere, som inkluderer den 32-biters komponenten som kreves for å få tilgang.

Hvis du vil ha mer informasjon, kan du se Bruke nøkkelord for tilkoblingsstreng med SQL Server Native Client, produktmerknader for ODBC for SQL Server i Windows (V17) og funksjoner i Microsoft ODBC Driver for SQL Server i Windows (V13, 11).

ODBC-drivere

Versjon

Last ned

Nye funksjoner

ODBC-drivere 17.0 til 17.3

SQL Server 2017

Last ned

ODBC-driver 17.3

Bruke Azure Active Directory med ODBC-driveren

Begrensninger for ODBC-driveren når du bruker Always Encrypted

Bruke XA-transaksjoner

ODBC-driver 17.2

Bruker Always Encrypted med ODBC-driver for SQL Server

Dataklassifisering

Sortering av UTF-8-koding og Unicode-støtte

ODBC-driver 17.1

Bruker Always Encrypted med ODBC-driver for SQL Server

ODBC-driver 17.0

Always Encrypted

UseFMTONLY    For å bruke eldre metadata i spesielle tilfeller som krever midlertidige tabeller. Se produktmerknader for ODBC til SQL Server i Windows

Forskjeller når du bruker administrert forekomst (ODBC-versjon 17)

ODBC-driver 13.1

SQL Server 2016 SP1, SQL Azure

Last ned

Always Encrypted

Azure Active Directory

Tilgjengelighetsgrupper for AlwaysOn

Driverklar koblingsgruppering i ODBC-driveren for SQL Server

ODBC-driver 13.0

SQL Server 2016

Last ned

Internasjonaliserte domenenavn (IDN)

ODBC-driver 11.0

SQL Server 2005 til 2012

Last ned

Driverklar koblingsgruppering

Robusthet for forbindelse i Windows ODBC-driver

Asynkron gjennomføring

Tjenestens hovednavn (SPN-er) i klientforbindelser (ODBC)

Funksjoner i Microsoft ODBC-driver for SQL Server i Windows

Til toppen av siden

Sammendrag av OLE DB-leverandørversjoner

Tabellen nedenfor oppsummerer viktig informasjon om OLE DB-leverandørversjoner, nedlastingssteder og funksjonsstøtte. Kontroller at du bruker riktig bitversjon (64-biters eller 32-biters) av driveren, basert på Windows og ikke Office. Hvis du kjører 32-biters tilgang på 64-biters Windows, må du installere 64-biters drivere, som inkluderer den 32-biters komponenten som kreves for å få tilgang.

Hvis du vil ha mer informasjon, kan du se Bruke nøkkelord for tilkoblingsstreng med SQL Server Native Client.

OLE DB-leverandør

Versjon

Last ned

Nye funksjoner

OLE DB-driver 18.2.1

(MSOLEDBSQL)

SQL Server 2017

Last ned

Se OLE DB-driver for SQL Server-funksjon og produktmerknader for Microsoft OLE DB-driver for SQL Server

SQL Server Native Client (SQLNCLI)

SQL Server 2005 til 2012

Avskrevet, ikke bruk

OLE DB-driver (SQLOLEDB)

Avskrevet, ikke bruk

Til toppen av siden

Sammendrag av ODBC-nøkkelord

Tabellen nedenfor oppsummerer ODBC-nøkkelord som gjenkjennes av SQL-servere og deres formål. Bare et delsett gjenkjennes i Access.

Nøkkelord

Beskrivelse

Addr

Nettverksadressen til en server som kjører en forekomst av SQL Server.

AnsiNPW

Angir bruken av ANSI-definert atferd for håndtering av NULL-sammenligninger, tegndatautfylling, advarsler og NULL-sammenkjeding (Ja eller Nei).

APP

Navnet på programmet som anroper SQLDriverConnect.

ApplicationIntent

Deklarerer belastningstypen for programmet når du kobler til en server (ReadOnly eller ReadWrite).

AttachDBFileName

Navnet på den primære filen for en tilkoblet database.

AutoTranslate

Angir om det skal sendes ANSI-tegn mellom klienten og serveren eller oversettes til Unicode (Ja eller Nei).

Database

Navnet på databasen. Beskrivelse Hensikten med tilkoblingen. Driver Navnet på driveren som returnert av SQLDrivers.

DSN

Navnet på en eksisterende ODBC-bruker eller systemdatakilde. Encrypt Angi om dataene skal krypteres før de sendes ut over nettverket (Ja eller Nei).

Failover_Partner

Navnet på failover-partnerserveren som skal brukes hvis det ikke er mulig å opprette en tilkobling til den primære serveren.

FailoverPartnerSPN

SPN for failover-partneren.

Fallback

Avskrevet nøkkelord.

FileDSN

Navnet på en eksisterende ODBC-fildatakilde. Språk SQL Server-språket.

MARS_Connection

Angir flere aktive resultatsett (MARS) på tilkoblingen til SQL Server 2005 (9.x) eller nyere (Ja eller Nei).

MultiSubnetFailover

Angir om en lytter for et SQL Server-tilgjengelighetsgruppe eller en failover-klyngeforekomst (Ja eller nei) skal kobles til en tilgjengelighetsgruppe.

Net

dbnmpntw angir navngitte datakanaler og dbmssocn angir TCP/IP.

PWD

Passordet for SQL Server-pålogging.

QueryLog_On

Angir logging av langvarige spørringer (Ja eller Nei).

QueryLogFile

Fullstendig bane og filnavn til en fil som skal brukes til å logge data i langvarige spørringer.

QueryLogTime

Tegnstreng for sifre som spesifiserer grensen (i millisekunder) for logging av langvarige spørringer.

QuotedId

Angir om SQL Server bruker ISO-reglene for bruk av anførselstegn i SQL-setninger (Ja eller Nei).

Regional

Angir om ODBC-driveren for SQL Server Native Client bruker klientinnstillinger ved konvertering av valuta-, dato- eller tidsdata til tegndata (Ja eller Nei).

SaveFile

Navnet på en ODBC-datakildefil som attributtene for gjeldende tilkobling lagres i, hvis tilkoblingen lykkes.

Server

Navnet på en SQL Server-forekomst: Server på nettverket, en IP-adresse eller Configuration Manager-alias.

ServerSPN

SPN for serveren.

StatsLog_On

Aktiverer registrering av ytelsesdata i ODBC-driveren for SQL Server Native Client.

StatsLogFile

Fullstendig bane og filnavn til en fil som brukes til å registrere ytelsesstatistikk for ODBC-driveren for SQL Server Native Client.

Trusted_Connection

Angir om Windows-godkjenningsmodus eller brukernavn eller passord for SQL Server brukes til godkjenning av pålogging (Ja eller Nei).

TrustServerCertificate

Når det brukes med kryptering, aktiveres kryptering ved bruk av et selvsignert serversertifikat.

UID

Påloggingsnavnet for SQL Server-pålogging.

UseProcForPrepare

Avskrevet nøkkelord.

WSID

Arbeidsstasjonens ID, nettverksnavnet for datamaskinen der programmet befinner seg.

Til toppen av siden

Sammendrag av OLE DB-nøkkelord

Tabellen nedenfor oppsummerer OLE DB-nøkkelord som gjenkjennes av SQL-servere og deres formål. Bare et delsett gjenkjennes i Access.

Nøkkelord

Beskrivelse

Addr

Nettverksadressen til en server som kjører en forekomst av SQL Server.

APP

Strengen som identifiserer programmet.

ApplicationIntent

Deklarerer belastningstypen for programmet når du kobler til en server (ReadOnly eller ReadWrite).

AttachDBFileName

Navnet på den primære filen for en tilkoblet database.

AutoTranslate

Konfigurerer oversetting av OEMER/ANSI-tegn (Sann eller Usann).

Tidsavbrudd ved tilkobling

Hvor lang tid (i sekunder) brukeren må vente før initialiseringen av datakilden er fullført.

Gjeldende språk

Navnet på SQL Server-språket.

Datakilde

Navnet på en forekomst av SQL Servier i organisasjonen.

Database

Navnet på databasen.

DataTypeCompatibility

Et tall som angir modus for datatypebehandling som skal brukes.

Encrypt

Angi om dataene skal krypteres før de sendes ut over nettverket (Ja eller Nei).

FailoverPartner

Navnet på failover-serveren som brukes for databasespeiling.

FailoverPartnerSPN

SPN for failover-partneren.

Første katalog

Navnet på databasen.

Opprinnelig filnavn

Navnet på den primære filen (inkludert fullstendig banenavn) for en tilkoblet database.

Integrert sikkerhet

Brukes for Windows-godkjenning (SSPI).

Språk

SQL Server-språket.

MarsConn

Angir flere aktive resultatsett (MARS) på tilkoblingen til SQL Server 2005 (9.x) eller nyere (Ja eller Nei).

Net

Nettverksbiblioteket som brukes til å opprette en tilkobling til en forekomst av SQL Server i organisasjonen.

Nettverksadresse

Nettverksadressen til en forekomst av SQL Server i organisasjonen.

PacketSize

Størrelse på nettverkspakke. Standardverdien er 4096.

Informasjon om fast sikkerhet

Angir om fast sikkerhet er aktivert (Sann eller Usann).

PersistSensitive

Angir om fast sensitiv er aktivert (Sann eller Usann).

Leverandør

Dette skal være SQLNCLI11 for SQL Server Native Client.

PWD

Passordet for SQL Server-pålogging.

Server

Navnet på en SQL Server-forekomst: Server på nettverket, en IP-adresse eller Configuration Manager-alias.

ServerSPN

SPN for serveren.

Timeout

Hvor lang tid (i sekunder) brukeren må vente før initialiseringen av datakilden er fullført.

Trusted_Connection

Angir om Windows-godkjenningsmodus eller brukernavn eller passord for SQL Server brukes til godkjenning av pålogging (Ja eller Nei).

TrustServerCertificate

Angir om et serversertifikat er godkjent (Sann eller Usann).

UID

Påloggingsnavnet for SQL Server-pålogging.

Bruke kryptering for data

Angi om dataene skal krypteres før de sendes ut over nettverket (Sann eller Usann).

UseProcForPrepare

Avskrevet nøkkelord.

WSID

Arbeidsstasjonens ID, nettverksnavnet for datamaskinen der programmet befinner seg.

Til toppen av siden

Se også

Administrere ODBC-datakilder

Administrere koblede tabeller

Bli bedre på Office
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Office Insiders

Var denne informasjonen nyttig?

Takk for tilbakemeldingen!

Takk for tilbakemeldingen! Det høres ut som det kan være lurt å sette deg i kontakt med én av våre Office-kundestøtteagenter.

×