Greifen Sie auf SQL Server-Verbindungen zu (2023)

Denken Sie an die glücklicheren Tage Ihrer Kindheit zurück, als Sie viel Spaß mit Ihrer Buchstabensuppe hatten. Behalten Sie diese Erinnerungen im Hinterkopf, wenn wir die Datenbankversion von Alphabet Soup erkunden und testen. In den folgenden Abschnitten werden die Grundlagen des Zugriffs auf eine Datenbank mithilfe von Verbindungszeichenfolgen und der Verwendung der Datenbank-API in Ihrem Access VBA-Code beschrieben.

Greifen Sie auf SQL Server-Verbindungen zu (1)

Inhalt dieses Artikels

Verwendung eines ODBC-Treibers oder OLE DB-Anbieters

Programmschnittstelle mit SQL Server über Access

Zusammenfassung der ODBC-Treiberversion

Zusammenfassung der OLE DB-Anbieterversionen

Übersicht über ODBC-Schlüsselwörter

Übersicht über OLE DB-Schlüsselwörter

Verwendung eines ODBC-Treibers oder OLE DB-Anbieters

Verbindungszeichenfolgen gibt es schon seit einiger Zeit. Eine formatierte Verbindungszeichenfolge kann über die Access-Benutzeroberfläche oder im VBA-Code definiert werden. Eine Verbindungszeichenfolge (entweder ODBC oder OLE DB) übergibt Informationen direkt an die Datenbank, z. B. Serverstandort, Datenbankname, Sicherheitstyp und andere nützliche Optionen. Beispiel:

ODBC;DRIVER=SQL Server;SERVER="MiServidor";DATABASE="MyHRdb";TRUSTED_CONNECTION=Sí
Provider=SQLOLEDB;Data Source=MyServer;Home Catalog=MyHRdb; Integrierte Sicherheit=SSPI;

Zuerst gab es SQL Server Native Client (SNAC), eine eigenständige Bibliothek, die ODBC- und OLEDB-Technologien umfasste und immer noch für die SQL Server-Versionen 2005 bis 2012 verfügbar ist. Viele ältere Anwendungen nutzten SNAC und es wird immer noch für Abwärtskompatibilitätsversionen unterstützt, ist es aber Es wird nicht empfohlen, es für die Entwicklung neuer Anwendungen zu verwenden. Zum Herunterladen müssen Sie neuere Versionen der ODBC-Treiber verwenden.

odbc-Treiber

Open Database Connectivity (ODBC) ist ein Protokoll, mit dem eine Verbindung zwischen einer Access-Datenbank und einer externen Datenquelle wie Microsoft SQL Server hergestellt werden kann. Dateidatenquellen (auch als DSN-Dateien bezeichnet) werden normalerweise zum Hinzufügen einer Verbindungszeichenfolge verwendet. In diesem Fall wird das Schlüsselwort FILEDSN in der Verbindungszeichenfolge verwendet, während das Schlüsselwort DSN beim Speichern in der Registrierung verwendet wird. Alternativ können Sie VBA verwenden, um diese Eigenschaften mithilfe der Verbindungszeichenfolge „Kein DSN“ festzulegen.

Im Laufe der Jahre gab es bei der Veröffentlichung von ODBC-Treibern drei Phasen:

  • Vor 2005 wurden ODBC-Treiber mit Windows Data Access Components (WDAC) ausgeliefert, ursprünglich Microsoft Data Access Components (MDAC) genannt. Aus Gründen der Abwärtskompatibilität sind diese Komponenten weiterhin in Windows integriert. Weitere Informationen finden Sie unterMicrosoft Windows-Datenzugriffskomponenten.

  • ODBC-Treiber werden mit SNAC für SQL Server 2005 bis SQL Server 2012 ausgeliefert.

  • Ab SQL Server 2012 werden ODBC-Treiber separat geliefert und unterstützen neue SQL Server-Funktionen.

ODBC-Treiber aus den ersten beiden Phasen sollten nicht für Neuentwicklungen verwendet werden. Verwenden Sie stattdessen ODBC-Treiber von Drittanbietern.

OLEDB-Dienstleister

Object Database Linking and Embedding (OLE DB) ist ein neueres Protokoll, mit dem eine Verbindung zwischen einer Access-Datenbank und einer externen Datenquelle wie Microsoft SQL Server hergestellt werden kann. OLE DB erfordert keinen DSN und bietet außerdem vollständigen Zugriff auf ODBC-Datenquellen und ODBC-Treiber.

BeratungNormalerweise ist der Dialog fürEigenschaften der DatenverbindungWird zum Hinzufügen einer OLE DB-Verbindungszeichenfolge verwendet. Obwohl es keine Möglichkeit gibt, einen Dialog zu führenEigenschaften der Datenverbindungaus Access, aber Sie können eine leere TXT-Datei im Windows Explorer erstellen, den Dateityp in .udl ändern und dann auf die Datei doppelklicken. Erstellen Sie eine Reihe von Links und setzen Sie dann den Dateityp wieder auf .txt.

Im Laufe der Jahre gab es bei der Bereitstellung von OLE DB-Anbietern drei Phasen:

  • Vor 2005 umfassten OLE DB-Anbieter Windows Data Access Components (WDAC), ursprünglich Microsoft Data Access Components (MDAC) genannt.

  • OLE DB-Anbieter sind in SNAC für SQL Server 2005 bis SQL Server 2017 enthalten. Der Support endete 2011.

  • Ab 2017 wird der OLE DB Provider für SQL Server wieder unterstützt.

Die derzeit empfohlene Version für die Entwicklung neuer Lösungen ist OLE DB Driver 18 für SQL Server.

Optimieren der Leistung mit einer ODBC-Verbindungszeichenfolge

Verwenden Sie so wenige Verbindungszeichenfolgen wie möglich, um die Leistung zu optimieren, den Netzwerkverkehr zu reduzieren und den Zugriff mehrerer Benutzer auf eine SQL Server-Datenbank zu reduzieren, indem Sie Verbindungszeichenfolgen auf mehrere Recordsets aufteilen. Obwohl der ACE nur die Verbindungszeichenfolge an den Server übergibt, versteht und verwendet er die folgenden Schlüsselwörter: DSN, DATABASE, UID, PWD und DRIVER, um die Kommunikation zwischen dem Client und dem Server zu minimieren.

BeachtenWenn die ODBC-Verbindung zu einer externen Datenquelle verloren geht, versucht Access automatisch, die Verbindung wiederherzustellen. Wenn die Wiederherstellung erfolgreich ist, können Sie weiterarbeiten. Wenn dies fehlschlägt, können Sie mit verbindungsunabhängigen Objekten weiterarbeiten. Um die Verbindung wiederherzustellen, schließen Sie Access und öffnen Sie es erneut.

Empfehlungen zur Verwendung von ODBC und OLE DB

Vermeiden Sie die Vermischung von Verbindungszeichenfolgen und Datenbankzugriffstechnologien. Verwenden Sie eine ODBC-Verbindungszeichenfolge für das DAO. Verwenden Sie ein Array von OLE DB-Verbindungen für ADO. Wenn Ihre Anwendung VBA-Code enthält, der DAO und ADO verwendet, verwenden Sie den ODBC-Treiber für DAO und den OLE DB-Anbieter für ADO. Aktualisieren Sie nach Möglichkeit die Funktionen und die Unterstützung für ODBC und OLE DB.

ODBC verwendet den Begriff Treiber und OLE DB den Begriff Anbieter. Die Begriffe beschreiben denselben Typ von Softwarekomponente, sind jedoch in der Verbindungszeichenfolgensyntax nicht austauschbar. Verwenden Sie den korrekten Wert wie dokumentiert.

ganz oben auf der Seite

Programmschnittstelle mit SQL Server über Access

Grundsätzlich gibt es zwei Möglichkeiten, über Access programmgesteuert eine Verbindung zu einer SQL Server-Datenbank herzustellen.

DAO

Ein Data Access Object (DAO) stellt eine abstrakte Schnittstelle zu einer Datenbank bereit. Microsoft Data Access Objects (DAO) ist ein natives Objektprogrammiermodell, mit dem Sie Objekte, Tabellen, Felder, Indizes, Beziehungen, Abfragen, Eigenschaften und externe Datenbanken im Herzen von Access und SQL Server erstellen, löschen, ändern und auflisten können.

Weitere Informationen finden Sie unterEine Microsoft Data Access-Objektreferenz.

ALHARACA

ActiveX-Datenobjekte (ADO) stellen ein Programmiermodell auf hoher Ebene bereit und sind in Access durch Verweis auf eine Bibliothek eines Drittanbieters verfügbar. ADO ist leicht zu erlernen und ermöglicht Clientanwendungen den Zugriff auf und die Bearbeitung von Daten aus einer Vielzahl von Quellen, einschließlich Access und SQL Server. Seine Hauptvorteile sind Benutzerfreundlichkeit, hohe Geschwindigkeit und geringer Speicher- und Festplattenbedarf. ADO unterstützt auch die wichtigsten Funktionen zum Erstellen von Webanwendungen.

Weitere Informationen finden Sie unterMicrosoft ActiveX-Datenobjekte – ReferenzGMicrosoft ActiveX-Datenobjekte (ADO).

Was solltest du anziehen?

In einer Access-Lösung, die VBA-Code verwendet, können Sie DAO, ADO oder beide als Datenbankschnittstellentechnologie verwenden. DAO ist immer noch die Standardoption in Access. Beispielsweise verwenden alle Access-Formulare, -Berichte und -Abfragen DAOs. Wenn Sie jedoch auf SQL Server migrieren, wird die Verwendung von ADO empfohlen, um Ihre Lösung effizienter zu gestalten. Hier sind einige allgemeine Richtlinien, die Ihnen bei der Entscheidung helfen sollen, ob Sie DAO oder ADO verwenden sollten.

Verwenden Sie DAO, um:

  • Erstellen Sie ein Formular mit Lese-/Schreibzugriff, ohne VBA zu verwenden.

  • Lokale Tabellen abfragen.

  • Laden Sie Daten in temporäre Tabellen herunter.

  • Verwenden Sie Schrittabfragen als Datenquellen für Berichte oder Formulare im schreibgeschützten Modus.

  • Definieren und verwenden Sie ein TableDef- oder QueryDef-Objekt in VBA.

Verwenden Sie ADO, um:

  • Durch die Nutzung zusätzlicher Optimierungsmöglichkeiten, z.B. B. Durchführen asynchroner Vorgänge.

  • Führen Sie DDL- und DML-Pass-Abfragen aus.

  • Direkter Zugriff auf SQL Server-Daten über Recordsets in VBA.

  • Schreiben Sie einfacheren Code für bestimmte Aufgaben, z. B. Blob-Streaming.

  • Rufen Sie eine gespeicherte Prozedur direkt mithilfe von Parametern über das Befehlsobjekt in VBA auf.

ganz oben auf der Seite

Zusammenfassung der ODBC-Treiberversion

Die folgende Tabelle fasst wichtige Informationen zu ODBC-Treiberversionen, Download-Speicherorten und Funktionsunterstützung zusammen. Stellen Sie sicher, dass Sie die richtige Bit-Version (64-Bit oder 32-Bit) des Windows-basierten Treibers verwenden, nicht Office. Wenn Sie 32-Bit-Access unter 64-Bit-Windows verwenden, installieren Sie die 64-Bit-Treiber, die die 32-Bit-Komponenten enthalten, die Access benötigt.

Weitere Informationen finden Sie unterVerwenden von Schlüsselwörtern für Verbindungszeichenfolgen mit einem nativen SQL Server-Client,Versionshinweise zu ODBC für SQL Server unter Windows (V17).GFunktionen des Microsoft ODBC-Treibers für SQL Server unter Windows (v13.11).

odbc-Treiber

Ausführung

Herunterladen

neue Funktion

ODBC-Treiber 17.0 bis 17.3

Server SQL 2017

Herunterladen

ODBC-Treiber 17.3

Verwendung von Azure Active Directory mit dem ODBC-Treiber

Einschränkungen des ODBC-Treibers bei Verwendung von „Immer verschlüsselt“

Verwendung von XA-Transaktionen

ODBC 17.2-Treiber

Verwenden von Always Encrypted mit dem ODBC-Treiber für SQL Server

Datenklassifizierung

UTF-8-Serverkodierung mit Sortierung und Unicode-Unterstützung

ODBC 17.1-Treiber

Verwenden von Always Encrypted mit dem ODBC-Treiber für SQL Server

ODBC-Treiber 17.0

immer verschlüsselt

UsarFMONLYVerwenden Sie Legacy-Metadaten in Sonderfällen, die temporäre Tabellen erfordern. beratenVersionshinweise zu ODBC für SQL Server unter Windows.

Unterschiede bei der Verwendung verwalteter Instanzen (ODBC Version 17)

ODBC 13.1-Treiber

SQL Server 2016 SP1, SQL Azure

Herunterladen

immer verschlüsselt

Azure Active Directory

Always On-Verfügbarkeitsgruppen

Treiberunterstützte Verbindungen im ODBC-Treiber für SQL Server speichern

ODBC 13.0-Treiber

Server SQL 2016

Herunterladen

Internationalisierter Domainname (Nombre de dominio internationalizado, IDN)

ODBC 11.0-Treiber

Server SQL 2005 bis 2012

Herunterladen

Speichern der Controller-Verbindung

Verbindungspersistenz im Windows ODBC-Treiber

asynchrone Ausführung

Dienstprinzipalnamen (SPNs) in Clientverbindungen (ODBC)

Funktionen des Microsoft ODBC-Treibers für SQL Server unter Windows

ganz oben auf der Seite

Zusammenfassung der OLE DB-Anbieterversionen

Die folgende Tabelle fasst wichtige Informationen zu OLE DB-Anbieterversionen, Download-Speicherorten und Funktionsunterstützung zusammen. Stellen Sie sicher, dass Sie die richtige Bit-Version (64-Bit oder 32-Bit) des Windows-basierten Treibers verwenden, nicht Office. Wenn Sie 32-Bit-Access unter 64-Bit-Windows verwenden, installieren Sie die 64-Bit-Treiber, die die 32-Bit-Komponenten enthalten, die Access benötigt.

Weitere Informationen finden Sie unterVerwenden von Schlüsselwörtern für Verbindungszeichenfolgen mit einem nativen SQL Server-Client.

OLEDB-Dienstleister

Ausführung

Herunterladen

neue Funktion

OLE DB-Treiber 18.2.1

(MSOLEDBSQL)

Server SQL 2017

Herunterladen

OLE DB-Treiber für SQL Server-FunktionGVersionshinweise zum Microsoft OLE DB-Treiber für SQL Server.

SQL Server Native Client (SQLNCLI)

Server SQL 2005 bis 2012

veraltet, nicht verwenden

OLEDB-Steuerung (SQLOLEDB)

veraltet, nicht verwenden

ganz oben auf der Seite

Übersicht über ODBC-Schlüsselwörter

Die folgende Tabelle fasst die von SQL Server erkannten ODBC-Schlüsselwörter und ihren Zweck zusammen. Access erkennt nur eine Teilmenge.

Stichwort

Beschreibung

Adresse

Die Netzwerkadresse des Servers, auf dem die Instanz von SQL Server ausgeführt wird.

AnxiNPW

Gibt die Verwendung von ANSI-definierten Verhaltensweisen für die Behandlung von Nullvergleichen, Zeichenauffüllungen, Warnungen und Nullverkettungen an (ja oder nein).

ANWENDUNG

Der Name der Anwendung, die SQLDriverConnect aufruft.

Anwendungsabsicht

Deklariert die Art der Anwendungslast beim Herstellen einer Verbindung zum Server (schreibgeschützt oder schreibgeschützt).

Hängen Sie den Namen der DB-Datei an

Der Name der Hauptdatenbankdatei, die angehängt werden kann.

Automatische Übersetzung

Gibt an, ob ANSI-Zeichenfolgen zwischen dem Client oder Server übertragen oder in Unicode übersetzt werden (Ja oder Nein).

Datenbank

Name der Datenbank. Beschreibung Zweck der Verbindung. Treiber Der Name des von SQLDrivers zurückgegebenen Treibers.

DSN

Der Name einer vorhandenen ODBC-Benutzer- oder Systemdatenquelle. Verschlüsselung Zeigt an, ob die Daten verschlüsselt werden, bevor sie über das Netzwerk gesendet werden (Ja oder Nein).

Failover-Partner

Der Name des Upgrade-Partnerservers, der verwendet werden soll, wenn der primäre Server nicht kontaktiert werden kann.

SPN-Failover-Partner

SPN des Upgrade-Partners.

zurück

Veraltetes Schlüsselwort.

ArchivoDSN

Der Name einer vorhandenen ODBC-Dateidatenquelle. Sprachname der SQL Server-Sprache.

MARS_Verbindung

Definiert die Verwendung mehrerer aktiver Ergebnismengen (MARS) in SQL Server 2005 (9.x) oder höher (Ja oder Nein).

Failover mehrerer Subnetze

Gibt an, ob eine Verbindung (Ja oder Nein) mit dem Verfügbarkeitsgruppen-Listener der SQL Server-Verfügbarkeitsgruppe oder der Upgrade-Cluster-Instanz hergestellt werden soll.

Neto

dbnmpntw gibt Named Pipes an und dbmssocn gibt TCP/IP an.

PCD

Passwort für die Anmeldung bei SQL Server.

ConsultaLog_On

Gibt die Protokollierung langer Abfragen an (Ja oder Nein).

Protokolldatei abfragen

Der vollständige Pfad und Name der Datei, die zum Protokollieren der langen Abfragedaten verwendet wird.

Protokollzeit abfragen

Eine Zeichenfolge, die den Schwellenwert (in Millisekunden) für die Protokollierung langer Abfragen angibt.

Die angegebene ID

Gibt an, ob SQL Server die ISO-Regeln bezüglich der Verwendung von Anführungszeichen in SQL-Anweisungen befolgen soll (Ja oder Nein).

Regional

Gibt an, ob der SQL Server Native Client ODBC-Treiber Clienteinstellungen verwendet, wenn er Währungs-, Datums- oder Zeitdaten in Zeichendaten umwandelt (Ja oder Nein).

Speicher die Datei

Der Name der ODBC-Datenquellendatei, die die Attribute der aktuellen Verbindung speichert, wenn die Verbindung erfolgreich ist.

Server

Name der SQL Server-Instanz: Server im Netzwerk, IP-Adresse oder Alias ​​des Konfigurationsmanagers.

SPN des Servers

SPN des Servers.

Statistiken Login_On

Ermöglicht die Protokollierung von Leistungsdaten im SQL Server Native Client ODBC-Treiber.

Dnevnik-Statistiken

Der vollständige Pfad und Name der Datei, die zum Aufzeichnen der Leistungsstatistiken des SQL Server Native Client-ODBC-Treibers verwendet wird.

vertrauenswürdige_Verbindung

Gibt an, ob die Windows-Authentifizierungsmethode oder der SQL Server-Benutzername und das Kennwort für die Anmeldeüberprüfung verwendet werden sollen (Ja oder Nein).

Vertrauenswürdiges Serverzertifikat

Bei Verwendung mit Verschlüsselung wird die Verschlüsselung durch das selbstsignierte Zertifikat des Servers aktiviert.

UID

SQL Server-Anmeldename.

UsarProcForPrepare

Veraltetes Schlüsselwort.

WSID

Workstation-ID, Netzwerkname des Computers, auf dem sich die Anwendung befindet.

ganz oben auf der Seite

Übersicht über OLE DB-Schlüsselwörter

Die folgende Tabelle fasst die von SQL Server erkannten OLE DB-Schlüsselwörter und ihren Zweck zusammen. Access erkennt nur eine Teilmenge.

Stichwort

Beschreibung

Adresse

Die Netzwerkadresse des Servers, auf dem die Instanz von SQL Server ausgeführt wird.

ANWENDUNG

Eine Zeichenfolge, die die Anwendung identifiziert.

Anwendungsabsicht

Deklariert die Art der Anwendungslast beim Herstellen einer Verbindung zum Server (schreibgeschützt oder schreibgeschützt).

Hängen Sie den Namen der DB-Datei an

Der Name der Hauptdatenbankdatei, die angehängt werden kann.

Automatische Übersetzung

Konfigurieren Sie die OEM/ANSI-Zeichenübersetzung („true“ oder „false“).

Zeitüberschreitung der Verbindung

Zeit (in Sekunden), die auf den Abschluss der Datenquelleninitialisierung gewartet werden soll.

aktuelle Sprache

Name der SQL Server-Sprache.

Datenquelle

Der Name der SQL Server-Instanz in der Organisation.

Datenbank

Name der Datenbank.

Datentypkompatibilität

Eine Zahl, die angibt, welche Methode zur Verarbeitung des Datentyps verwendet wird.

codieren

Gibt an, ob Daten verschlüsselt werden sollen, bevor sie über das Netzwerk gesendet werden (Ja oder Nein).

Failover-Partner

Der Name des Upgrade-Servers, der für die Datenbankspiegelung verwendet werden soll.

SPN-Failover-Partner

SPN des Upgrade-Partners.

Erster Katalog

Name der Datenbank.

Ursprünglicher Dateiname

Der primäre Datenbankname (einschließlich des vollständigen Pfadnamens) der Datenbank, die angehängt werden kann.

Integrierte Sicherheit

Wird für die Windows-Authentifizierung (SSPI) verwendet.

Sprache

Name der SQL Server-Sprache.

MarteConn

Definiert die Verwendung mehrerer aktiver Ergebnismengen (MARS) in SQL Server 2005 (9.x) oder höher (Ja oder Nein).

Neto

Net-Library wird verwendet, um eine Verbindung zu einer Instanz von SQL Server in einer Organisation herzustellen.

Internetadresse

Die Netzwerkadresse der SQL Server-Instanz in der Organisation.

Packungsgrösse

Netzwerkpaketgröße. Der Standardwert ist 4096.

Bewahren Sie Sicherheitsinformationen auf

Gibt an, ob dauerhafte Sicherheit aktiviert ist („true“ oder „false“).

Bleiben Sie sensibel

Gibt an, ob Persist Sensitive aktiviert ist („true“ oder „false“).

Anbieter

Für den SQL Server Native Client muss „SQLNCLI11“ verwendet werden.

PCD

Passwort für die Anmeldung bei SQL Server.

Server

Name der SQL Server-Instanz: Server im Netzwerk, IP-Adresse oder Alias ​​des Konfigurationsmanagers.

SPN des Servers

SPN des Servers.

Die Zeit ist um

Zeit (in Sekunden), die auf den Abschluss der Datenquelleninitialisierung gewartet werden soll.

vertrauenswürdige_Verbindung

Gibt an, ob die Windows-Authentifizierungsmethode oder der SQL Server-Benutzername und das Kennwort für die Anmeldeüberprüfung verwendet werden sollen (Ja oder Nein).

Vertrauenswürdiges Serverzertifikat

Gibt an, ob das Zertifikat des Servers verifiziert ist („true“ oder „false“).

UID

SQL Server-Anmeldename.

Verwenden Sie Verschlüsselung für Daten

Gibt an, ob die Daten verschlüsselt werden, bevor sie über das Netzwerk gesendet werden („true“ oder „false“).

UsarProcForPrepare

Veraltetes Schlüsselwort.

WSID

Workstation-ID, Netzwerkname des Computers, auf dem sich die Anwendung befindet.

ganz oben auf der Seite

Verwalten von ODBC-Datenquellen

Verwaltung verknüpfter Tabellen

References

Top Articles
Latest Posts
Article information

Author: Nathanial Hackett

Last Updated: 01/07/2024

Views: 5611

Rating: 4.1 / 5 (72 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Nathanial Hackett

Birthday: 1997-10-09

Address: Apt. 935 264 Abshire Canyon, South Nerissachester, NM 01800

Phone: +9752624861224

Job: Forward Technology Assistant

Hobby: Listening to music, Shopping, Vacation, Baton twirling, Flower arranging, Blacksmithing, Do it yourself

Introduction: My name is Nathanial Hackett, I am a lovely, curious, smiling, lively, thoughtful, courageous, lively person who loves writing and wants to share my knowledge and understanding with you.