Share via


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 do SQL Server Native Client permite que um aplicativo determine a estrutura do banco de dados por meio de chamadas de 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 com o qual o aplicativo está conectado.

O SQL Server dá suporte a consultas distribuídas nas quais dados de várias fontes de dados OLE DB heterogêneas são acessadas 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. Isto 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 que você tem 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**.**catalog para CatalogName nas seguintes funções de catálogo ODBC:

  • SQLColumnPrivileges

  • SQLColumns

  • SQLPrimaryKeys

  • SQLStatistics

  • SQLTablePrivileges

  • SQLTables

Também há suporte para o linked_server_name**.**catalog de duas partes 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.

  • sqlncli10.lib

    Deve estar no caminho da biblioteca do vinculador e ser especificado como um arquivo a ser vinculado. O sqlncli10.lib é distribuído com o driver ODBC do SQL Server Native Client.

  • sqlncli10.dll

    Deve estar presente no tempo de execução. O sqlncli10.dll é distribuído com o driver ODBC DO SQL Server Native Client.