所有資料庫都有一個結構,其中包含儲存在資料庫中的數據。 這個結構的定義,以及其他資訊,例如許可權,會儲存在目錄(實作為一組系統數據表),也稱為數據字典。
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
包含連結伺服器類別目錄函式的函式原型和常數定義。 sqlncli.h 必須包含在 ODBC 應用程式中,而且必須在編譯應用程式時包含在 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