在 Oracle GoldenGate 輸入中指定物件名稱
在參數檔 (例如 TABLE 和 MAP 敘述句)、資料欄轉換函數、命令以及其他輸入中指定物件名稱時,適用下列規則。
在 Windows 系統的參數檔中指定檔案系統路徑名稱
在 Windows 系統上,如果檔案系統路徑名稱中任何目錄的名稱以數字開頭,則在 Oracle GoldenGate 輸入中列出該路徑 (例如參數檔或命令) 時,必須以正斜線 (而非反斜線) 來指定路徑。此需求可防止 Oracle GoldenGate 將名稱解譯為八進位遁離順序。例如,下列路徑包含名為 \2023 的目錄,該目錄會解譯為八進位順序 \202:
C:\deployments\ea
C:\deployments\north\ea
C:\deployments\north\2023\ea
前面的路徑可以與正斜線搭配使用,如下所示:
C:/deployments/ea
C:/deployments/north/ea
如需詳細資訊,請參閱支援遁離序列。
指定包含斜線的名稱
如果表格名稱在名稱的任何部分包含正斜線字元 (/),則該名稱元件必須以雙引號括住,除非物件名稱來自 IBM i platform。下列是一些範例:
"c/d"
"/a".b
a."b/"
如果名稱包含未以雙引號括住的正斜線,Oracle GoldenGate 會將它視為源自 IBM i 平台 (從 DB2 for i database) 的名稱。名稱中的正斜線會解譯為分隔符號字元。
指定區分大小寫的資料庫物件名稱
Oracle GoldenGate 支援區分大小寫的名稱。指定區分大小寫的物件時,請遵循這些規則。
-
指定資料庫中區分大小寫的物件名稱,與用來儲存於主機資料庫中的物件名稱相同。請記住,在某些資料庫類型中,不同層級的資料庫可能會有不同的區分大小寫,例如區分大小寫的綱要,但是不區分大小寫的表格。如果資料庫需要引號來強制區分大小寫,請將引號放在限定名稱中區分大小寫的每個物件上。
正確:
TABLE "Sales"."ACCOUNT"不正確:
TABLE "Sales.ACCOUNT" -
Oracle GoldenGate 會將不區分大小寫的名稱轉換成需要進行對應時所儲存的大小寫。
表格 9-17 提供每個支援之資料庫對物件名稱區分大小寫的支援總覽。如需這類支援的詳細資訊,請參閱資料庫文件。
表格 17 每個資料庫之物件名稱的區分大小寫
| 資料庫 | 是否需要引號來強制區分大小寫? | 沒有引號的物件名稱 | 引號的物件名稱 |
|---|---|---|---|
| DB2 | 是。使用引號,區分大小寫與不區分大小寫。 | 不區分大小寫,以大寫儲存 | 區分大小寫,以混合大小寫儲存 |
MySQL (區分大小寫的資料庫) |
否
|
沒有作用 | 沒有作用 |
| Oracle AI Database | 是。使用引號來區分大小寫與不區分大小寫。 | 不區分大小寫,以大寫儲存 | 區分大小寫,以混合大小寫儲存 |
SQL Server (資料庫建立時區分大小寫) |
否 永遠區分大小寫,以混合大小寫儲存 |
沒有作用 |
沒有作用 |
SQL Server (建立的資料庫不區分大小寫) |
否 永遠不區分大小寫,以混合大小寫儲存 |
沒有作用 | 沒有作用 |
| Teradata | 否 永遠不區分大小寫,以混合大小寫儲存 |
沒有作用 | 沒有作用 |
注意:對於所有支援的資料庫,無論關聯的物件名稱是外加引號還是外加引號,密碼一律會被視為區分大小寫。
區分區分大小寫的資料欄名稱與文字
依照預設,Oracle GoldenGate 會遵循 SQL-92 規則來指定資料欄名稱和文字。在 Oracle GoldenGate 參數檔、轉換函數、使用者結束及命令中,如果資料庫需要在名稱前後加上引號以支援區分大小寫,則資料欄名稱必須以雙引號括住。舉例而言:
"columnA"
資料庫中不需使用引號強制區分大小寫的資料欄名稱,因為它們儲存在資料庫中時必須指定。舉例而言:
ColumnA
文字必須以單引號括住。在下列範例中,Product_Code 是 Oracle AI Database 中區分大小寫的資料欄名稱,而其他字串則為文字。
@CASE ("Product_Code", 'CAR', 'A car', 'TRUCK', 'A truck')