共用方式為


Oracle 資料庫中同義字的作業

Oracle 資料庫配接器可讓您對同義字執行作業。 同義字是資料庫物件的別名或易記名稱, (例如資料表、檢視表、預存程式、函式和封裝) 。 如需 Oracle 中同義字的詳細資訊,請參閱 https://go.microsoft.com/fwlink/?LinkId=138058

使用同義字的優點

在下列案例中,同義字很有説明:

  • 使用不同的架構:如果您使用不同的架構,而且需要跨架構存取物件,則必須使用不同的 SQL 語句來存取這些物件。 您可以在架構中建立物件的同義字,並使用 SQL 語句中的同義字來存取物件。 如果您需要在不同的架構中存取基礎物件,請修改同義字的定義,以指向不同架構中的 物件。 因此,以同義字為基礎的應用程式會繼續在 SQL 語句中不修改的情況下運作。

    例如,假設您的測試和生產環境有兩個相同的架構:「Test」 和 「Prod」。 若要存取 「Test」 架構中名為 「Employee」 的資料表,您必須在 Test.Employee SQL 語句中使用或 Employee (「Test」 是預設架構) 。 如果您想要在生產架構中使用 「Employee」 資料表,您現在 Prod.Employee 必須使用或 Employee (將預設架構變更為 SQL 語句中的 「Prod」) 。 若要解決此問題,您可以建立 「Test.Employee」 資料表的同義字, (說 「EMP」) ,然後在 SQL 語句中使用。 每當您需要對 「Prod.Employee」 資料表執行作業時,請修改 「EMP」 同義字的定義,以指向 「Prod.Employee」 資料表。 這可確保您不需要修改 SQL 語句,以在不同的架構中對物件執行作業。

  • 基礎物件中的變更:同義字會將您與執行作業之基礎物件名稱或位置的任何變更隔離。 您可以修改同義字定義,以容納基礎物件名稱或位置的任何變更。

    例如,假設您在其中一個預存程式中使用資料表。 現在,如果資料表名稱變更或資料表移至其他位置,則預存程式將會停止運作。 若要解決此問題,您可以使用預存程式中資料表的同義字,並在資料表的名稱或位置有變更時更新同義字定義。

  • 簡化且安全的存取:在分散式環境中,您必須使用架構名稱以及物件名稱,以確保您存取正確的物件。 此外,您也必須確保使用者具有目標物件的必要許可權。 若要簡化此動作,您可以建立具有物件完整路徑的同義字,然後授與同義字的適當許可權,為物件指派簡單的名稱。

在配接器中使用同義字

Oracle Database 配接器會在 Oracle 中公開同義字,以便:

  • 資料表

  • 檢視

  • 預存程序

  • 函式

  • 套件

    這些成品的同義字會與取用配接器服務增益集、新增配接器中繼資料精靈和新增配接器服務參考外掛程式中的個別基礎成品一起公開。 例如,架構下的 [資料表 ] 節點會顯示架構中資料表以及資料庫資料表的所有同義字、架構底下的 [檢 視] 節點會顯示檢視的所有同義字以及架構中的資料庫檢視等等。

  • 針對在資料表和檢視表上建立的同義字,會分別針對基礎資料表和檢視公開相同的作業。 例如,如果基礎資料表和檢視表包含 LOB 資料行,這些資料表和檢視的同義字也會公開 ReadLOB 和 UpdateLOB 作業。

  • 對於在預存程式、函式和封裝上建立的同義字,同義字會與架構中個別的基礎預存程式、函式和套件一起公開為作業。

注意

Oracle 資料庫配接器僅支援本機同義字。 這表示只有以本機伺服器上成品為目標的配接器支援那些同義字。

此外,同義字的訊息動作與基礎物件相同,但執行動作的成品名稱除外。 例如,SCOTT 架構中資料表上 Select 作業的訊息動作為: http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/[TABLE_NAME]/Select 。 如果您要在 SCOTT 架構中相同資料表的同義字上執行 Select 作業,則訊息動作會是: http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/[SYNONYM_NAME]/Select

當您在配接器中的同義字上叫用作業時,配接器會呼叫 Oracle 資料庫中的同義字來執行作業。 不過,配接器會在同義字定義中使用基礎物件名稱來擷取中繼資料。

同義字可用於一般輸出作業、複合作業和輪詢。

注意

您可以在取用配接器服務增益集或新增配接器服務參考外掛程式中搜尋同義字,就像其他物件一樣。 不過,您無法從略過層級節點搜尋同義字套件內的程式,因為您可以針對封裝內的程式執行。 如需在配接器中搜尋作業的相關資訊,請參閱 流覽、搜尋及取得 Oracle 資料庫作業的中繼資料

另請參閱

可以使用配接器執行哪些作業?