PL/SQL:ORA-00980同義詞轉換不再有效
昨天下午已合作伙伴公司的開發人員打電話來求救,說他的儲存編譯出錯,還截了圖給我:
通過了解情況,情況大概是這樣的,我們有一個HR的資料庫,這個資料庫中有員工表,另外我還有一個介面資料庫NEW_XZPT,他們有自己的資料庫busi,現在這個錯誤是在他們自己的busi資料庫上出現的。其中介面資料庫訪問hr資料庫是通過建立同義詞的方式,用dblink來連線的,他們自己資料庫也是通過dblink來訪問介面資料庫的。現在在他們的資料庫中的PLSQL中執行select empno into num select empno from tb_employee@new_xzpt報ora-00980錯誤,但是單獨執行select * from tb_employee@new_xzpt不報錯。
通過分析我看到MOS上有一篇文章ORA-00980 when PL/SQL Block uses Synonym to Synonym to Table over Dblinks (Doc ID 453754.1)和這個類似,文章說這是oracle的一個bug:2829591 。
文章中提到了解決辦法,就是直接建立他們自己資料庫到我們這邊的HR資料庫的dblink。嘗試了這個當然是可以的。
另外我還讓他們嘗試了另外一個辦法:
就是在他們的PLSQL中,將select * from tb_employee@new_xzpt先建立成一個view,然後再plsql程式中直接查詢view。也可以解決這個問題。
最終還是採用了第二種辦法來解決的。原因是我們只准一臺介面資料庫能和外界建立關係。HR資料庫是不能對外開放的。
問題解決!
通過了解情況,情況大概是這樣的,我們有一個HR的資料庫,這個資料庫中有員工表,另外我還有一個介面資料庫NEW_XZPT,他們有自己的資料庫busi,現在這個錯誤是在他們自己的busi資料庫上出現的。其中介面資料庫訪問hr資料庫是通過建立同義詞的方式,用dblink來連線的,他們自己資料庫也是通過dblink來訪問介面資料庫的。現在在他們的資料庫中的PLSQL中執行select empno into num select empno from tb_employee@new_xzpt報ora-00980錯誤,但是單獨執行select * from tb_employee@new_xzpt不報錯。
通過分析我看到MOS上有一篇文章ORA-00980 when PL/SQL Block uses Synonym to Synonym to Table over Dblinks (Doc ID 453754.1)和這個類似,文章說這是oracle的一個bug:2829591 。
文章中提到了解決辦法,就是直接建立他們自己資料庫到我們這邊的HR資料庫的dblink。嘗試了這個當然是可以的。
另外我還讓他們嘗試了另外一個辦法:
就是在他們的PLSQL中,將select * from tb_employee@new_xzpt先建立成一個view,然後再plsql程式中直接查詢view。也可以解決這個問題。
最終還是採用了第二種辦法來解決的。原因是我們只准一臺介面資料庫能和外界建立關係。HR資料庫是不能對外開放的。
問題解決!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12129601/viewspace-1064270/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一次對dual表的恢復操作(ORA-00980:同義詞轉換不再有效錯誤解決方法) (轉載)
- 【Oracle】-【同義詞】-public與非public同義詞Oracle
- Oracle同義詞建立方法(轉)Oracle
- 物件、同義詞和公有同義詞順序選取物件
- 【學習】SQL基礎-017-同義詞SQL
- 寫論文如何同義轉換
- 授權與同義詞
- ORACLE公有/私有同義詞Oracle
- 詳解同義詞(synonym)
- SQL&PL/SQL (轉)SQL
- 中考常見同義詞和同義短語總結
- Pl/SQL 自定義型別SQL型別
- 自定義PL/SQL異常SQL
- 匯出oracle公有同義詞Oracle
- Oracle中的同義詞SYNONYMOracle
- Oracle同義詞建立方法Oracle
- 多層巢狀同義詞巢狀
- Oracle同義詞 kingsql作品OracleSQL
- 官檔同義詞學習
- 【SQL】Oracle查詢轉換之謂詞推送SQLOracle
- 在全文索引中同義詞的使用(SQL SERVER 2005)索引SQLServer
- 匯出Oracle中的同義詞Oracle
- SYS查詢不到的同義詞
- 資料庫鏈與同義詞資料庫
- T-SQL、Jet SQL、PL-SQL 的含義SQL
- 6.5. 常用物件——6.5.4. 同義詞物件
- Oracle資料庫開發——同義詞Oracle資料庫
- 【pl/sql】PLSQL常用配置【轉】SQL
- 漢字轉拼音pl/sqlSQL
- 同義詞相似度可以怎樣計算
- 同義詞The schema object cannot be contained in a package.ObjectAIPackage
- 學習筆記 過程、同義詞、序列筆記
- PL/SQL初學者必讀:幾十個實用的PL/SQL (轉)SQL
- PL/SQL基本語法要素(轉)SQL
- Elasticsearch:使用同義詞 synonyms 來提高搜尋效率Elasticsearch
- Oracle之處理synonym同義詞無效物件Oracle物件
- Oracle——04同義詞與資料庫連結Oracle資料庫
- 客戶編號分配中,PL/SQL型別自動轉換問題SQL型別