Использование функций каталога
Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)
Внимание
SQL Server Native Client (SNAC) не поставляется с:
- SQL Server 2022 (16.x) и более поздних версий
- SQL Server Management Studio 19 и более поздних версий
Собственный клиент SQL Server (SQLNCLI или SQLNCLI11) и устаревший поставщик Microsoft OLE DB для SQL Server (SQLOLEDB) не рекомендуется для разработки новых приложений.
Для новых проектов используйте один из следующих драйверов:
Сведения о SQLNCLI, которые поставляется в качестве компонента SQL Server ядро СУБД (версии 2012–2019), см. в этом исключении жизненного цикла поддержки.
Все базы данных имеют структуру, содержащую данные, хранящиеся в базе данных. Определение этой структуры вместе с другими сведениями, например разрешениями, хранится в каталоге (реализованном как набор системных таблиц), который называют словарем данных.
Драйвер 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