Utilisation des fonctions de catalogue
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Important
SQL Server Native Client (SNAC) n’est pas fourni avec :
- 2022 - SQL Server 16 (16.x) et versions ultérieures
- SQL Server Management Studio 19 et versions ultérieures
SQL Server Native Client (SQLNCLI ou SQLNCLI11) et le fournisseur Microsoft OLE DB hérité pour SQL Server (SQLOLEDB) ne sont pas recommandés pour le nouveau développement d’applications.
Pour les nouveaux projets, utilisez l'un des pilotes suivants :
Pour SQLNCLI qui est fourni en tant que composant du moteur de base de données SQL Server (versions 2012 à 2019), consultez cette exception du cycle de vie du support.
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 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 de SQL Server auxquelles l’application 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 seule requête. 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.catalogue pour CatalogName sur les fonctions de catalogue ODBC suivantes :
SQLColumnPrivileges
SQLColumns
SQLPrimaryKeys
SQLStatistics
SQLTablePrivileges
SQLTables
La linked_server_name en deux parties.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.
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