Ansluta Access till SQL Server

Ansluta Access till SQL Server

Minns din ungdoms glada dagar när alfabetssoppa var ditt favoritmål. Håll kvar dessa glada tankar i bakhuvudet när vi tar några smakprov ur alfabetssoppans databasversion. I följande avsnitt får du veta mer om grunderna i hur du får tillgång till en databas med anslutningssträngar och hur du använder ett gränssnitt för databasprogrammering i VBA-koden för Access.

Dataåtkomstkomponenter

Artikelinnehåll

Använda ODBC-drivrutin eller OLE DB-provider

Anslut programmässigt till SQL Server från Access

Sammanfattning av ODBC-drivrutinens versioner

Sammanfattning av OLE DB-providerversioner

Sammanfattning av ODBC-nyckelord

Sammanfattning av OLE DB-nyckelord

Använda ODBC-drivrutin eller OLE DB-provider

Anslutningssträngar har funnits länge. Du kan definiera en formaterad anslutningssträng antingen i Access användargränssnitt eller i VBA-kod. En anslutningssträng (vare sig det handlar om ODBC eller OLE DB) skickar information direkt till databasen, till exempel serverplats, databasnamn, typ av säkerhet samt andra användbara alternativ. Till exempel:

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

Från början fanns SQL Server Native Client (SNAC), ett fristående bibliotek som innehöll ODBC- och OLEDB-teknologi, och som fortfarande finns tillgängligt för SQL Server-versionerna 2005 till 2012. Många tidigare program använde SNAC och stöds fortfarande för bakåtkompatibilitet, men vi rekommenderar inte att du använder det för utveckling av nya program. Du bör använda senare individuella, nedladdningsbara versioner av ODBC-drivrutinerna.

ODBC-drivrutiner

ODBC (Open Database Connectivity) är ett protokoll som du använder för att ansluta en Access-databas till en extern datakälla, till exempel Microsoft SQL Server. Vanligtvis använder du fildatakällor (även kallade DSN-filer) för att lägga till en anslutningssträng. Detta innebär att nyckelordet FILEDSN används för anslutningssträngen eller lagras i registret, varvid DSN-nyckelordet används. Du kan också använda VBA för att ange dessa egenskaper genom att använda en DSN-lös anslutningssträng.

Under åren har ODBC-drivrutinerna levererats i tre faser:

  • Före 2005 levererades ODBC-drivrutinerna med Windows Data Access Components (WDAC), som från början kallades för Microsoft Data Access Components (MDAC). Komponenterna levereras fortfarande med Windows för bakåtkompatibilitet. Mer information finns i Microsoft eller Windows Data Access Components.

  • ODBC-drivrutiner medföljer SNAC för SQL Server 2005 till SQL Server 2012.

  • Efter SQL Server 2012 har ODBC-drivrutinerna levererats individuellt och innehåller stöd för nya SQL Server-funktioner.

Undvik att använda ODBC-drivrutiner från de två första faserna till nyutveckling. Använd ODBC-drivrutiner från den tredje fasen.

OLE DB-providers

OLE DB (objektlänkning och inbäddning, databas) är ett nyare protokoll som du använder för att ansluta en Access-databas till en extern datakälla, till exempel Microsoft SQL Server. OLE DB kräver inte DSN, och ger även fullständig åtkomst till ODBC-datakällor och ODBC-drivrutiner.

Tips    Vanligtvis använder du dialogrutan Datalänkegenskaper för att lägga till en OLE DB-anslutningssträng. Även om det inte går att öppna dialogrutan Datalänkegenskaper från Access, så kan du skapa en tom .txt-fil i Utforskaren, byta filtyp till .udl och sedan dubbelklicka på filen. När du har skapat en anslutningssträng ändrar du filtypen tillbaka till .txt.

Under åren har OLE DB-providers levererats i tre faser:

  • Före 2005 levererades OLE DB-providers med Windows Data Access Components (WDAC), som från början kallades för Microsoft Data Access Components (MDAC).

  • OLE DB-providers levererades med SQL Server 2005 till SQL Server 2017. De utfasades år 2011.

  • År 2017 började SQL Server OLE DB-providern att användas igen.

Den rekommenderade versionen just nu för utveckling av nya lösningar är OLE DB Driver 18 för SQL Server.

Optimera prestanda med en ODBC-anslutningssträng

Optimera prestanda genom att minimera nätverkstrafiken och minska åtkomsten för flera användare till SQL Server-databasen. Använd så få anslutningssträngar som möjligt genom att dela anslutningssträngar över flera postuppsättningar. Även om Ace helt enkelt llämnar över en anslutningssträng till servern kan den förstå och använda följande nyckelord: DSN, databas, UID, PWD och DRIVER bidrar till att minimera klient/server-kommunikation.

Obs!    Om en ODBC-anslutning till en extern datakälla går förlorad försöker Access automatiskt att ansluta till den igen. Om försöket lyckas kan du fortsätta att arbeta. Om försöket misslyckas kan du fortfarande arbeta med objekt som inte är beroende av anslutningen. När du vill återansluta måste du stänga och öppna Access igen.

Rekommendationer när du använder både ODBC och OLE DB

Undvik att kombinera anslutningssträng och teknologier för databasåtkomst. Använd en ODBC-anslutningssträng för DAO. Använd en OLE DB-anslutningssträng för ADO. Om programmet innehåller VBA-kod där både DAO och ADO används, använder du ODBC-drivrutinen för DAO och OLE DB-providern för ADO. Sträva efter att få de senaste funktionerna och stöd för både ODBC respektive OLEDB.

ODBC använder termen drivrutin och OLE DB använder termen provider. Termerna beskriver samma typ av programvarukomponent men är inte utbytbara i syntaxen för anslutningssträngar. Använd rätt värde enligt anvisning.

Överst på sidan

Anslut programmässigt till SQL Server från Access

Det finns två huvudsakliga sätt att ansluta programmässigt till en SQL Server-databas från Access.

DAO

Ett Data Access-objekt (DAO) tillhandahåller ett abstrakt gränssnitt till en databas. Microsoft Data Access Objects (DAO) är den inbyggda modellen för programmeringsobjekt som går på djupet med Access och SQL Server och skapar, tar bort, ändrar och visar objekt, tabeller, fält, index, relationer, frågor, egenskaper och externa databaser.

Mer information finns i Microsoft Data Access Objects reference.

ADO

ActiveX Data Objects (ADO) tillhandahåller en programmeringsmodell på hög nivå och är tillgänglig i Access genom en referens till ett tredje parts bibliotek. ADO är enkelt att lära sig och tillåter klientprogram att få åtkomst till och hantera data från en mängd olika källor, däribland Access och SQL Server. Dess främsta fördelar är enkel användning, snabbhet, låg minnesbelastning och låga krav på diskutrymme. ADO har även stöd för nyckelfunktioner för bygg-och webbaserade program.

Mer information finns i Microsoft ActiveX Data Objects reference och Microsoft ActiveX Data Objects (ADO).

Vilken ska du välja?

I en Access-lösning som använder VBA-kod kan du använda DAO, ADO eller båda två som gränssnittsteknik för din databas. DAO är fortfarande standard i Access. Exempel: alla formulär och rapporter och Access-frågor använder DAO. Men när du migrerar till SQL Server bör du överväga att använda ADO för att effektivisera din lösning. Här följer allmänna riktlinjer som hjälper dig att bestämma när du ska använda DAO respektive ADO.

Använd DAO när du vill:

  • Skapa ett bundet formulär för läsning/skrivning utan att använda VBA.

  • Fråga för lokala tabeller.

  • Ladda ned data i temporära tabeller.

  • Använd direktfrågor som datakällor för rapporter eller formulär i skrivskyddat läge.

  • Definiera och använd ett TableDef- eller QueryDef-objekt i VBA.

Använd ADO när du vill:

  • Använd extra sätt att optimera, till exempel utföra asynkrona åtgärder.

  • Kör DDL- och DML-direktfrågor.

  • Nå data från SQL Server direkt genom postuppsättningar i VBA.

  • Skriv enklare kod för vissa aktiviteter, till exempel strömning av blobbar.

  • Anropa en lagrad procedur direkt med parametrar genom att använda ett kommandoobjekt i VBA.

Överst på sidan

Sammanfattning av ODBC-drivrutinens versioner

I följande tabell sammanfattas viktig information om ODBC-drivrutiner och versioner, nedladdningsplatser och funktionsstöd. Kontrollera att du använder rätt bit-version (64-bitars eller 32-bitars) av drivrutinen baserat på Windows och inte Office. Om du använder 32-bitarsversionen av Access i 64-bitarsversionen av Windows måste du installera 64-bitars drivrutiner, som innehåller de 32-bitars komponenter som krävs för Access.

Mer information finns i Använda nyckelord för anslutningssträng med SQL Server Native Client, Viktig information om ODBC till SQL Server i Windows (v.17), och Funktioner i Microsoft ODBC-drivrutinen för SQL Server i Windows (v.13,11).

ODBC-drivrutiner

Version

Ladda ned

Nya funktioner

ODBC-drivrutiner 17.0 till 17.3

SQL Server 2017

Ladda ned

ODBC-drivrutiner 17.3

Använda Azure Active Directory med ODBC-drivrutinen

Begränsningar i ODBC-drivrutinen när Always Encrypted används

Använda XA-transaktioner

ODBC-drivrutin 17.2

Använda Always Encrypted med ODBC-drivrutinen för SQL Server

Dataklassificering

UTF-8 server-kodning med stöd för sortering och Unicode

ODBC-drivrutin 17.1

Använda Always Encrypted med ODBC-drivrutinen för SQL Server

ODBC-drivrutin 17.0

Always Encrypted

UseFMTONLY    Om du vill använda äldre metadata i särskilda fall som kräver tillfälliga tabeller. Se Viktig information om ODBC till SQL Server i Windows

Skillnader vid användning av hanterade instanser (ODBC version 17)

ODBC-drivrutin 13.1

SQL Server 2016 SP1, SQL Azure

Ladda ned

Always Encrypted

Azure Active Directory

Grupper för AlwaysOn-tillgänglighet

Faktormedveten anslutningspool i ODBC-drivrutinen för SQL Server

ODBC-drivrutin 13.0

SQL Server 2016

Ladda ned

Internationaliserat domännamn (IDN)

ODBC-drivrutin 11.0

SQL Server 2005 till 2012

Ladda ned

Anslutningspool för drivrutiner

Anslutningsåterhämtning i Windows ODBC-drivrutinen

Asynkron körning

Service Principal-namn (SPN) i klientanslutningar (ODBC)

Funktioner i Microsoft ODBC-drivrutinen för SQL Server i Windows

Överst på sidan

Sammanfattning av OLE DB-providerversioner

I följande tabell sammanfattas viktig information om OLE DB-providerversioner, nedladdningsplatser och funktionsstöd. Kontrollera att du använder rätt bit-version (64-bitars eller 32-bitars) av drivrutinen baserat på Windows och inte Office. Om du använder 32-bitarsversionen av Access i 64-bitarsversionen av Windows måste du installera 64-bitars drivrutiner, som innehåller de 32-bitars komponenter som krävs för Access.

For more information, MEr information finns i Använda nyckelord för anslutningssträng med SQL Server Native Client.

OLE DB-provider

Version

Ladda ned

Nya funktioner

OLE DB-drivrutin 18.2.1

(MSOLEDBSQL)

SQL Server 2017

Ladda ned

Se OLE DB-drivrutin för funktionen SQL Server och Viktig information om Microsoft OLE DB-drivrutin för SQL Server

SQL Server Native Client (SQLNCLI)

SQL Server 2005 till 2012

Inaktuell, använd inte

OLE DB-drivrutin (SQLOLEDB)

Inaktuell, använd inte

Överst på sidan

Sammanfattning av ODBC-nyckelord

I tabellen nedan sammanfattas de ODBC-nyckelord som identifieras av SQL Server och deras syfte. Endast en delmängd identifieras av Access.

Nyckelord

Beskrivning

Addr

Nätverksadressen för servern som kör en instans av SQL Server.

AnsiNPW

Anger användningen av ANSI-definierade beteenden för hantering av NULL-jämförelser, utfyllnad av tecken, varningar och NULL-sammanfogning (Ja eller Nej).

APP

Namnet på programmet som anropar SQLDriverConnect.

ApplicationIntent

Förklarar typ av arbetsbelastning för program när du ansluter till en server (ReadOnly eller ReadWrite).

AttachDBFileName

Namnet på den primära filen i en bifogningsbar databas.

AutoTranslate

Anger om ANSI-teckensträngar ska skickas mellan klienten eller servern eller konverteras till Unicode (Ja eller Nej).

Databas

Databasnamnet. Beskrivning Syftet med anslutningen. Drivrutin Namnet på drivrutinen som returneras av SQLDrivers.

DSN

Namn på en befintlig ODBC-användare eller systemdatakälla. Kryptera Anger om data ska krypteras innan de skickas över nätverket (Ja eller Nej).

Failover_Partner

Servernamnet på redundanspartnern som ska användas om det inte går att ansluta till den primära servern.

FailoverPartnerSPN

SPN för redundanspartnern.

Reserv

Inaktuellt sökord.

FileDSN

Namn på en befintlig ODBC-datakälla. Språk SQL Server-språket.

MARS_Connection

Anger flera aktiva resultatuppsättningar (MARS) för anslutningen för SQL Server 2005 (9. x) eller senare (Ja eller Nej).

MultiSubnetFailover

Anger om du vill ansluta till tillgänglighetsgruppens lyssnare för en tillgänglighetsgrupp i SQL Server eller en instans av redundanskluster (Ja eller Nej).

Net

dbnmpntw indicates named pipes and dbmssocn indicates TCP/IP.

PWD

Lösenordet för inloggning till SQL Server.

QueryLog_On

Anger loggning av långvariga frågor (Ja eller Nej).

QueryLogFile

En fil med fullständiga sökvägar och filnamn som används för att logga data i långvariga frågor.

QueryLogTime

Teckensträng med siffror som anger tröskelvärdet (i millisekunder) vid loggning av långvariga frågor.

QuotedId

Anger om SQL Server använder ISO-regler vid användning av citattecken i SQL-uttryck (Ja eller Nej).

Regional

Anger om ODBC-drivrutinen för SQL Server Native Client använder klientinställningar vid konvertering av valuta-, datum-eller tidsdata till teckendata (Ja eller Nej).

SaveFile

Namn på en ODBC-datakälla där attributen för den aktuella anslutningen sparas om anslutningen lyckas.

Server

Namnet på en SQL Server-instans: Server i nätverket, IP-adress eller alias för Konfigurationshanteraren.

ServerSPN

SPN för servern.

StatsLog_On

Gör det möjligt att samla in prestandadata i SQL Server Native Client.

StatsLogFile

Fullständiga sökvägar och filnamn på en fil som används för registrering av prestandastatistik för ODBC-drivrutiner för SQL Server Native Client.

Trusted_Connection

Anger om Windows-autentiseringsläge eller användarnamn eller lösenord för SQL Server används för inloggningsverifiering (Ja eller Nej).

TrustServerCertificate

Med Kryptera kan kryptering användas med ett självsignerat servercertifikat.

UID

Inloggningsnamnet för SQL Server.

UseProcForPrepare

Inaktuellt sökord.

WSID

Identifierare för arbetsstationen, nätverksnamnet på den dator där programmet finns.

Överst på sidan

Sammanfattning av OLE DB-nyckelord

I tabellen nedan sammanfattas de OLE DB-nyckelord som identifieras av SQL Server och deras syfte. Endast en delmängd identifieras av Access.

Nyckelord

Beskrivning

Addr

Nätverksadressen för servern som kör en instans av SQL Server.

APP

Sträng som identifierar programmet.

ApplicationIntent

Förklarar typ av arbetsbelastning för program när du ansluter till en server (ReadOnly eller ReadWrite).

AttachDBFileName

Namnet på den primära filen i en bifogningsbar databas.

AutoTranslate

Konfigurerar översättning av OEM/ANSI-tecken (Sant eller Falskt).

Anslutningstimeout

Den tid (i sekunder) det tar för initiering av datakällan att slutföras.

Aktuellt språk

Namnet på SQL Server-språket.

Datakälla

Namnet på en instans av SQL Server i organisationen.

Databas

Databasnamnet.

DataTypeCompatibility

Ett tal som anger vilken typ av datatypshantering som kommer att användas.

Kryptera

Anger om data ska krypteras innan de skickas över nätverket (Ja eller Nej).

FailoverPartner

Namnet på den failover-server som används för databasspegling.

FailoverPartnerSPN

SPN för redundanspartnern.

Första katalogen

Databasnamnet.

Första filnamn

Namnet på den primära filen (inklusive fullständig sökväg) för en bifogningsbar databas.

Integrerad säkerhet

Används för Windows-autentisering (SSPI).

Språk

SQL Server-språket.

MarsConn

Anger flera aktiva resultatuppsättningar (MARS) för anslutningen för SQL Server 2005 (9. x) eller senare (Ja eller Nej).

Net

Nätverksbiblioteket som används för att upprätta en anslutning till en instans av SQL Server i organisationen.

Nätverksadress

Nätverksadressen på en instans av SQL Server i organisationen.

PacketSize

Storlek på nätverkspaket. Standardvärdet är 4096.

Spara säkerhetsinformation

Anger om persist security är aktiverat (Sant eller Falskt).

PersistSensitive

Anger om persist sensitive är aktiverat (Sant eller Falskt).

Provider

För SQL Server Native Client ska detta vara SQLNCLI11.

PWD

Lösenordet för inloggning till SQL Server.

Server

Namnet på en SQL Server-instans: Server i nätverket, IP-adress eller alias för Konfigurationshanteraren.

ServerSPN

SPN för servern.

Timeout

Den tid (i sekunder) det tar för initiering av datakällan att slutföras.

Trusted_Connection

Anger om Windows-autentiseringsläge eller användarnamn eller lösenord för SQL Server används för inloggningsverifiering (Ja eller Nej).

TrustServerCertificate

Anger om ett servercertifikat verifieras (Sant eller Falskt).

UID

Inloggningsnamnet för SQL Server.

Använd kryptering för data

Anger om data ska krypteras innan de skickas över nätverket (Sant eller Falskt).

UseProcForPrepare

Inaktuellt sökord.

WSID

Identifierare för arbetsstationen, nätverksnamnet på den dator där programmet finns.

Överst på sidan

Mer information finns i

Administrera ODBC-datakällor

Hantera länkade tabeller

Utöka dina Office-kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×