Usando funções de catálogo
Todos os bancos de dados têm uma estrutura que contém os dados armazenados no banco de dados. Uma definição dessa estrutura, juntamente com outras informações, como permissões, é armazenada em um catálogo (implementado como um conjunto de tabelas do sistema), também conhecido como um dicionário de dados.
O driver ODBC SQL Server Native Client permite que um aplicativo determine a estrutura do banco de dados por meio de chamadas para funções de catálogo ODBC. As funções de catálogo retornam informações em conjuntos de resultados e são implementadas usando procedimentos armazenados de catálogo para consultar as tabelas do sistema no catálogo. Por exemplo, um aplicativo pode solicitar um conjunto de resultados que contém informações sobre todas as tabelas no sistema ou todas as colunas de uma tabela específica. As funções de catálogo ODBC padrão são usadas para obter informações de catálogo do SQL Server ao qual o aplicativo se conectou.
SQL Server dá suporte a consultas distribuídas nas quais dados de várias fontes de dados OLE DB heterogêneas são acessados em uma única consulta. Um dos métodos para acessar uma fonte de dados OLE DB remota é definir a fonte de dados como um servidor vinculado. Isso pode ser feito usando sp_addlinkedserver. Depois que o servidor vinculado foi definido, é possível referenciar objetos nesse servidor em instruções Transact-SQL usando um nome de quatro partes:
linked_server_name.catalog.schema.object_name.
O driver ODBC do SQL Server Native Client dá suporte a duas funções específicas do driver que ajudam a obter informações de catálogo de servidores vinculados:
SQLLinkedServers
Retorna uma lista dos servidores vinculados definidos para o servidor local.
SQLLinkedCatalogs
Retorna uma lista dos catálogos contidos em um servidor vinculado.
Depois de ter um nome de servidor vinculado e um nome de catálogo, o driver ODBC do SQL Server Native Client dá suporte à obtenção de informações do catálogo usando um nome de duas partes de linked_server_name.catálogo de CatalogName nas seguintes funções de catálogo ODBC:
SQLColumnPrivileges
SQLColumns
SQLPrimaryKeys
SQLStatistics
SQLTablePrivileges
SQLTables
O linked_server_name de duas partes.O catálogo também tem suporte para FKCatalogName e PKCatalogName em SQLForeignKeys.
O uso de SQLLinkedServers e SQLLinkedCatalogs exige os seguintes arquivos:
sqlncli.h
Inclui protótipos de função e definições de constantes para funções de catálogo do servidor vinculado. O sqlncli.h deve ser incluído no aplicativo ODBC e deverá estar no caminho de inclusão quando o aplicativo for compilado.
sqlncli11.lib
Deve estar no caminho da biblioteca do vinculador e ser especificado como um arquivo a ser vinculado. sqlncli11.lib é distribuído com o driver ODBC SQL Server Native Client.
sqlncli11.dll
Deve estar presente no tempo de execução. sqlncli11.dll é distribuído com o driver ODBC SQL Server Native Client.
Consulte Também
SQL Server Native Client (ODBC)
SQLColumnPrivileges
SQLColumns
SQLPrimaryKeys
SQLTablePrivileges
SQLTables
SQLStatistics