Verwenden von Katalogfunktionen

Alle Datenbanken verfügen über eine Struktur, die die in der Datenbank gespeicherten Daten enthält. Eine Definition dieser Struktur ist zusammen mit anderen Informationen, wie beispielsweise Berechtigungen, in einem Katalog gespeichert, der als Satz Systemtabellen implementiert und auch als Datenwörterbuch bezeichnet wird.

Der SQL Server Native Client ODBC-Treiber ermöglicht es einer Anwendung, die Datenbankstruktur durch Aufrufen von ODBC-Katalogfunktionen zu bestimmen. Katalogfunktionen geben Informationen in Resultsets zurück und werden mithilfe von gespeicherten Katalogprozeduren implementiert, um die Systemtabellen im Katalog abzufragen. Beispielsweise könnte eine Anwendung ein Resultset mit Informationen über alle Tabellen im System oder alle Spalten in einer bestimmten Tabelle anfordern. Die standardmäßigen ODBC-Katalogfunktionen dienen dazu, Kataloginformationen von der SQL Server-Instanz abzurufen, mit der die Anwendung verbunden ist.

SQL Server unterstützt verteilte Abfragen, in denen auf Daten aus mehreren heterogenen OLE DB-Datenquellen in einer einzigen Abfrage zugegriffen wird. Eine Methode des Zugriffs auf eine OLE DB-Datenquelle ist die Definition der Datenquelle als Verbindungsserver. Dies kann mit sp_addlinkedserver getan werden. Nachdem der Verbindungsserver definiert wurde, kann in Transact-SQL-Anweisungen auf Objekte dieses Servers verwiesen werden. Dazu wird ein vierteiliger Name verwendet:

linked_server_name.catalog.schema.object_name.

Der SQL Server Native Client ODBC-Treiber unterstützt zwei treiberspezifische Funktionen, die dazu dienen, Kataloginformationen von Verbindungsservern abzurufen:

  • SQLLinkedServers

    Gibt eine Liste der auf den lokalen Servern definierten Verbindungsserver zurück.

  • SQLLinkedCatalogs

    Gibt eine Liste der in einem Verbindungsserver enthaltenen Kataloge zurück.

Sobald Sie über einen Verbindungsservernamen und einen Katalognamen verfügen, unterstützt der SQL Server Native Client ODBC-Treiber das Abrufen von Informationen aus dem Katalog mithilfe eines zweiteiligen Namens vom Typ linked_server_name**.**catalog für CatalogName in Bezug auf die folgenden ODBC-Katalogfunktionen:

  • SQLColumnPrivileges

  • SQLColumns

  • SQLPrimaryKeys

  • SQLStatistics

  • SQLTablePrivileges

  • SQLTables

Der zweiteilige Name linked_server_name**.**catalog wird auch für FKCatalogName und PKCatalogName in SQLForeignKeys unterstützt.

Zur Verwendung von SQLLinkedServers und SQLLinkedCatalogs sind die folgenden Dateien erforderlich:

  • sqlncli.h

    Enthält Funktionsprototypen und Konstantendefinitionen für die Katalogfunktionen des Verbindungsservers. sqlncli.h muss in die ODBC-Anwendung eingefügt werden und zum Zeitpunkt der Anwendungskompilierung im Includepfad enthalten sein.

  • sqlncli10.lib

    Muss im Bibliothekspfad des Linkers enthalten und als Datei für die Verbindung angegeben sein. sqlncli10.lib ist Bestandteil des SQL Server Native Client ODBC-Treibers.

  • sqlncli10.dll

    Muss bei Ausführung vorhanden sein. sqlncli10.dll ist Bestandteil des SQL Server Native Client ODBC-Treibers.