Konuyu görüntüle
IUCODERS FORUM > Programlama > .NET > ado.net nedir
Yazar
einsteine


avatar
istanbul
Kayıt: 29.10.2007
16.03.2008-01:10 #39867
Klasik ASP'nin bu kadar ünlü olmasının en büyük nedeni veritabanları ile bağlantılar kurup bize dinamik web sayfaları oluşturma imkanı vermesidir. Gerçektende ASP bir çok veritabanına bağlantı kurup bunlardaki verileri okuyabiliyor veya bunlarda değişiklik yapabiliyordu. Böylece biz ASP'nin bu özelliği ile statik HTML ile 1000'lerce sayfa tutacak verileri tek bir sayfaya sığdırdık.

Ancak her şey de olduğu gibi bu işlemde de her şey mükemmel değildi. ASP veritabanlarına bağlanmak için ADO ( ActiveX Data Objects )'u kullanıyordu. Oysa ADO yaratılırken tam olarak web için yaratılmamıştı bu yüzden biz programcıları ve ziyaretçileri bazı sorunlar bekliyordu.

Bir internet kullanıcısı için en önemli şey zamandır. Kullanıcı bir sayfaya ulaşırken ona çabuk ulaşmayı umar, eğer sabırsız bir kullanıcı ise yavaş bir siteye bir daha uğramamak üzere veda edebilir. Hiç bir web yapımcısı böyle bir durumla karşılaşmak istemez, bu durumda programcı için de en önemli şeylerden biri hız olmalıdır. Sayfalar ne kadar hızlı ise o kadar iyidir, ancak işin için veritabanı denen şey girince hız kavramı bir anda daha da önem kazanıyor çünkü veritabanı bağlantıları tabiri caiz ise tam bir katildir. Hızı çok düşürerek ziyaretçinize karşı sizi zor durumda bırakabilir. Hele ki klasik ASP gibi kendiside yavaş olan (ASP.Net'e göre) bir teknolojide bu kimi zaman tam bir kabusa dönüşebilir.

ASP programcıları bu kabustan uyanmak için bir çok yol denediler. Ama hiç bir zaman istedikleri başarıya ulaşamadılar bunun nedeni klasik ADO ve Recordset idi. Çünkü Recordset veritabanı ile işlem yaparken mutlaka bağlantı açık kalmalıydı, yani sadece veri okurken bile bağlantı açık olmalıydı. Şöyle bir düşünecek olursak 100 kişi aynı anda bağlantıyı açarsa siteniz ciddi mana da hız kaybedecektir. Lakin .Net ile duyurulan ADO.Net (ActiveX Data Objects.Net) bu konuda size inanılmaz bir yardımda bulunarak bir çok sorunu gideriyor.

ADO.Net bir defa tam olarak internete uyumlu. Bu yüzden sorun yaşama ihtimaliniz (doğru kodlarla) çok düşük. Ayrıca XML mimarisin kullanan ADO.Net ile gelecek teknolojilerine de uygun bir alt yapı oluşturuyor. ADO.Net ile çok basit bir şekilde XML'i veritabanı olarak kullanabilirsiniz. ADO.Net'in en çok göze çarpan özelliği ise veri okurken veya yazarken illa da veritabanına bağlı olmasına gerek olmaması. Yani siz veri okurken veritabanına sadece bir kere bağlanıp verileri alıyor daha sonra bağlantınızı koparıyorsunuz, daha doğrusu ADO.Net sizin için koparıyor. Ondan sonra elinizdeki veriyi kullanıyorsunuz.

ADO.Net'in bir başka özelliği de SQL Server için özel komutları var. Yani Microsoft kendi ürünlerine özel destek sağlamış. Öyleki normal veritabanları için System.Data.OleDb namespace'ini kullanırken SQL Server için System.Data.SqlClient namespace'ini kullanıyoruz. SqlClient, SQL Server için farklılaştırılmış ve hız kazandırılmış. Böylece SQL Server kullanıyorsanız normal OleDB bağlantılarından biraz daha hızlı çalışmanız mümkün.










Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb