在托管在不同服务器中的数据库中创建表的同义词

时间:2012-07-26 03:44:44

标签: oracle synonym netezza

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

1 个答案:

答案 0 :(得分:11)

对于Oracle,您将创建一个指向远程数据库的数据库链接:

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

然后创建同义词:

CREATE SYNONYM syn FOR schema.table@rmt;

然后简单地选择x,y,z FROM syn;

不确定netezza。

编辑:

你不能使用" - "数据库链接名称中的字符。

如果您选择在链接名称中使用IP地址,则必须用双引号括起链接名称。不知道你为什么要这样做 - 如果远程数据库的IP地址发生了变化怎么办?对我来说,DB链接名称应该是远程数据库的助记符。 IP地址告诉我很少。