使用目錄函數

所有資料庫都有包含儲存在資料庫之資料的結構。 此結構的定義以及權限之類的其他資訊會儲存在目錄 (當做一組系統資料表實作) 中,也就是所謂的資料字典。

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_nameSQLForeignKeys上的FKCatalogNamePKCatalogName也支援catalog

使用 SQLLinkedServers 和 SQLLinkedCatalogs 需要下列檔案:

  • sqlncli.h

    包括適用於連結伺服器目錄函數的函數原型與常數定義。 sqlncli.h 必須包含在 ODBC 應用程式中,而且必須在應用程式編譯時的 Include 路徑中。

  • sqlncli11.lib

    必須位於連結器 (Linker) 的程式庫路徑中,並指定為要連結的檔案。 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