Oracle-9i
當基表不存在時,為什麼我會收到不正確的錯誤“ORA-01775: looping chain of synonyms”?
我使用 Informatica 管理一些將數據載入到 Oracle 9i 數據倉庫中的 ETL 流程。
今天我在 Informatica 會話日誌中收到以下錯誤:
Message: Database driver error... CMN_1022 [DELETE FROM SOME_TABLE WHERE PERIOD_NAME = 'OCT-12' ORA-01775: looping chain of synonyms Database driver error... Function Name : executeDirect SQL Stmt : DELETE FROM SOME_TABLE WHERE PERIOD_NAME = 'OCT-12' Oracle Fatal Error Database driver error... Function Name : ExecuteDirect Oracle Fatal Error ]
現在這是一個印刷錯誤,表名拼寫錯誤。Oracle 錯誤顯然將我們引向了錯誤的方向……所以只是想了解為什麼在同義詞沒有問題時會顯示此錯誤。
當你有一個“懸空”同義詞時會發生這種情況,因為它指向它自己。
例如:
SQL> create table blah ( a number ); Table created. SQL> create public synonym blah for blah; Synonym created. SQL> drop table blah; Table dropped. SQL> select * from blah; select * from blah * ERROR at line 1: ORA-01775: looping chain of synonyms SQL>