Partager via


Utilisation des fonctions de catalogue

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Important

SQL Server Native Client (souvent abrégé en SNAC) a été supprimé dans SQL Server 2022 (16.x) et SQL Server Management Studio 19 (SSMS). SQL Server Native Client (SQLNCLI ou SQLNCLI11) et le fournisseur Microsoft OLE DB pour SQL Server (SQLOLEDB) hérité ne sont pas recommandés dans les nouveaux développements. Utilisez à la place le nouveau Microsoft OLE DB Driver (MSOLEDBSQL) pour SQL Server ou le Microsoft ODBC Driver for SQL Server le plus récent. Pour SQLNCLI fourni en tant que composant du moteur de base de données SQL Server (versions 2012 à 2019), consultez cette exception de support du cycle de vie.

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 base de données par le biais d’appels aux 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 SQL Server auquel l’application s’est connectée.

SQL Server prend en charge les requêtes distribuées dans lesquelles les données provenant de plusieurs sources de données OLE DB hétérogènes sont accessibles dans 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é. Pour ce faire, utilisez 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 :

linked_server_name.catalog.schema.object_name.

Le pilote ODBC SQL Server Native Client prend en charge deux fonctions spécifiques au pilote qui permettent d’obtenir des informations de catalogue à partir de 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é.

Une fois que vous avez un nom de serveur lié et un nom de catalogue, le pilote ODBC SQL Server Native Client prend en charge l’obtention d’informations à partir du catalogue à l’aide d’un nom en deux parties de linked_server_name.catalog for CatalogName sur les fonctions de catalogue ODBC suivantes :

  • SQLColumnPrivileges

  • SQLColumns

  • SQLPrimaryKeys

  • SQLStatistics

  • SQLTablePrivileges

  • SQLTables

Le linked_server_name en deux parties.catalog 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.

  • sqlncli11.lib

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

  • sqlncli11.dll

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

Voir aussi

SQL Server Native Client (ODBC)
SQLColumnPrivileges
SQLColumns
SQLPrimaryKeys
SQLTablePrivileges
SQLTables
SQLStatistics