powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Не удается получить данные по ДБ-Линк, в чем причина?
3 сообщений из 3, страница 1 из 1
Не удается получить данные по ДБ-Линк, в чем причина?
    #39637120
Ivanco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.
Ситуация следующая.

Имеется 2 БД:
Локальная БД

Удаленная БД, работающая в режиме только чтение (STANDBY)

Работаю на локальной БД.

Пытаюсь забрать данные на Локальную БД из Удаленной БД, в SQL , все проходит успешно:
Код: plsql
1.
INSERT INTO DEV.REPORT (SELECT * FROM SC.REPORT@REMOTE WHERE id > 100);



Если же я делаю то же самое в PL/SQL , то получаю ошибку:
Код: plsql
1.
2.
3.
BEGIN
  INSERT INTO DEV.REPORT (SELECT * FROM SC.REPORT@REMOTE WHERE id > 100);
END;

Код: plsql
1.
2.
3.
4.
ORA-06550: line 2, column 71:
PL/SQL: ORA-04063: table "SC.REPORT" has errors
ORA-06550: line 2, column 3:
PL/SQL: SQL Statement ignored



Таблица REPORT на Локальной и Удаленной БД имеет одинаковую структуру.

В чем причина такой ошибки?
Может это возникать из-за того, что в 2-х используемых БД таблица и индексы имеют одинаковые наименования?
...
Рейтинг: 0 / 0
Не удается получить данные по ДБ-Линк, в чем причина?
    #39637801
Ivanco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дополню.
Когда внутри этого PL/SQL блока заворачиваю команду в динамический SQL, все отрабатывает:
Код: plsql
1.
2.
3.
BEGIN
  EXECUTE IMMEDIATE 'INSERT INTO DEV.REPORT (SELECT * FROM SC.REPORT@REMOTE WHERE id > 100)';
END;



С чем связано такое поведение и как это вылечить?

Возможно это ограничения взаимодействия с Удаленной БД, открытой только на чтение?
Или может быть это связано с тем что на Локальной БД стоит ORACLE 11, а на Удаленной - ORACLE 12?

Отмечу, что такая ошибка возникает как-то избирательно. К некоторым таблицам при таком же формате обращения доступ осуществляется без ошибок.
...
Рейтинг: 0 / 0
Не удается получить данные по ДБ-Линк, в чем причина?
    #39637884
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Звездочка - это т.н. синтаксический сахар.
Она раскрывается в полный перечень полей в момент компиляции.
И ddl вашей таблицы содержит нечто, не перевариваемое pl/sql машиной.
Проверьте имена полей таблицы на предмет присутствия в v$reserved_words.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Не удается получить данные по ДБ-Линк, в чем причина?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]