目錄位置
目錄名稱在標識碼中的位置,以及它與標識符的其餘部分如何分隔,會因數據源而異。 例如,在 Xbase 數據源中,目錄名稱是目錄,在 Microsoft Windows 中,會以反斜杠分隔數據表名稱(也就是檔名)。 下圖示範此條件。
在 SQL Server 數據來源中,目錄是資料庫,並以句號分隔架構和數據表名稱。
在 Oracle 資料來源中,資料庫目錄也是資料庫的名稱,並且在數據表名稱之後,使用 @ 符號將其與結構和數據表名稱分隔開。
若要判斷目錄分隔符和目錄名稱的位置,應用程式會使用SQL_CATALOG_NAME_SEPARATOR和SQL_CATALOG_LOCATION選項呼叫 sqlGetInfo
當引用包含多個部分的識別碼時,應用程式必須小心以個別引號括住每個部分,而不是引用分隔標識符的字元。 例如,下列語句會選取 Xbase 資料表的所有數據列和數據行,會引述目錄 (\XBASE\SALES\CORP) 和數據表 (Parts.dbf) 名稱,但不是目錄分隔符 (\):
SELECT * FROM "\XBASE\SALES\CORP"\"PARTS.DBF"
下列語句選取 Oracle 表的所有行和列,會引述目錄(Sales)、架構(Corporate)和表(Parts)的名稱,但不包含目錄(@)或架構(.)分隔符:
SELECT * FROM "Corporate"."Parts"@"Sales"
如需引用識別碼的相關信息,請參閱下一節,引號識別碼。