Utilisation des fonctions de catalogue

Toutes les bases de données ont une structure contenant les données stockée dans la base de données. Une définition de cette structure, ainsi que d'autres informations comme les autorisations, est stockée dans un catalogue (implémenté comme ensemble de tables système), également appelé dictionnaire de données.

Le pilote ODBC SQL Server Native Client permet à une application de déterminer la structure de la base de données à travers les appels des fonctions de catalogue ODBC. Les fonctions de catalogue retournent les informations dans les jeux de résultats et sont implémentées à l'aide de procédures stockées de catalogue pour interroger les tables système du catalogue. Par exemple, une application peut demander un jeu de résultats contenant des informations sur toutes les tables du système ou sur toutes les colonnes d'une table particulière. Les fonctions de catalogue ODBC standard sont utilisées pour obtenir des informations de catalogue à partir du serveur SQL Server auquel l'application est connectée.

SQL Server prend en charge les requêtes distribuées dans lesquelles l'accès aux données de plusieurs sources de données OLE DB hétérogènes s'effectue via une requête unique. L'une des méthodes d'accès à une source de données OLE DB distante consiste à définir la source de données comme serveur lié. Cette tâche peut être réalisée à l'aide de sp_addlinkedserver. Une fois que le serveur lié a été défini, les objets de ce serveur peuvent être référencés dans les instructions Transact-SQL en utilisant un nom en quatre parties :

nom_serveur_lié.catalogue.schéma.nom_objet.

Le pilote ODBC SQL Server Native Client prend en charge deux fonctions spécifiques au pilote qui aident à obtenir les informations de catalogue des serveurs liés :

  • SQLLinkedServers

    Retourne la liste des serveurs liés définis au serveur local.

  • SQLLinkedCatalogs

    Retourne la liste des catalogues contenus dans un serveur lié.

Après que vous disposiez d'un nom de serveur lié et d'un nom de catalogue, le pilote ODBC SQL Server Native Client prend en charge l'obtention d'informations à partir du catalogue en utilisant un nom composé de deux parties (nom_serveur_lié**.**catalogue) pour CatalogName sur les fonctions de catalogue ODBC suivantes :

  • SQLColumnPrivileges

  • SQLColumns

  • SQLPrimaryKeys

  • SQLStatistics

  • SQLTablePrivileges

  • SQLTables

Le nom en deux parties nom_serveur_lié**.**catalogue est également pris en charge pour FKCatalogName et PKCatalogName sur SQLForeignKeys.

L'utilisation de SQLLinkedServers et SQLLinkedCatalogs requiert les fichiers suivants :

  • sqlncli.h

    Inclut les prototypes de fonctions et les définitions de constantes pour les fonctions de catalogue du serveur lié. sqlncli.h doit être inclus dans l'application ODBC, ainsi que dans le chemin d'accès Include lorsque l'application est compilée.

  • sqlncli10.lib

    Doit être dans le chemin d'accès de la bibliothèque de l'éditeur de liens et spécifié comme fichier à lier. sqlncli10.lib est distribué avec le pilote ODBC SQL Server Native Client.

  • sqlncli10.dll

    Doit être présent lors de l'exécution. sqlncli10.dll est distribué avec le pilote ODBC SQL Server Native Client.