1. Anasayfa
  2. ASP.Net

AdoNet’e Giriş – Nedir? Ne Amaçla Kullanılır? Nasıl Yapılandırılır?


6

Bu Makalemde ADO.NET teknolojisini anlatmaya çalışacağım.

Öncelikle tanımdan yola çıkarsak ADO.NET (ActiveX Data Objects.NET) , Aktivex tabanlı çalışan, Microsoft’un veri erişim teknolojisidir.

Bu veri erişim, sadece SQL Database bağlantısı değildir, Oracle, mySql, Access ve tüm office araşları olmak üzere tüm ver tiplerine erişim imkânı sunmaktadır.

ADO.NET, geliştireceğimiz uygulamamız ile Database arasında tam bir Köprü görevi görür. Verileri okuyabilir, update edebiliriz. SQL sorguları ve procedure leri çalıştırtabiliriz. Bu sebeptendir ki , veri tabanı bağlantılı geliştirdiğimiz tüm uygulamamızda kullanmamız gereken en önemli teknolojidir ADO.NET.

ADO.NET ile ilgili kullanacağımız tüm class lar, Microsoft’un “using System.Data” adlı kütüphanesinde mevcuttur. Ve bizde tüm işlemlerimizde bu kütüphanemizden faydalanacağız.

ADO.NET ‘in veri tabanına 2 tür bağlantı şekli vardır.

Connected,

Disconnected

Bunları biraz açıklayalım.

Connected Bağlantı Şekli:

Bu bağlantı şeklimizde, Uygulamamız, database ile sürekli bağlantılı haldedir ve anlık database de okuma ve update işlemlerimiz yapılmaktadır.

Bağlantı sürekli olduğu için, veri okuma işlemi son satırı okuyana kadar açık kalması gerekmektedir, bu da uygulamamızda biraz yavaşlığa sebep olabilir.

Örnek vercek olursak: Mesela, sql de bir tablomuzda satır satır dönme işlemlerimiz, yada direk bir sorgu yada procedure komutlarımız Connected bağlantı şekline girmektedir.

Kullandığımız Sınıflar:

Command : Sorgularımızı yada Procedure lerimizi çalıştırmamıza yarayan sınıftır. Database çeşidine göre farklılık gösterir.  (SqlCommandOleDbCommandOdbcCommandOracleCommand) gibi.

DataReader : Sorgu sonucumuzda elde ettiğimiz veride , satır satır dönmemize yarayan sınıftır. Database çeşidine göre farklılık gösterir.

(SqlDataReader, OleDbDataReader, OdbcDataReader, OracleDataReader) gibi.

Disconnected Bağlantı Şekli:

Bu bağlantı şeklimizde, Uygulamamız, veri tabanını kullanmak için sürekli ona müracaat etmek yerine, veri tabanının bir kopyasını RAM üzerine alır ve bundan sonraki tüm işlemlerini RAM deki veri üzerinde yapar.

RAM ‘e alınan veri üzerinde, insert, update ve delete işlemleri kolaylıkla yapılır ve bu işlem için database ‘e kadar gitmemize gerek yoktur. Fakat anlaşılacağı gibi yaptığımız değişiklikler RAM ‘deki veri üzerinde olmaktadır. Gerçek database deki değişiklik için ayrıca bir işlem gerektirir.

Bu bağlantı şeklinin en önemli avantajı performanstır. Çünkü bilmemiz gereken en önemli şeylerden biri, veri tabanına bağlantı framework açısından her zaman zahmetli bir iştir ve bize yavaşlık getirir. Bu modelde, veri tabanına 1 kere bağlanılmakta ve istediğimiz veriyi RAM e aldıktan sonra bir daha database ‘e gitmemize gerek kalmamaktadır.

Dezavantajı ise, Gerçek database deki verilerin güncellenmesi geç yapıldığı için, zaman zaman veri uyuşmazlığı ve tutarsızlığı yaşanmaktadır.

Bu bağlantı şekline örnek olarak: Sahada kullanılan bir çok el terminalleri bu mantıkla çalışmaktadır. El terminallerine sabah veriler yüklenir (RAM e yükleme aşaması) , ve gün boyunca cihazlar ile bigli girişleri yapılmaktadır. Bunların hepsi cihazdakiş RAM de tutulur, ve gün sonunda cihazlar internete bağlandıktan sonra gerçek database ile Senkronizasyon işlemi yapılır. Yani database ‘e sadece 2 defa gidilir. Buda bize performans sağlamaktadır. ( günümüzde artık 3G teknolojisi olduğu için, bir çok terminallerde internet bağlantısı olduğu için Connected bağlantı şeklinin kullanıldığı durumlarda vardır).

Kullandığımız Sınıflar:

DataAdapter: Gönderdiğimiz sorgu sonucu gelen veriyi geçici hafızaya alan sınıfımızdır. Database çeşidine göre farklılık gösterir.

(SqlDataAdapterOleDbDataAdapterOdbcDataAdapter,OracleDataAdapter) gibi.

DataAdapter ile database den verimizi çekeriz, fakat alınan veriyi kullanabilmemiz için DataTable ve DataSet gibi veri türüne dönüştürmemiz gerekmektedir.

Connected ve Disconnected bğalantı eçşitlerini ve çalışma prensibini daha iyi anlayabilmek içni aşağıdaki tablo bize yardımcı olacaktır.


Resim-1

Görüldüğü gibi ADO.NET teknolojisinde bir connection için 3 farklı yolumuz vardır.

DataAdapter, Command ve DataReader .

Bunlardan

Connected Bağlantılar     : Command ve DataReader

Disconnected Bağlantılar     : DataAdapter

ADO.NET teknolojisini kullanacak uygulama tarafımızda bir kısıtlama olmadığını görmekteyiz. Yani Windows Form uygulamalarında, Web Uygulamalarında ve diğer tüm Database bağlantısı gerektirecek uygulamalarda bu teknolojiden faydalanabilmekteyiz.

Burada önemli bi nokta da, aslında Disconnected Bağlantı modelinde bahsetmiştik, DataAdapter sınıfımız ile uygulamamız arasında DataSet gibi aracı bir sınıfımız daha vardır. Bu aracı sınıf ile beraber, disconnected bağlantılarımızı rahatlıkla uygulamalarımızda kullanabilmekteyiz.

Bu makalemde, ADO.NET teknolojisini anlatmaya çalıştım. Bununla alakalı yapılacak bir çok örnek ve anlatılacak bir sürü senaryomuz mevcuttur.

Fakat başarılı bir yazılımın gereği, önce konuyu anlamalıyız ki, uygulama sırasında başarılı bir ürün ortaya koyalım.

Bu sebeple, ADO.NET ‘e detaylı bir giriş yapmış bulunmaktayız. Umarım faydalı olmuştur.

Bir sonraki makalelerimde ADO.NET ile alakalı örnek uygulamalar ve senaryolar anlatıyor olacağım.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

Bu İçeriğe Tepkin Ne Oldu?
  • 9
    harika_
    Harika!!
  • 3
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 2
    sevdim_
    Sevdim!
  • 2
    bilemedim_
    Bilemedim!
  • 1
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

1986 Aksaray Doğumluyum, Yıldız Teknik Üniversitesi Matematik bölümünden 2010 yılında mezun oldum ve yaklaşık 4 senedir IT sektöründe Yazılım ve Sistem uzmanı olarak çalışmaktayım. Bu süre içerisinde birçok Windows ve Web uygulamaları geliştirmiş olup, SQL Server konusunda oldukça tecrübeliyim. MCP, MCTC, MCPD, MCITP, MCSA ve CCNA sahip olduğum sertifikalardır.

Yazarın Profili
İlginizi Çekebilir

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yorumlar (6)

Popüler Yorumlar
  1. 06/12/2012

    Teşekkürler :)

  2. 06/12/2012

    Güzel anlatım olmuş

Yapılan Yorumlar
  1. Ellerine sağlık hocam güzel anlatım olmuş

  2. 06/12/2012

    Güzel anlatım olmuş

  3. 06/12/2012

    Teşekkürler :)

  4. 27/02/2013

    güzel bir anlatım olmuş ellerinize sağlık :)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir