[英]Table or view doesn't exist when DBlink is wrong
如果我運行下面的查詢, 我得到找不到遠程數據庫ORA-02019連接描述為DBLINK BLAH是不存在的。
SELECT * FROM DUAL@BLAH;
但是,如果我將其放在匿名塊中,則它給出的ORA-00942表或視圖不存在錯誤。
BEGIN
SELECT * FROM DUAL@BLAH;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
試試這個(動態SQL),您將獲得ORA-02019 connection description for remote database not found
begin
EXECUTE IMMEDIATE 'select * from dual@blah';
end;
/
ORA-00942 table or view does not exist
的另一個錯誤可能是compilation
錯誤,而不是運行時錯誤。
編譯錯誤的原因是,在編譯semantic
檢查期間,oracle對blah
不了解,因為它沒有定義(同義詞)。
我建議ORA-02019是運行時錯誤。 SQL嘗試在dblink上運行表,但失敗。 這就是ORA-02019發生的原因。 而ORA-00942是編譯時錯誤。 編譯begin..end塊時,它正在驗證對象。 驗證失敗,並且拋出了ORA-00942。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.