Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 ORA-04052: error occurred when looking up remote object  [new]
dmdmdm
Member

Откуда: Нижний Новгород
Сообщений: 1639
В рамках этой задачи не хочу разбираться в проблемах связи 10-й и 11-й версии.

Варианты решения:

1. Установить и использовать 10-ку. Скорее всего, так и поступлю.

2. Для самообразованности. Можно ли запросить секвенс, или выполнить процедуру/функцию через dblink без создания синонима?

+
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 
Connected as system@ORCL

SQL> create synonym head_sq for head_sq@RUSS;

Synonym created


SQL> select head_sq.nextval from dual;

   NEXTVAL
----------
   5795926

SQL> drop procedure test;

Procedure dropped


SQL> 
SQL> create procedure test is
  2    v_head_id number;
  3  begin
  4    select head_sq.nextval into v_head_id from dual;
  5    dbms_output.put_line('NEW ID:' || v_head_id);
  6  end;
  7  /

Procedure created


SQL> set SERVEROUTPUT ON
SQL> exec test;

NEW ID:5795928

PL/SQL procedure successfully completed


SQL> 


+
Connected to Oracle Database 11g Express Edition Release 11.2.0.2.0 
Connected as system@RUSTEST

SQL> create synonym head_sq for head_sq@RUSS;

Synonym created


SQL> select head_sq.nextval from dual;

   NEXTVAL
----------
   5795929

SQL> 
SQL> create procedure test is
  2    v_head_id number;
  3  begin
  4    select head_sq.nextval into v_head_id from dual;
  5    dbms_output.put_line('NEW ID:' || v_head_id);
  6  end;
  7  /

Warning: Procedure created with compilation errors


SQL> show errors;
Errors for PROCEDURE SYSTEM.TEST:
LINE/COL ERROR
-------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0/0      ORA-04052: error occurred when looking up remote object BIG3.HEAD_SQ@RUSS  ORA-00604: error occurred at recursive SQL level 1  ORA-06544: PL/SQL: internal error, arguments: [55916], [], [], [], [], [], [], []  ORA-06553: PLS-801: internal error [55916]  ORA-  

SQL> 
18 ноя 20, 09:51    [22234381]     Ответить | Цитировать Сообщить модератору
 Re: ORA-04052: error occurred when looking up remote object  [new]
Elic
Member

Откуда:
Сообщений: 29980
dmdmdm
10-й и 11-й версии
Версии обоих, кстати, не ахти.
dmdmdm
Можно ли запросить секвенс, или выполнить процедуру/функцию через dblink без создания синонима?
Странный вопрос. RTFM References to Identifiers
18 ноя 20, 10:01    [22234385]     Ответить | Цитировать Сообщить модератору
 Re: ORA-04052: error occurred when looking up remote object  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6727
dmdmdm,

Ставьте свежее.
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.5.0.0.0

SQL> create synonym dropme_seq for dropme_seq@lnk;

Synonym created.

SQL> declare
  2      n number;
  3  begin
  4      select dropme_seq.nextval into n from dual;
  5      select dropme_seq.nextval@lnk into n from dual;
  6  end;
  7  /

PL/SQL procedure successfully completed.
18 ноя 20, 10:06    [22234388]     Ответить | Цитировать Сообщить модератору
 Re: ORA-04052: error occurred when looking up remote object  [new]
dmdmdm
Member

Откуда: Нижний Новгород
Сообщений: 1639

SQL> create synonym dropme_seq for dropme_seq@lnk;



Можно ли запросить секвенс, или выполнить процедуру/функцию через dblink без создания синонима?
18 ноя 20, 13:34    [22234562]     Ответить | Цитировать Сообщить модератору
 Re: ORA-04052: error occurred when looking up remote object  [new]
dmdmdm
Member

Откуда: Нижний Новгород
Сообщений: 1639
Elic
Странный вопрос. RTFM References to Identifiers


Если вы про это: unit_name.simple_identifier_name@link_to_remote_database, то меня интересует возможность unit_name.simple_identifier_name.method@link_to_remote_database без создания синонима для unit_name.simple_identifier_name.
18 ноя 20, 13:35    [22234564]     Ответить | Цитировать Сообщить модератору
 Re: ORA-04052: error occurred when looking up remote object  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6727
dmdmdm
Можно ли запросить секвенс, или выполнить процедуру/функцию через dblink без создания синонима?

Дальше не прочли?
env
select dropme_seq.nextval@lnk into n from dual;


В приведённом коде основной косяк - отсутствие явного commit/rollback
18 ноя 20, 14:19    [22234593]     Ответить | Цитировать Сообщить модератору
 Re: ORA-04052: error occurred when looking up remote object  [new]
dmdmdm
Member

Откуда: Нижний Новгород
Сообщений: 1639
>>> select dropme_seq.nextval@lnk into n from dual;

Благодарю.
Видимо, мои варианты были неверно написаны.
18 ноя 20, 16:05    [22234712]     Ответить | Цитировать Сообщить модератору
 Re: ORA-04052: error occurred when looking up remote object  [new]
dmdmdm
Member

Откуда: Нижний Новгород
Сообщений: 1639
Суматошный день.

Написаны были верно.

Не работало именно в составе процедуры при линке с 11-го на 10-й, она не компилировалась.

Уже воткнул 10-й, проблема решена.
18 ноя 20, 16:16    [22234720]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить