在不同的服务器上运行的数据库创建表同义词

问题描述:

在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'; 

对于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

除了@DCookie

如果你想创建远程数据库的同义词。

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