在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';
答案 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地址告诉我很少。