C#nedir?com
 
YAZAR HAKKINDA
Süleyman Payaslı
Süleyman Payaslı
http://www.csharpnedir.com/
İletişme geçmek için tıklayın.
7 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler: adimda baglanti burada developer gridview istediginiz kaynagi kaynagini oracle sonra studio tipini urunler visual yordam ADO.NET/SQL Süleyman Payaslı
 
YAZI HAKKINDA
Türü : Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : Orta
Kategori : ADO.NET/SQL
Yayınlanma Tarihi : 22.8.2007
Okunma Sayısı : 42619
Yorum Sayısı : 2     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
Kullanıcı Adı
Şifre
 
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
 
Şifremi / Kullanıcı Adımı unuttum.
 
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
XML - Deniz Kılınç
emre TAŞ
yazının devamı >
emre TAŞ
Decompiling and Reverse Engineering .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
Masaüstü mü ? İnternet Mi? .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
.Net Kavramları - .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
Yeni Başlayanlar için - .Net Radyo
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer 'in Blogu
ChatBot UI Sample 16.12.2017
Turhal Temizer 'in Blogu
C# – IRR Function 16.12.2017
Burak Selim Şenyurt
JWT(JSON Web Token) Kullanımı 16.12.2017
Burak Selim Şenyurt
Apache Kafka ile Konuşmaya Çalışmak 16.12.2017
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
.NET’te Oracle Developer Tools Kullanmak
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon

Bu makalemizde, .NET’te Oracle Developer Tools (ODT) kullanarak nasıl uygulama geliştirebileceğimizi örneklerle göreceğiz. Oracle Developer Tools, Oracle tarafından Visual Studio .NET için geliştirilen bir eklentidir. Oracle sitesinden son sürüm olan Oracle 11g ODAC 11.1.0.5.10 Beta serbest olarak indirilebilir. VS .NET ortamından çıkmadan, Oracle veritabanı imkanlarını ve gücünü .NET kullanıcıları için sunmaktadır. Grafiksel arayüz sunarak Oracle nesnelerini yönetmeye imkan verir. Oracle Developer Tools ile Oracle veritabanlarınızı izleyebilirsiniz. Sunulan sihirbazlar yardımıyla şema yaratabilir veya değiştirebilirsiniz. Bunlara ait nesneleri windows formları üzerine sürükleyerek otomatik kod üretebilirsiniz. PL/SQL debugger ile uyumlu bir PL/SQL bulunmaktadır. Visual Studio ortamını terk etmeden tablolara ekleme, değiştirme ve silme işlemi uygulayabilir, bunların sonuçlarını izleyebilirsiniz. Tablo alanlarını değiştirme, index veya tablo kısıtı (constraint) oluşturma, sıra (sequence) oluşturma işlemlerini kolayca yapabilirsiniz. Stored procedure, package, görüntüler (view), tetikleyiciler (trigger), fonksiyonlar yaratabilir ve istediğiniz değişiklikleri yaparak veritabanı üzerinde istediğiniz biçimde çalışma imkanına sahip olabilirsiniz. Anlık sorgulamalar yapmanıza da olanak verir.

Oracle Developer Tools’u (ODT) indirip kurulumunu eksiksiz yaptığınızı varsayarak bunun kurulumunu ayrıca incelemeye gerek duymuyorum. Kurulumla ilgili problemler çıkarsa, Oracle forumlarına bakabilirsiniz.

Kurulum başarıyla yapıldıktan sonra, Visual Studio IDE’sinde View altında Server Explorer’ı tıklayınız. Eğer bir önceki sürüm olan ODT versiyon 10’u (Oracle10g Release 2 ODAC 10.2.0.2.21) kurarsanız View altında Oracle Explorer görünür.




İlk önce bir Oracle bağlantısı oluşturalım. Server Explorer içindeyken Data Connections üzerine gelelim ve sağa tıklayınca açılan alt menüden Add Connection tıklayalım.

İlk defa kullanıyorsanız, karşınıza veri kaynağını seçeceğiniz Choose Data Source diyaloğu gelecektir. Burada veri kaynağı için Oracle Database Server, veri sağlayıcı için Oracle Data Provider for .NET seçelim ve Continue düğmesine basalım.

Karşınıza veri kaynağını seçeceğiniz, kullanıcı adı ve şifre isteyen Add Connection diyaloğu gelecektir. Veri kaynağını değiştirmek isterseniz, Change düğmesine basarak istediğiniz veri kaynağını seçebilirsiniz. Sürekli belli bir bağlantı tipi kullanılıyorsa, Add Connection diyaloğu direkt karşınıza gelecektir. İsteğinize göre veri kaynağını her zaman değiştirebilirsiniz.

Add Connection diyaloğunda, daha önce oluşturduğunuz bir kullanıcı adını, şifreyi ve veri kaynağı adını giriniz. Size ait parametrelerin farklı olması doğaldır. Ben burada SCOTT kullanıcı adıyla giriş yaptım. Siz SCOTT, HR, OE gibi çok bilinen Oracle hesaplarından herhangi birini veya kendinizin oluşturacağı bir hesapla giriş yapabilirsiniz. Rol için Default seçip, şifreyi kaydetmek için Save Password kutusunu işaretledikten sonra bağlantıyı test etmek için Test Connection düğmesine basınız. Başarılı bağlantı yapıldığında gelen mesaj şu şekildedir:

“Bağlantı başarılı” mesajını aldıktan sonra OK düğmesine basınız. Server Explorer içindeyken SCOTT.ORCL bağlantısının oluşturulduğunu göreceksiniz.

Tablo Oluşturma
Şimdi bir tablo örneği yapalım:
Bir mağazanın güncel ürün listesini tutan basit bir tablo olsun. Bu tabloda ürün stok kodu, ürün açıklaması, birim fiyatı, para birimi ve ürün miktarını adet olarak gösteren alanlarımız yer alsın. Sahaların açıklaması aşağıdadır:

Alan Adı
Tip
Precision
Scale
Null değer
Açıklama
URUN_KODU
VARCHAR2
20
0
Hayır
Ürün stok kodu
ACIKLAMA
VARCHAR2
50
0
Hayır
Ürün açıklaması
FIYATI
NUMBER
8
2
Evet
Ürünün birim fiyatı
PB
CHAR
3
0
Evet
Para birimi
ADET
NUMBER
8
0
Evet
Ürünün miktarI

Yeni bir tablo yaratmak için Tables üzerinde sağ tıklayıp New Relational Table seçiyoruz.

Karşımıza bir tablo tasarım ekranı gelecektir. Tablomuzun adını URUNLER olarak verelim ve alanları eklemek için Add düğmesine basalım. İlk alan adını URUN_KODU, veri tipi VARCHAR2 olarak seçelim. Boş değer girilmesini önlemek için Allow null kutusundaki işareti kaldırmayı unutmuyoruz. Ürün stok kodu uzunluğunun 20 olması yeterlidir.

Tekrar Add düğmesine basalım. İkinci alan adını ACIKLAMA, veri tipi VARCHAR2 ve uzunluğu 50 olarak seçelim.

Tekrar Add düğmesine basalım. Alan adını FIYATI, veri tipini NUMBER olarak girelim.

Para birimi için alan adını PB, veri tipini CHAR olarak seçelim. Para birimini ya da bir başka deyişle, döviz kodunu tutacak olan bu alan için uzunluğun 3 olması yeterlidir. Örnek USD, EUR, YTL gibi.

Ürün miktarlarını adet olarak tutacak sahamızı girelim. ADET alan adı için veri tipini NUMBER olarak seçelim.

Bu aşamada Save düğmesine basarak tabloyu oluşturabilirsiniz. Şimdi tablomuz için kısıtlar (constraints) tanımlaya geçebiliriz.

Tablo Kısıtı (Constraints) Tanımlama
Constraints içinde tanımlayabileceğimiz kısıtlar bunlardır:

  • Primary key
  • Foreign key
  • Check
  • Unique
  • Ref

İlk önce kısıt eklemek için sol kısımdaki Add düğmesine basıyoruz. Add basılırsa, aşağıdaki resim gibi bir ekran karşımıza gelir.

Kısıtın adını URUN_KODU_PK olarak verebiliriz. Tipini Primary Key seçelim ve ilgili alanı seçmek için sağ taraftaki Add düğmesine basalım. Burada dikkat edecek olursanız, URUN_KODU alanınının birincil anahtar ve benzersiz olmasını istiyorsak, Primary Key’i seçmeliyiz.

Save düğmesine basarak tablomuzu kaydedelim. Çıktı ekranı aşağıdaki gibidir.

Veri görüntüleme
Bir tablodaki verileri görmek için menüden Retrieve Data seçmemiz gerekecektir. URUNLER tablosu üzerindeyken sağ tıklayarak Retrieve Data seçelim. Tabloya bir kaç satır girelim. Girdiğimiz verilerin geçerli olmasına dikkat edelim.

Örnek olması bakımından tabloya bir kaç satır girilirse, aşağıdakine benzer bir görüntü ortaya çıkacaktır. Daha sonra Save düğmesine basalım.

Bu yolun güvenli olduğunu kabul etmek çok doğru bir yaklaşım değildir. Bunun sadece bir paket tanıtımı olduğunu unutmayalım. Saklı yordamlar (Stored Procedure) veya paket (Package) kullanmak çok daha güvenli bir yoldur.

Sıra (Sequence) Oluşturma
Sequence, sıralı olarak artan alanlar için veritabanında saklanan bir nesnedir. Yeni bir sıra oluşturmak için önce Sequences üzerinde sağ tıklayıp menüden New Sequence seçmeliyiz. Daha sonra ismi, minimum, maximum değerler ve arttırma adımı gibi değerleri girelim.

Yapacağımız örnek projelerde sequence kullanmayacağız ama yeri gelmişken nasıl kullanıldığınıda görelim. Örneğin, herhangi bir tablo için 1’den başlayıp, birer birer artan TABLO_SEQ adında bir sequence oluşturalım:

Paketler (Packages) Oluşturma ve Kullanma
Paketler (Packages) nesnesi veritabanı içerisinde tanımlanan tüm paketlerin listesini tutar. Yeni bir paket nesnesi oluşturmak için Packages üstünde sağ tıklayıp New Package seçmek gerekir.

Paket ismini belirledikten sonra, pakete bir metod eklemek için Add düğmesine basınız. Bu metod, bir saklı yordam veya fonksiyon olabilir.

Şimdi URUNLER_LISTESI_CEK adlı bir saklı yordam ekleyeyerek işe başlayalım. Metod adı için URUNLER_LISTESI_CEK, metod tipi için prosedür tipini seçelim. Parametre eklemek için Add düğmesine basınız. Parametre adı için URUNLER_IMLEC, parametre yönünü çıkış ve tipini SYS_REFCURSOR olarak verelim. İstediğiniz fonksiyon veya yordamları ekledikten sonra OK düğmesine basınız.

Paketi oluşturmak için şimdi OK düğmesine basınız. Çıktı ekranı aşağıdaki gibidir:

Paket yaratıldıktan sonra Visual Studio içinde paketin gövdesi ekrana gelir.

Artık paket gövdesini düzenleyebilirsiniz. BEGIN – END bloğu içindeki NULL kelimesini bulup aşağıdaki şekilde değiştirebilirsiniz:

OPEN URUNLER_IMLEC FOR SELECT * FROM URUNLER;

Bundan sonra yaptığınız değişiklikleri kaydedip, gelen çıktıdan hata olup olmadığına bakınız. Server Explorer içindeki Package tıklarsanız, oluşturduğunuz paketi, paketin gövdesini, prosedürleri, fonksiyonları ve parametreleri görebilirsiniz.

Yazdığımız prosedürü çalıştırmak istersek, paket içindeki URUNLER_LISTESI_CEK işaretliyken sağa tıklayıp Run seçilmelidir. Yordam çalışması hatasız olursa, sonuçlar ekrana gelecektir.

Windows Uygulaması Örneği
Şimdi, File -> New -> Project basarak Visual C# ile yeni bir windows uygulama projesi açalım. İstediğimiz bir ismi verdikten sonra projede ilk olarak bir veri kaynağı oluşturacağız. Diğer adımlar şunlardır:

Visual Studio içindeki Data menüsüne çıkıyoruz ve Show Data Sources seçiyoruz. Bundan sonra Data Sources paneli görünecektir.

Bu paneldeki Add New Data Source... tıklayalım. Data Source Configuration Wizard başlayacaktır. Uygulamamızın veri alacağı yeri Database olarak seçip Next düğmesine basalım.

İkinci adımda veri bağlantısını seçiyoruz. Daha önce oluşturulan bağlantıyı seçtikten sonra, “Yes, include sensitive data in the connection string” seçeneğini işaretliyoruz ve Next basıp ilerliyoruz. Bu aşamada seçili bağlantı yerine, başka bir bağlantı oluşturmayı tercih edebilirsiniz.

Üçüncü adımda bağlantı cümlesinin adını veriyoruz ve bağlantı bilgisinin uygulama ayar dosyasına kaydedilmesini istiyorsak bununla ilgili kutuyu işaretliyoruz. İlerlemek için Next düğmesine basıyoruz.

Dördüncü adımda veri kaynağı için kullanacağımız veri tabanı nesnesini seçeceğiz. Burada karşımıza tablo, görüntü (view) veya saklı yordam (stored procedure) nesneleri çıkacaktır. İstediğimiz birini seçebiliriz. Biz “Ürünler” adlı tablomuzu seçeceğiz. Tablolar içinden URUNLER tablosunu ve istediğimiz alanları (kolonları) işaretleyelim. Bu arada veri kaynağının adını değiştirebiliriz. Son olarak Finish düğmesine basıyoruz.

Seçilen nesne Data Sources paneli içinde URUNLER adıyla görünecektir.

Buradan URUNLER nesnesini sürükleyerek formumuzun üzerine bırakalım. Birer adet GridView, BindingNavigator, BindingSource ve TableAdapter kontrolleri eklenir. GridView ayarlamalarını ve bileşen adlandırmalarını istediğiniz gibi yeniden yapabilirsiniz.

Form içindeki koda bakacak olursanız, formun Load ve BindingNavigatorSaveItem_Click olaylarına ait kodların otomatik olarak yerleştirildiğini görürsünüz.

private void Form1_Load(object sender, EventArgs e)
{
    // TODO: This line of code loads data into the ’myDataSet.URUNLER’ table.
    // You can move, or remove it, as needed.
    this.urunlerTableAdapter.Fill(this.myDataSet.URUNLER);
}
 
private void urunlerBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
    this.Validate();
    this.urunlerBindingSource.EndEdit();
    this.urunlerTableAdapter.Update(this.myDataSet.URUNLER);
}

Bu aşamadan sonra, GridView görünüşünü değiştirebilir ve bazı ayarları yeniden yapabiliriz. Örneğin girilecek para birimi sadece YTL, USD, EUR olacak biçimde sınırlandırılmak istenirse: GridView’ deki PB adlı kolon DataGridViewComboBoxColumn olarak seçilir. Bunun Items özelliğine YTL, USD ve EUR eklenir. Bu yöntem, burada olduğu gibi öğrenme ve deneme amaçlı olarak kullanılabilir. Gerçek bir projede ayrı bir döviz tablosu yapmak gerekir. Bu önemli uyarıyı yaptıktan sonra ayarlara yeniden dönelim. Görüntülenecek başlıklar, kolon genişlikleri, sayı formatları, hizalama v.b. özellikler yeniden düzenlenebilirler. Bunlarla ilgili ayrıntıları proje içinde görebilirsiniz. Bazı ayarlamaları yaptıktan sonra kendi bilgisayarımdaki görüntü aşağıdaki şekilde oluştu. Muhtemelen sizdeki farklı olacaktır.

Verileri listelemeyi tamamladıktan sonra yeni kayıt girişi, silme, değiştirme ve kaydetme işlemlerini GridView üzerinden yapılabileceğini siz de deneyerek görün.

ASP.NET ile Web Sitesi Örneği
Bu bölümde, Visual Studio içinden Oracle Developer Tools kullanarak bir ASP.NET web uygulamasının nasıl yapılacağını göreceğiz. Bu web uygulaması ile daha önce Oracle veritabanı içinde oluşturduğumuz tablodaki kayıtlara ulaşacağız. Şimdi, File -> New -> Web Site yolunu izleyerek web sitesi projesine başlayalım:

Default.aspx sayfasının dizayn (Design) kısmına geçelim ve Toolbox içinden bir GridView kontrolünü alarak buraya bırakalım. İlk önce GridView Task panelindeki Choose Data Source combo kutusundan veri kaynağını seçeceğiz. Görüntü aşağıdaki gibi olacaktır:

Burada New data source seçince Data Source Configuration Wizard başlayacaktır. Daha önce yaptığımız Windows uygulaması örneğinde olduğu gibi benzer adımları tekrar uygulayacağız. Uygulamamızın veri alacağı yeri Database olarak seçip veri kaynağı için bir ad girelim. Daha sonra Next düğmesine basarak devam edelim.

İkinci adımda veri bağlantısını seçiyoruz. Daha önce oluşturulan bağlantıyı seçip Next’le ilerliyoruz. Bu aşamada seçili bağlantı yerine, başka bir bağlantı oluşturmayı tercih edebilirsiniz.

Üçüncü adımda “Yes, save this connection as” seçeneğini işaretliyoruz. Burada bağlantının ismini verip Next basıp ilerliyoruz. Böylece bağlantı bilgisi ve adı Web.Config dosyası içine kaydedilecektir.

Dördüncü adımda veritabanında yer alan verilerin hangi yolla çekileceğini seçiyoruz. Bu bir tablo, bir saklı yordam veya bir görüntü olabilir. Biz URUNLER tablosunu ve içindekilerin tamamını çekelim. Yine Next basıp ilerliyoruz.

Son adıma gelince sorguyu test edebilir ve izleyebiliriz. Sorgu çalıştırması sonucunda herhangi bir hata almazsak, Finish düğmesine basıp veri kaynağı ayarlamalarını sonlandırıyoruz.

Tekrar GridView üzerine geliyoruz. GridView Task panelinden, sayfalama ve sıralama seçeneklerini işaretliyoruz.

Artık ASP.NET web uygulamamızı test etmeye başlayabiliriz. Sayfa ve GridView kontrolü üzerinde gerekli düzenlemeleri yaptıktan sonra, internet tarayıcısındaki görüntü aşağıda verilmiştir.

Sonuç
Makalemize çok bilinen basit bir şema ve bir tablo örneği ile başladık. Veri girişlerinde, silme ve güncelleştirmeler için titiz bir çalışma yapmadık. Oracle veri tabanı nesnelerine ve bunları yaratmaya yönelik hızlı bir giriş yaptık. Diğer bir durumu da burada belirtmeden geçemiyeciğim. Bu dökümandaki konuyu anlatım biçimi, bağlantı yapma şekli, veri kaynakları seçimi ve sihirbaz gösterimleri konularında, Oracle tarafından hazırlanan kaynaklardan fazlasıyla yararlandım. Bunlarla ilgili ayrıntıları kaynaklar bölümünde bulabilirsiniz. Amacım sadece ODT’yi sizlere daha yakından tanıtmaktır. Visual Studio içindeyken, Oracle veritabanına erişimi ve bir hesap üzerinden tablo yaratma, indeks, kısıt belirleme, saklı yordam gibi nesneleri, bir şema üzerine ekledik. Tablodan veya saklı yordamdan hızlı veri çekmeyi gördük. Bir windows uygulaması yaparak verileri listelemeyi, veri girişi, kayıt silme işlemi yapılabileceğini gördük. Daha sonra, bir tablodan veri çekerek, ASP.NET ile web sayfasında listelemeyi gördük. Oracle Developer Tools ile Oracle veri tabanı nesneleriyle çalışmanın ne kadar kolay olduğunu ve bu işlerin Visual Studio ortamından çıkmadan kolaylıkla yapılabileceğini gördük. Burada ODT aracının Visual Studio ile çok iyi entegre olduğu açıkça görülmekle beraber, Microsoft’un Server Explorer ile ne kadar iyi bir iş yaptığı da ortaya çıkmaktadır. Böylece Oracle ile uğraşan .NET programcıları ikisiyle de daha kolay ve hızlı uygulama geliştirebileceklerdir.

Başka bir makalede sizlerle görüşmek üzere, hoşçakalın.

Örnek proje için tıklayın.

Süleyman Payaslı
s_payasli@hotmail.com

Kaynaklar:
Oracle Developer Tools for Visual Studio .NET
New Features in Oracle Developer Tools for Visual Studio .NET
Building .NET Applications Using Oracle Developer Tools for Visual Studio .NET
< font color="#FF0000">Building ASP.NET Web Applications with Oracle Developer Tools for Visual Studio .NET

Makale:
.NET’te Oracle Developer Tools Kullanmak ADO.NET ve SQL Süleyman Payaslı
  • Yazılan Yorumlar
  • Yorum Yaz
EYL
28
2012
Uzaktaki bir sunucuya bağlanırken ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA hatası veriyor. Bunu nasıl çözebilirim?
EKİ
20
2010
Hocam oncelikle bilgiler cok yararlı oldu tesekkurler. Bir sorum olacaktı. Oracle package ini kod tarafından parametre yollayarak nasıl kullanabiliriz?
Sayfalar : 1 
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için tıklayın.
Üye değilseniz Üyel Ol linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
 
  • Bu Konuda Son 10
  • Eklenen Son 10
  • Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor