Etiketler

, , , , ,


Oracle | Tablo ve Görünümlerim Meta Verileri | USER_TAB_COLS

oracle_logoYeni yeni .net geliştiriceleri için Oracle veritabanı kullanmak bir dezavantaj olmaktan çıka dursun, birçok projede Oracle özelinde çözümler bulmak zorunda kalmışızdır. Son sürümleriyle birlikte Entity Framework Oracle desteğini sunuyor olmasına rağmen, büyük kurumsal projelerinizde tüm kontrolun kendinizde olmasını tercih edebilirsiniz. Projenizin hangi safhasınında, hangi bölümlerimde dış uygulamalardan faydalanacak (projenizin içine dahil edecek) olup olmadığınız sizin taktirinizdedir. Bunların avantaj ve dezavantajları uzun bir tartışma konusundur. En yüzelsel olarak bu ürünlerin mevcut ve yeni sürümlerle gelen iyiliştirmelerden faydalanamayacak olsanız bile değişimlerden de etkilenmeyeceksiniz. Stabilitesine, güvenliğine inansanız bile hiç bir zaman (kaynak kodları açık dahi olsa kendinizin yazmadığı bir ürün olduğu için) tam anlamıyla güvenemeyeceksiniz. Ama zaman kısıtı gibi büyük baskı unsuru etkenler bizleri zaman zaman bu ürünleri kullanmaya, büyük projlerimizin bile içine dahil etmeye ittiği su götürmez bir gerçektir.

Bu yazımızda, Oracle kullanıcıları için, veritabanındaki tablo ve görünüm yapısına nasıl ulaşacağınızı ve bunu nasıl kullanabileceğiniz üzerine konuşacağız. Olur ki bir kendi Entity Framework‘unuzu yazma ihtiyacı hissedersiniz, ya da o kadar olmasada tablo ve görünüm (view) lerinize ait entity ler oluşturmak istersiniz…

Yukarıdaki PL-SQL cümlesi sayesinde veritabanınızdaki tüm tablo ve görünümlerim sutun bilgilerine ulşabilirsiniz. (Not : Resimleri büyütmek için üzerlerine tıklayınız.)

Tablolarınızın meta verilerine ayrı ulaşmak isterseniz,

Görünümlerinizin meta verilerine ayrıca ulaşmak isterseniz,

PL-SQL script lerinizi kullanabilirsiniz.

Burada sözü edilen ana tablo USER_TAB_COLS gorünümüdür. SYSDBA olarak Oracle bağlanmanız halinde ilgili tabloyu görebilirsiniz. Yine bu hesaptan bağlandığınızda görebileceğiniz başka bir görünüm olan USER_ALL_TABLES dan da faydalanabilirsiniz. Yukarıda verdiğim kodları herhangi bir kullanıcı hesabından çalıştırabilirsiniz. Bu konuda herhangi bir yetki kısıtlaması yoktur.