Использование функций каталога
Все базы данных имеют структуру, содержащую данные, хранящиеся в базе данных. Определение этой структуры вместе с другими сведениями, например разрешениями, хранится в каталоге (реализованном как набор системных таблиц), который называют словарем данных.
Драйвер ODBC для собственного клиента SQL Server позволяет приложению определять структуру базы данных с помощью вызовов функций каталога ODBC. Функции каталога возвращают сведения в результирующих наборах и реализуются с помощью запросов хранимых процедур каталога к системным таблицам этого каталога. Например, приложение может запросить результирующий набор, содержащий сведения о всех таблицах в системе или всех столбцах в определенной таблице. Стандартные функции каталога ODBC используются для получения сведений о каталоге из SQL Server, к которому подключено приложение.
SQL Server поддерживает распределенные запросы, в которых доступ к нескольким гетерогенным источникам данных OLE DB осуществляется одним запросом. Одним из методов доступа к удаленному источнику данных OLE DB является определение источника данных как связанного сервера. Это делается с помощью хранимой процедуры sp_addlinkedserver. После определения связанного сервера на объекты этого сервера могут ссылаться инструкции Transact-SQL, используя четырехкомпонентное имя:
имя_связанного_сервера.каталог.схема.имя_объекта.
Драйвер ODBC для собственного клиента SQL Server поддерживает две зависящие от драйвера функции, помогающие получить сведения о каталоге от связанных серверов.
SQLLinkedServers
Возвращает список связанных серверов, определенных на локальном сервере.
SQLLinkedCatalogs
Возвращает список каталогов, содержащихся на связанном сервере.
После связывания имени сервера и имени каталога Драйвер ODBC для собственного клиента SQL Server поддерживает получение сведений из каталога, используя двухкомпонентное имя имя_связанного_сервера**.**каталог для CatalogName в следующих функциях каталога ODBC:
SQLColumnPrivileges
SQLColumns
SQLPrimaryKeys
SQLStatistics
SQLTablePrivileges
SQLTables
Двухкомпонентное имя имя_связанного_сервера**.**каталог также поддерживается для FKCatalogName и PKCatalogName в SQLForeignKeys.
Использование SQLLinkedServers и SQLLinkedCatalogs требует следующих файлов.
sqlncli.h
Включает прототипы функций и определения констант для функций каталога связанного сервера. Файл sqlncli.h необходимо включить в приложение ODBC, при компиляции приложения он должен находиться в пути включаемых файлов.
sqlncli10.lib
Должна находиться в пути к библиотекам компоновщика и определена как файл для связывания. Файл sqlncli10.lib распространяется вместе с ODBC-драйвером собственного клиента SQL Server.
sqlncli10.dll
Необходима во время выполнения. Файл sqlncli10.dll распространяется вместе с ODBC-драйвером собственного клиента SQL Server.