使用目录函数
所有数据库都具有一个包含该数据中存储的数据的结构。 此结构的定义以及权限等其他信息存储在目录(作为一组系统表实现)中,也称为数据字典。
SQL Server Native Client ODBC 驱动程序使应用程序能够通过调用 ODBC 目录函数来确定数据库结构。 目录函数返回结果集中的信息,这些函数是使用目录存储过程实现的,用于查询该目录中的系统表。 例如,应用程序可以请求包含系统上所有表的相关信息的结果集或包含特定表中的所有列的相关信息的结果集。 标准 ODBC 目录函数用于从应用程序连接到SQL Server获取目录信息。
SQL Server 支持分布式查询,其中多个异类 OLE DB 数据源的数据在单个查询中访问。 访问远程 OLE DB 数据源的一种方法是将数据源定义为链接服务器。 这可以通过使用 sp_addlinkedserver 来完成。 定义链接服务器后,使用由四个部分组成的名称可以在 Transact-SQL 语句中引用该服务器上的对象:
linked_server_name.catalog.schema.object_name。
SQL Server Native Client ODBC 驱动程序支持两个特定于驱动程序的函数,这些函数可帮助从链接服务器获取目录信息:
SQLLinkedServers
返回定义到本地服务器的链接服务器列表。
SQLLinkedCatalogs
返回链接服务器包含的目录的列表。
具有链接服务器名称和目录名称后,SQL Server Native Client ODBC 驱动程序支持使用linked_server_name的两部分名称从目录中获取信息。以下 ODBC 目录函数上的 CatalogName 的目录:
SQLColumnPrivileges
SQLColumns
SQLPrimaryKeys
SQLStatistics
SQLTablePrivileges
SQLTables
由两部分构成的linked_server_name。SQLForeignKeys 上的 FKCatalogName 和 PKCatalogName 也支持目录。
使用 SQLLinkedServers 和 SQLLinkedCatalogs 需要以下文件:
sqlncli.h
包括用于链接服务器目录函数的函数原型和常量定义。 必须在 ODBC 应用程序中包括 sqlncli.h,并且在编译应用程序时必须将其放在 include 路径中。
sqlncli11.lib
必须放在链接器的库路径中,并将其指定为要链接的文件。 sqlncli11.lib 随 SQL Server Native Client ODBC 驱动程序一起分发。
sqlncli11.dll
在执行时必须存在。 sqlncli11.dll随 SQL Server Native Client ODBC 驱动程序一起分发。
另请参阅
SQL Server Native Client (ODBC)
SQLColumnPrivileges
SQLColumns
SQLPrimaryKeys
SQLTablePrivileges
SQLTables
SQLStatistics