前幾天編寫一個存儲過程,需要訪問遠(yuǎn)程數(shù)據(jù)庫的字段,于是建立一個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的名稱是為了設(shè)置global_names=true。
然后新建一個存儲過程調(diào)用該同義詞:
調(diào)用后發(fā)現(xiàn)提示:錯誤:PLS-00201: 必須聲明標(biāo)識符 'MTB.SID';
經(jīng)過多番查找發(fā)現(xiàn)確實是因為身份原因,這里需要注意一定要在被訪問的數(shù)據(jù)庫中賦予權(quán)限,具體代碼如下:
grant select on mytable to orcl;--orcl為用戶名
然后就編譯通過了。
總結(jié)
以上所述是小編給大家介紹的Oracle報存儲過程中調(diào)用DBLink同義詞出現(xiàn)錯誤:PLS-00201: 必須聲明標(biāo)識符,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!