Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 вызов функции через dblink  [new]
ЕНЯ
Member

Откуда:
Сообщений: 30
есть две базы: 1 -oracle 11
2 - oracle XE

создаю функцию на 2 бд:
CREATE OR REPLACE FUNCTION date_now RETURN DATE IS
BEGIN
  RETURN SYSDATE;
END;

на 1 бд создаю dblink:
create public database link db_link2
connect to system
identified by sys_password
  using '  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = host)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )';
и пытаюсь выполнить:
select system.date_now@db_link2 from dual
и выдает ошибки:
ORA-04052:error occured when looking up remote object SYSTEM.DATE_NOW@DB_LINK2
ORA-00604:error occured at recursive SQL level 1
ORA-06544:PL/SQL internal error, arguments:[55916], [],[],...
ORA-06553:PLS-801: internal error [55916]
ORA-02063:preceding 2 lines from DB_LINK2


простой select через dblink работает нормально.
16 ноя 10, 11:32    [9786078]     Ответить | Цитировать Сообщить модератору
 Re: вызов функции через dblink  [new]
-2-
Member

Откуда:
Сообщений: 15330
CREATE OR REPLACE FUNCTION SYSTEM.date_now RETURN DATE IS
BEGIN
  RETURN SYSDATE;
END;
16 ноя 10, 11:42    [9786192]     Ответить | Цитировать Сообщить модератору
 Re: вызов функции через dblink  [new]
ЕНЯ
Member

Откуда:
Сообщений: 30
-2-
CREATE OR REPLACE FUNCTION SYSTEM.date_now RETURN DATE IS
BEGIN
  RETURN SYSDATE;
END;

точно такая же ошибка
16 ноя 10, 12:01    [9786377]     Ответить | Цитировать Сообщить модератору
 Re: вызов функции через dblink  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
ЕНЯ,

1) вы уверены что именно у system-а хотите ту функцию поселить и соответственно, линк на него создать? это, даже в качестве экспериментов 'на кошках' - оч.плохая практика.
2) select date_now@db_link2 from dual; попробуйте
16 ноя 10, 12:09    [9786454]     Ответить | Цитировать Сообщить модератору
 Re: вызов функции через dblink  [new]
Darkripple
Member

Откуда:
Сообщений: 101
ЕНЯ,

на базе ХЕ функцию date_now создавали от system-а чтоли?

а что значит "простой select через dblink" - это вроде такого "select * from dual@db_link2" ?
16 ноя 10, 12:17    [9786518]     Ответить | Цитировать Сообщить модератору
 Re: вызов функции через dblink  [new]
Сергей Арсеньев
Member

Откуда:
Сообщений: 4118
CREATE DATABASE LINK db_link2 
CONNECT TO system IDENTIFIED BY sys_password
USING 'host/XE';

не пробовали?

у меня

select date_now@dl_1 from dual;
возвращает результат.
16 ноя 10, 12:26    [9786612]     Ответить | Цитировать Сообщить модератору
 Re: вызов функции через dblink  [new]
Viewer
Member

Откуда: Самара
Сообщений: 5369
This error is an interoperability error due to the bug 4511371, which is fixed by applying the 10.1.0.5.0 patchset for 10gR1 and 10.2.0.2.0 patchset for 10gR2.
Ref. Metalink note 4511371.8

According to Oracle, the minimum version of the database that can be linked
to an 11G database is 10.2.0.2. XE is 10.2.0.1

?
16 ноя 10, 12:38    [9786713]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить