Использование функций каталога

Все базы данных имеют структуру, содержащую данные, хранящиеся в базе данных. Определение этой структуры, а также других сведений, таких как разрешения, хранится в каталоге (реализовано как набор системных таблиц), также известном как словарь данных.

Драйвер ODBC собственного клиента SQL Server позволяет приложению определить структуру базы данных с помощью вызовов функций каталога ODBC. Функции каталога возвращают сведения в результирующих наборах и реализуются с помощью хранимых процедур каталога для запроса системных таблиц в каталоге. Например, приложение может запросить результирующий набор, содержащий сведения обо всех таблицах в системе или всех столбцах в определенной таблице. Стандартные функции каталога ODBC используются для получения сведений о каталоге из SQL Server, к которому подключено приложение.

SQL Server поддерживает распределенные запросы, в которых доступ к данным из нескольких разнородных источников данных OLE DB осуществляется в одном запросе. Одним из методов доступа к удаленному источнику данных OLE DB является определение источника данных в качестве связанного сервера. Это можно сделать с помощью sp_addlinkedserver. После определения связанного сервера объекты на этом сервере можно ссылаться в инструкциях Transact-SQL с помощью четырехкомпонентного имени:

linked_server_name.catalog.schema.object_name.

Драйвер ODBC для собственного клиента SQL Server поддерживает две функции, которые помогают получать сведения о каталоге с связанных серверов:

  • SQLLinkedServers

    Возвращает список связанных серверов, определенных для локального сервера.

  • SQLLinkedCatalogs

    Возвращает список каталогов, содержащихся на связанном сервере.

После получения связанного имени сервера и имени каталога драйвер ODBC собственного клиента SQL Server поддерживает получение сведений из каталога с помощью двух частей linked_server_name.каталог для CatalogName в следующих функциях каталога ODBC:

  • SQLColumnPrivileges

  • SQLColumns

  • SQLPrimaryKeys

  • SQLStatistics

  • SQLTablePrivileges

  • SQLTables

Двух частей linked_server_name.каталог также поддерживается для FKCatalogName и PKCatalogName в SQLForeignKeys.

Для использования SQLLinkedServers и SQLLinkedCatalogs требуются следующие файлы:

  • sqlncli.h

    Включает прототипы функций и определения констант для функций каталога связанных серверов. sqlncli.h должен быть включен в приложение ODBC и должен находиться в пути включения при компиляции приложения.

  • sqlncli11.lib

    Должен находиться в пути библиотеки компоновщика и указан в качестве файла, который должен быть связан. sqlncli11.lib распространяется с драйвером ODBC собственного клиента SQL Server.

  • sqlncli11.dll

    Должно присутствовать во время выполнения. sqlncli11.dll распространяется с драйвером ODBC собственного клиента SQL Server.

См. также

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