Utilizar funciones de catálogo
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Importante
SQL Server Native Client (SNAC) no se incluye con:
- SQL Server 2022 (16.x) y versiones posteriores
- SQL Server Management Studio 19 y versiones posteriores
No se recomiendan SQL Server Native Client (SQLNCLI o SQLNCLI11) ni Microsoft OLE DB Provider for SQL Server (SQLOLEDB) heredado para el desarrollo de nuevas aplicaciones.
En el caso de los proyectos nuevos, use uno de los siguientes controladores:
Para SQLNCLI que se incluye como componente de motor de base de datos de SQL Server (versiones 2012 a 2019), consulte esta excepción de ciclo de vida de soporte técnico.
Todas las bases de datos tienen una estructura que contiene los datos almacenados en la base de datos. Una definición de esta estructura, junto con otra información como permisos, está almacenada en un catálogo (se implementa como un conjunto de tablas del sistema), también conocido como diccionario de datos.
El controlador ODBC de SQL Server Native Client permite a una aplicación determinar la estructura de la base de datos a través de llamadas a funciones de catálogo ODBC. Las funciones de catálogo devuelven información en conjuntos de resultados y se implementan utilizando procedimientos almacenados de catálogo para consultar las tablas del sistema en el catálogo. Por ejemplo, una aplicación puede solicitar un conjunto de resultados que contenga información sobre todas las tablas del sistema o todas las columnas de una tabla determinada. Las funciones de catálogo ODBC estándar se usan para obtener información de catálogo de SQL Server a la que se conecta la aplicación.
SQL Server admite consultas distribuidas en las que se accede a datos de varios orígenes de datos OLE DB heterogéneos en una sola consulta. Uno de los métodos para tener acceso a un origen de datos OLE DB remoto consiste en definir el origen de datos como un servidor vinculado. Esto se puede hacer mediante sp_addlinkedserver. Una vez definido el servidor vinculado, se puede hacer referencia a los objetos de ese servidor en instrucciones Transact-SQL utilizando un nombre con cuatro partes:
linked_server_name.catalog.schema.object_name.
El controlador ODBC de SQL Server Native Client admite dos funciones específicas del controlador que ayudan a obtener información de catálogo de servidores vinculados:
SQLLinkedServers
Devuelve una lista de los servidores vinculados definidos para el servidor local.
SQLLinkedCatalogs
Devuelve una lista de los catálogos incluidos en un servidor vinculado.
Después de tener un nombre de servidor vinculado y un nombre de catálogo, el controlador ODBC de SQL Server Native Client admite la obtención de información del catálogo mediante un nombre de dos partes de linked_server_name.catalog para CatalogName en las siguientes funciones de catálogo ODBC:
SQLColumnPrivileges
SQLColumns
SQLPrimaryKeys
SQLStatistics
SQLTablePrivileges
SQLTables
La linked_server_name de dos partes. catalog también se admite para FKCatalogName y PKCatalogName en SQLForeignKeys.
Para utilizar SQLLinkedServers y SQLLinkedCatalogs hacen falta los siguientes archivos:
sqlncli.h
Incluye prototipos de función y definiciones de constante para las funciones de catálogo del servidor vinculado. Se debe haber incluido sqlncli.h en la aplicación ODBC y ha de estar en la ruta de inclusión cuando se compile la aplicación.
sqlncli11.lib
Debe estar en la ruta de acceso de la biblioteca del vinculador y estar especificado como un archivo que se va a vincular. sqlncli11.lib se distribuye con el controlador ODBC de SQL Server Native Client.
sqlncli11.dll
Debe estar presente en el momento de la ejecución. sqlncli11.dll se distribuye con el controlador ODBC de SQL Server Native Client.
Consulte también
SQL Server Native Client (ODBC)
SQLColumnPrivileges
SQLColumns
SQLPrimaryKeys
SQLTablePrivileges
SQLTables
SQLStatistics