目錄位置
目錄名稱在識別碼中的位置,以及其如何與識別碼的其餘部分分開,會因資料來源而異。 例如,在 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)、結構描述 (公司) 和資料表 (元件) 名稱,但是並未括住目錄 (@) 或結構描述 (.) 分隔符號:
SELECT * FROM "Corporate"."Parts"@"Sales"
如需括住識別碼的相關資訊,請參閱下一節引號識別碼。