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

che*_*lkt 6 oracle synonym netezza

在oracle中,如果其他数据库在同一服务器中,我会执行以下操作来创建同义词

CREATE SYNONYM synonymName FOR databaseName.schema.table;
Run Code Online (Sandbox Code Playgroud)

如何为托管在不同服务器中的数据库中的表创建同义词,以便我可以提供服务器连接凭据.

我需要这个oracle和netezza.

编辑:通过参考下面的答案尝试(对于Oracle),当远程链接包含IP地址或链接名称中的" - "时,我收到语法错误.例如.

CREATE PUBLIC DATABASE LINK abc-def.xyz.com CONNECT TO user IDENTIFIED BY pw USING 'databaseName';
Run Code Online (Sandbox Code Playgroud)

DCo*_*kie 11

对于Oracle,您将创建到远程数据库的数据库链接:

CREATE PUBLIC DATABASE LINK rmt CONNECT TO user IDENTIFIED BY pw USING 'remotedb';
Run Code Online (Sandbox Code Playgroud)

然后创建同义词:

CREATE SYNONYM syn FOR schema.table@rmt;
Run Code Online (Sandbox Code Playgroud)

然后只需SELECT x,y,z FROM syn;

关于netezza不确定.

编辑:

您不能在数据库链接名称中使用" - "字符.

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