मुझे लगता है कि जस्टिन सही रास्ते पर है। मुझे लगता है कि इसका वास्तव में मतलब यह है कि mydbowner.mytable मौजूद नहीं है।
यहां एक उदाहरण दिया गया है:
SQL> conn mbobak
Enter password:
Connected.
SQL> drop table mytable;
drop table mytable
*
ERROR at line 1:
ORA-00942: table or view does not exist
SQL> create public synonym mytable for mbobak.mytable;
Synonym created.
SQL> select * from mytable;
select * from mytable
*
ERROR at line 1:
ORA-01775: looping chain of synonyms
मुझे लगता है कि क्या हो रहा है कि Oracle mytable को हल करने का प्रयास करता है, mbobak स्कीमा में कोई mytable नहीं है, इसलिए यह इसे सार्वजनिक में ढूंढता है, इसे पाता है, और देखता है कि यह mbobak.mytable को इंगित करता है। लेकिन, mbobak.mytable मौजूद नहीं है, इसलिए, यह सार्वजनिक में mytable की तलाश करता है, और वहाँ लूप है।
और वास्तव में, यदि आप mytable बनाते हैं, तो त्रुटि दूर हो जाती है:
SQL> create table mytable as select * from dual;
Table created.
SQL> select * from mytable;
D
-
X
1 row selected.
SQL> drop table mytable;
Table dropped.
SQL> select * from mytable;
select * from mytable
*
ERROR at line 1:
ORA-01775: looping chain of synonyms
हां, मुझे एहसास है कि वास्तव में पूरी तरह से समझ में नहीं आता है, जैसे, एक बार सार्वजनिक समानार्थी mbobak.mytable को हल कर दिया गया है, और यह नहीं मिला है, ऐसा लगता है कि इसे एक त्रुटि ओआरए -942 वापस करनी चाहिए "तालिका या दृश्य मौजूद नहीं है ", जो मेरे लिए कहीं अधिक मायने रखता है।
लेकिन, ऐसा लगता है कि यह कैसे काम करता है।
क्यूईडी
आशा है कि यह मदद करता है।