Oracle'da ORA-00942 Table or view does not exist (ORA-00942: tablo veya görüntü mevcut degil) hatasını TOAD üzerinden HR(Human Resource) kullanıcısı ile anlatacağım. PL/SQL çalışmak için HR(Human Resource) veri tabanını önerebilirim.
Basit bir SELECT yaptığımızda ilk resimdeki gibi hatayı alırız.
SELECT * FROM EMPLOYEES
Bu sorunun iki çözümü var. İlki ve basit olan SELECT komutu kullanırken Table(Tablo) başına Schema belirtmeniz gerekmektedir. Aşağıdaki gibi komutu yazarsanız hata vermeyecektir;
SELECT * FROM HR.EMPLOYEES
İkinci çözüm ise Tabloyu SELECT eden kullanıcıya yetki verirseniz sorun düzelir. Doğrudan yetki vermek istemiyorsanız SYNONYM ile ona yetki verebilirsiniz;
CREATE PUBLIC SYNONYM EMPLOYEES FOR HR.EMPLOYEES;
GRANT SELECT ON EMPLOYEES TO HR;
Şimdi aşağıdaki komutu çalıştırabilirsiniz;
SELECT * FROM EMPLOYEES
Diğer ORACLE Hataları ve Tanımları;
1) ORA-00904: Geçersiz belirleyici (Invalid Identifier) şeklinde alınan hata mesajıdır. Tabloda olmayan bir alanı SQL'de kullandığımızda bu hata mesajını alırız ve o tablo veya kolona Data atmaz Error mesaj döner.
2) ORA-00936: Kullandığınız sorgudaki yazım yanlışlığından ortaya çıkar.
3) ORA-00942: Oracle yetki sorunu varsa bunu da tablo yok olarak gösterir güvenlik sebebiyle.
Hiç yorum yok:
Yorum Gönder
Makaleye Yorum ve Sorularınızı Bırakabilirsiniz.