Freigeben über


Erstellen einer SQL Server Native Client-ODBC-Treiberanwendung

Die ODBC-Architektur verfügt über vier Komponenten, die die folgenden Funktionen ausführen.

Komponente Funktion
Anwendung Ruft ODBC-Funktionen auf, um mit einer ODBC-Datenquelle zu kommunizieren, sendet SQL-Anweisungen und verarbeitet Resultsets.
Treiber-Manager Verwaltet die Kommunikation zwischen einer Anwendung und allen von der Anwendung verwendeten ODBC-Treibern.
Treiber Verarbeitet alle ODBC-Funktionsaufrufe von der Anwendung, stellt eine Verbindung zu einer Datenquelle her, übergibt SQL-Anweisungen von der Anwendung an die Datenquelle und gibt Ergebnisse an die Anwendung zurück. Bei Bedarf übersetzt der Treiber ODBC SQL-Code von der Anwendung in den von der Datenquelle verwendeten systemeigenen SQL-Code.
Datenquelle Enthält alle Informationen, die ein Treiber für den Zugriff auf eine bestimmte Instanz der Daten in einem DBMS benötigt.

Eine Anwendung, die den SQL Server Native Client ODBC-Treiber verwendet, um mit einer instance von SQL Server zu kommunizieren, führt die folgenden Aufgaben aus:

  • Herstellen einer Verbindung mit einer Datenquelle

  • Senden von SQL-Anweisungen an die Datenquelle

  • Verarbeiten der Ergebnisse von Anweisungen von der Datenquelle

  • Verarbeiten von Fehlern und Meldungen

  • Beenden der Verbindung mit der Datenquelle

Eine komplexere Anwendung, die für den SQL Server Native Client ODBC-Treiber geschrieben wurde, kann auch die folgenden Aufgaben ausführen:

  • Verwenden von Cursorn, um die Position in einem Resultset zu bestimmen

  • Anforderung von Commit- oder Rollbackvorgängen zur Steuerung von Transaktionen

  • Ausführen von verteilten Transaktionen, an denen zwei oder mehr Server beteiligt sind

  • Ausführen von gespeicherten Prozeduren auf dem Remoteserver

  • Aufrufen von Katalogfunktionen für die Abfrage der Attribute eines Resultsets

  • Ausführen von Massenkopiervorgängen

  • Verwalten großer Datenvorgänge (Varchar(max)-, nvarchar(max)- und varbinary(max) -Spalten)

  • Verwenden einer Logik zum Wiederherstellen einer Verbindung, um bei der Konfiguration der Datenbankspiegelung ein Failover zu ermöglichen

  • Protokollieren von Leistungsdaten und Abfragen mit langer Ausführungszeit

Um ODBC-Funktionen aufrufen können, muss eine C- oder C++-Anwendung die Headerdateien sql.h, sqlext.h und sqltypes.h enthalten. Um API-Funktionen des ODBC-Installationsprogramms aufrufen zu können, muss eine Anwendung die Headerdatei odbcinst.h enthalten. Eine ODBC-Unicode-Anwendung muss die Headerdatei sqlucode.h enthalten. ODBC-Anwendungen müssen mit der Datei odbc32.lib verknüpft werden. ODBC-Anwendungen, die API-Funktionen des ODBC-Installationsprogramms aufrufen, müssen mit der Datei odbccp32.lib verknüpft werden. Diese Dateien sind im Windows Platform SDK enthalten.

Viele ODBC-Treiber, einschließlich des SQL Server Native Client ODBC-Treibers, bieten treiberspezifische ODBC-Erweiterungen. Um SQL Server Native Client odbc-treiberspezifischen Erweiterungen nutzen zu können, sollte eine Anwendung die Headerdatei sqlncli.h enthalten. Diese Headerdatei enthält Folgendes:

  • SQL Server Native Client odbc-treiberspezifische Verbindungsattribute.

  • SQL Server Native Client ODBC-treiberspezifische Anweisungsattribute.

  • SQL Server Native Client ODBC-treiberspezifische Spaltenattribute.

  • SQL Server-spezifische Datentypen.

  • SQL Server benutzerdefinierte Datentypen.

  • SQL Server Native Client ODBC-treiberspezifische SQLGetInfo-Typen.

  • SQL Server Native Client ODBC-Treiberfelder Diagnose.

  • SQL Server dynamische Diagnosefunktionscodes.

  • C/C++-Typdefinitionen für SQL Server-spezifische native C-Datentypen (zurückgegeben, wenn Spalten an den C-Datentyp gebunden SQL_C_BINARY).

  • Typdefinition für die SQLPERF-Datenstruktur

  • Massenkopiermakros und Prototypen zur Unterstützung von APIs für das Massenkopieren über eine ODBC-Verbindung

  • Aufrufen der API-Funktionen für verteilte Abfragemetadaten für Listen mit verknüpften Servern und den zugehörigen Katalogen

Jede C- oder C++-ODBC-Anwendung, die das Massenkopierfeature des SQL Server Native Client ODBC-Treibers verwendet, muss mit der Datei sqlncli11.lib verknüpft sein. Anwendungen, die die API-Funktionen für verteilte Abfragemetadaten aufrufen, müssen ebenfalls mit der Datei sqlncli11.lib verknüpft werden. Die Dateien sqlncli.h und sqlncli11.lib werden als Teil der SQL Server Entwicklertools verteilt. Die SQL Server Include- und Lib-Verzeichnisse sollten sich wie folgt in den INCLUDE- und LIB-Pfaden des Compilers befinden:

LIB=c:\Program Files\Microsoft Data Access SDK 2.8\Libs\x86\lib;C:\Program Files\Microsoft SQL Server\100\Tools\SDK\Lib;  
INCLUDE=c:\Program Files\Microsoft Data Access SDK 2.8\inc;C:\Program Files\Microsoft SQL Server\100\Tools\SDK\Include;  

Ob es erforderlich ist, dass bei der Anwendung mehrere ODBC-Aufrufe gleichzeitig ausstehen können, ist eine Entwurfsentscheidung, die früh im Prozess der Erstellung einer Anwendung getroffen werden muss. Es gibt zwei Methoden zur Unterstützung mehrerer gleichzeitiger ODBC-Aufrufe, die in den verbleibenden Themen dieses Abschnitts beschrieben werden. Weitere Informationen finden Sie in der ODBC-Programmiererreferenz.

In diesem Abschnitt

Weitere Informationen

SQL Server Native Client (ODBC)