前幾天編寫一個存儲過程,需要訪問遠程數(shù)據庫的字段,于是建立一個dbLink并建了同義詞:
CREATE PUBLIC DATABASE LINK orcl@dbc CONNECT TO orcl IDENTIFIED BY orcl USING 'orcl'; CREATE SYNONYM mtb FOR mytable@orcl@dbc;
這里之所以用orcl@bdc為dblink的名稱是為了設置global_names=true。
然后新建一個存儲過程調用該同義詞:
v_result mtb.sid%type;
調用后發(fā)現(xiàn)提示:錯誤:PLS-00201: 必須聲明標識符 'MTB.SID';
經過多番查找發(fā)現(xiàn)確實是因為身份原因,這里需要注意一定要在被訪問的數(shù)據庫中賦予權限,具體代碼如下:
grant select on mytable to orcl;--orcl為用戶名
然后就編譯通過了。
總結
以上所述是小編給大家介紹的Oracle報存儲過程中調用DBLink同義詞出現(xiàn)錯誤:PLS-00201: 必須聲明標識符,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!