Как отладить РТЫ 01775: цепочка цикличного выполнения синонимов?

Указатель NULL - это тот, который указывает на никуда. Когда вы разыскиваете указатель p, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p является нулевым указателем, местоположение, хранящееся в p, является nowhere, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception.

В общем, это потому, что что-то не было правильно инициализировано.

44
задан kennytm 2 November 2010 в 08:47
поделиться

5 ответов

Как оказалось, проблемой не была на самом деле цепочка цикличного выполнения синонимов, но то, что синоним указывал на представление, которое не существовало.

Oracle, по-видимому, ошибки как цепочка цикличного выполнения в этом условии.

70
ответ дан Josh Kodroff 26 November 2019 в 21:40
поделиться

http://ora-01775.ora-code.com/ предлагает:

РТЫ 01775 : цепочка цикличного выполнения синонимов
Причина : Через серию СОЗДАЮТ операторы синонима, синоним был определен, который упомянул себя. Например, следующие определения являются круговыми:
CREATE SYNONYM s1 for s2 CREATE SYNONYM s2 for s3 CREATE SYNONYM s3 for s1
Действие : Измените одно определение синонима так, чтобы оно относилось к базовой таблице или представлению, и повторите операцию.

-1
ответ дан warren 26 November 2019 в 21:40
поделиться

Таблица DBA_SYNONYMS словаря данных имеет информацию обо всех синонимах в базе данных. Таким образом, можно выполнить запрос

SELECT table_owner, table_name, db_link
  FROM dba_synonyms 
 WHERE owner        = 'PUBLIC'
   AND synonym_name = <<synonym name>>

для наблюдения то, на что в настоящее время указывает общедоступный синоним.

22
ответ дан Justin Cave 26 November 2019 в 21:40
поделиться

У меня была аналогичная проблема, которая оказалась вызвана отсутствием двойных кавычек в таблице и имени схемы.

1
ответ дан 26 November 2019 в 21:40
поделиться

Для нашего применения все константы находятся в таблице. Для их извлечения используется простая функция. Нет проблем с перекомпиляцией, ORA-04068,...

-121--2705482-

Я бы сказал, чтобы пойти с Жар-птицей - является наиболее используемым ядром базы данных в стране Delphi (см. здесь ). Для подключения, возможно, лучше пойти с Zeos (бесплатно) или DBX (если вы можете позволить себе Architect версии - единственной, кто имеет в ней драйвер Firebird).

О ADO: Зрелый уровень подключения, но он будет (навсегда - скорее всего) связан с Windows, в то время как Delphi будет идти кроссплатформенным. Кроме того, да, это, как правило, медленнее по многим причинам, включая драйверы ODBC, которые используются в определенных ситуациях. Но в вашем случае, конечно, как говорит скамрадт, я не думаю , что это будет так важно.

-121--3909661-

Сегодня я получил эту ошибку, и после отладки я понял, что фактические таблицы были пропущены, что я имел в виду, используя синонимы. Поэтому я предлагаю - сначала проверить, существуют ли таблицы!!: -))

3
ответ дан 26 November 2019 в 21:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: