查询远程时 DBlink 错误 table

DBlink error when querying the remote table

我正在使用以下命令创建数据库 link。我没有更新 tnsnames.ora,而是在命令中使用了详细信息。

  CREATE DATABASE LINK test
  CONNECT TO apps IDENTIFIED BY xyzabc
  USING '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=awsss3270429.us.dell.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=dell122de))';

DBLink 创建成功。但是

当我触发以下查询时出现错误。

select * from USER_CS_SRS@test; . table `USER_CS_SRS` exist in remote database.

附上错误。

我对 DB 很陌生。任何人都可以帮助我。

您的连接字符串末尾缺少右括号。您的创建语句应该结束:

...(CONNECT_DATA=(SERVICE_NAME=opm122de)))';
-----------------------------------------^

正在重新创建您发布的内容:

CREATE DATABASE LINK test
CONNECT TO apps IDENTIFIED BY xyzabc
USING '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rws3270429.us.oracle.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=opm122de))';

select * from USER_CS_SRS@test;

Error report -
SQL Error: ORA-12154: TNS:could not resolve the connect identifier specified
...

添加最后的 ) 更改:

drop database link test;

CREATE DATABASE LINK test
CONNECT TO apps IDENTIFIED BY xyzabc
USING '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rws3270429.us.oracle.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=opm122de)))';

select * from USER_CS_SRS@test;

Error report -
SQL Error: ORA-12545: Connect failed because target host or object does not exist
...

这是一个不同的错误;对我来说这是完全合理的,因为我无法解决 rws3270429.us.oracle.com,更不用说达到它了。正如您的个人资料所说,您为 Oracle 工作,大概可以 - 这要么有效,要么会引发不同的错误。无论哪种方式,原始的 ORA-12154 错误都已修复。