Ошибка DBlink при запросе удаленной таблицы - PullRequest
1 голос
/ 20 февраля 2020

Я создаю ссылку на БД с помощью приведенной ниже команды. Я не обновил 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.

Ошибка прилагается. enter image description here

Я довольно новичок в DB. Кто-нибудь может мне помочь в этом же.

1 Ответ

1 голос
/ 20 февраля 2020

Вам не хватает закрывающей скобки в конце строки подключения. Ваше заявление на создание должно закончиться:

...(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 была исправлена.

...