2012-07-26 83 views
5

在Oracle中,如果其他數據庫在同一服務器中,我做了以下創建一個同義詞在不同的服務器上運行的數據庫創建表同義詞

CREATE SYNONYM synonymName FOR databaseName.schema.table; 

我應該怎麼做來創建承載在不同服務器上的數據庫中的表的同義詞,以便我可以提供服務器連接憑證。

我需要這兩個oracle和netezza。

編輯:在參考以下答案嘗試(對於Oracle)時,當遠程鏈接包含IP地址或鏈接名稱中的' - '時,出現語法錯誤。例如。

CREATE PUBLIC DATABASE LINK abc-def.xyz.com CONNECT TO user IDENTIFIED BY pw USING 'databaseName'; 

回答

8

對於Oracle,您將創建一個數據庫鏈接到遠程數據庫:

CREATE PUBLIC DATABASE LINK rmt CONNECT TO user IDENTIFIED BY pw USING 'remotedb'; 

然後創建同義詞:

CREATE SYNONYM syn FOR [email protected]; 

然後簡單地選擇X,Y,Z受到SYN ;

不知道netezza。

編輯:

您不能使用「 - 」數據庫中的鏈接名稱的字符。

如果您選擇在鏈接名稱中使用IP地址,則必須用雙引號括住鏈接名稱。不知道爲什麼你要這樣做 - 如果遠程數據庫的IP地址發生變化怎麼辦?對我而言,數據庫鏈接名稱應該是遠程數據庫的助記符。 IP地址告訴我一點。

+0

你介意看看上面的編輯嗎? – chemicalkt 2012-07-30 05:48:21

0

除了@DCookie

如果你想創建遠程數據庫的同義詞。

CREATE PUBLIC DATABASE LINK rmt CONNECT TO user IDENTIFIED BY pw USING 
'HOST_NAME:PORT/SERVICE_NAME_SID' 
相關問題