7

我在我的域服务器名称“HBHAWANI”(Oracle 8i 版本)上有一个名称为“HBHAWANI”的数据库。每当我尝试在这里创建一个 dblink 时,它都会给出错误:

Link  : "DBLINK_DOMAINSERVERTOUPASS_PP"  
Error : ORA-02085: database link DBLINK_DOMAINSERVERTOUPASS_PP connects to ORACLE  

DBLink 的脚本是:

CREATE PUBLIC DATABASE LINK DBLINK_DOMAINSERVERTOUPASS_PP  
CONNECT TO UPASS.HBHAWANI  
IDENTIFIED BY <PWD>  
USING 'UPASS.HBHAWANI';  

我已经尝试了很多但发生了同样的错误。请就此提出建议。

4

1 回答 1

17

您可能已global_names设置为true,但您并没有完全按照您的想法进行连接。是您要访问的connect to远程数据库上的用户帐户,对应于您在identified by子句中提供的密码。using看起来像一个tnsnames.ora条目,但它connect_data指向的 SID为ORACLE; 将该条目添加到您的问题中可能会有所帮助。看起来您当前在usingandconnect to子句中都给出了别名,这可能是不正确的。

启用时,数据库链接名称必须与global_names远程数据库名称匹配——它是实际名称,而不是您给它的别名。这意味着您的数据库链接名称必须是ORACLE,这可能有点令人困惑。

您也可以在数据库级别关闭该global_names设置,但这可能是不允许或不可取的。如果这是一个很少使用的链接,您也可以alter session set global_names=false在使用该链接的任何查询之前添加。不过,从长远来看,让您的名字保持一致可能不会那么令人困惑。

于 2012-04-03T08:52:15.960 回答