Gazi Osman Pasa
Would you like to react to this message? Create an account in a few clicks or log in to continue.



 
AnasayfaAnasayfa  PortalliPortalli  GaleriGaleri  Latest imagesLatest images  AramaArama  Kayıt OlKayıt Ol  Giriş yap  

 

 ADO.Net NEDİR?

Aşağa gitmek 
YazarMesaj
GüLNuR
Admin
Admin
GüLNuR


Kadın
Mesaj Sayısı : 543
Yaş : 36
Location : Tokat
İş: : ögrenci
Lakabı : Senarist
Tuttuğunuz Takım? : ADO.Net NEDİR? 1444
Ruh Halin? : ADO.Net NEDİR? 1131
Kayıt tarihi : 25/09/07

Kişi sayfası
Başarı Puanı:
ADO.Net NEDİR? Img_left0/0ADO.Net NEDİR? Empty_bar_bleue  (0/0)
Seviye:
ADO.Net NEDİR? Img_left0/0ADO.Net NEDİR? Empty_bar_bleue  (0/0)
Güçlülük:
ADO.Net NEDİR? Img_left0/0ADO.Net NEDİR? Empty_bar_bleue  (0/0)
ADO.Net NEDİR? Empty
MesajKonu: ADO.Net NEDİR?   ADO.Net NEDİR? EmptyPaz Eyl. 30, 2007 11:41 pm

ADO.Net NEDİR?

Visual Basic’in ilk 3 sürümü bir veritabanına erişim için herhangi bir bileşen sunmuyordu. Data Access Objects (DAO) teknolojisi Visual Basic 3 ile birlikte sunuluyordu. DAO programcılara Microsoft’un Jet Database Engine formatına uygun, yerel veritabanlarına erişimi mümkün kılıyordu. DAO ile ana makine (sunucu) üzerindeki veritabanlarına da ulaşılabiliyordu. Fakat bu tarz bir ulaşımda performans önemli ölçüde düşüyordu. Bu gayet normaldi; çünkü DAO yerel veritabanları için tasarlanmıştı.

DAO’dan sonra Remote Data Objects (RDO) ve daha sonra ActiveX Data Objects (ADO) teknolojileri geliştirildi. Bu teknolojiler özellikle sunucu/istemci (server/client) uygulamaları için tasarlanmıştı.Fakat bu teknolojilerdeki yetersizlik ve performans düşüklüğü yeni bir teknolojiyi haber veriyordu. InterNet gibi ortamdan bağımsız ortamların da yaygınlaşmasıyla artık yeni bir teknoloji şart olmuştu;ADO.Net

ADO.Net Microsoft un yeni kuşak veri erişim teknolojisidir .

ADO.Net veritabanı bağlantısız veri işleme yeteneklerine ve XML desteğine sahiptir. ADO.Net bileşenleri özellikle bilginin çeşitli ortamlarda paylaşmak ve bu paylaşımda en uygun performansı yakalamak için tasarlandı.

ADO.Net belirlenen bu hedefleri iki temel bileşenle sağlar; DataSet nesnesi ve .Net veri sağlayıcısı (.Net Data Provider)... .Net Data Provider Connection,Command,DataReader ve DataAdapter gibi bileşenlere sahip bir settir.

ADO.Net’in Gelişimi
ADO.Net bir çok farklı özellik getirmektedir. ADO nesne modelinin ADO.Net ile kıyaslandığında çok daha sınırlı olduğunu görürüz.ADO.Net bir çok farklı görev için özel bir dizi nesneler sunmaktadır. ADO.Net bir ADO geliştirme versiyonu değil tamamen gelişmiş yeni bir veri erişim teknolojisidir.

ADO teknolojisi ADO.Net’in atasıdır. Bu yüzden bazı özellikleri mukayeseli olarak incelemek yararlı olacaktır. ADO’nun RecordSet nesnesi ADO.Net’te yerini DataSet nesnesine bırakmıştır.

ADO’da yerleşmiş bir kültür .Net ile tarihe karışacak. Artık sadece sorgularımızın sonuçları olan bilgiler RecordSet’te toplanıp karşımıza çıkmayacak. Bunun yerine tüm bilgiler DataSet nesnesinin içinde saklanacak.






ADO.Nette genel veri işleme sistemi şöyledir; ilk adım olarak tabloları DataSet nesnesine aktarılması için bir veritabanına bağlanılır. Sonra DataSet nesnesi tüm tabloları hafızaya -DataSetCommand nesnesini kullanarak - yerleştirir. DataSet nesnesi doldurulur doldurulmaz bağlantı kesilir. (DataSet nesnesine aktardığımız) tablolar arası bağlantıyı DataSet nesnesinin kendi içinde tanımlarız. Daha sonra bilgiyi yazı tabanlı (text-based) Xml ile istediğimiz istemci uygulamaya gönderebiliriz.

DataSet Xml ile yapılandırılabildiğinden bir (yerel) Windows uygulaması ile web tabanlı bir uygulama arasında programlama adına pek bir farklılık kalmaz. Hatta işi daha ileriye de götürüp elektronik bilgi arayüzüne (EDI) Xml ve ADO.Net ile geçiş yapılabilir.

Görüldüğü gibi eskimiş, ortama bağımlı yapı .Net dünyasına pek fazla erişemiyor.

ADO ile ADO.Netin en temel farkı ADO.Netin veritabanına bağlanıp gerekli sonuçları elde ettikten hemen sonra veritabanı ile bağlantıyı kesmesidir.

ADO İLE ADO.Net’in Karşılaştırılması
ADO.Net’in avantajlarını daha iyi anlayabilmek için özelliklerini aşağıdaki tabldoda kıyaslayalım.

Özellik ADO ADO.Net
Hafızada kalan veri Tek tablo gibi davranana Recordset nesnesini kullanır Birden fazla tablo içerebilen DataSet nesnesini kullanır.
Çoklu tablolar arası ilişki Farklı veritabanındaki tabloları tek bir sonuç tablosunda göstermek için Join sorgusunu kullanır. Herhangi bir tablodaki kayıtları başka tablolardaki kayıtlarla ilişki kurabilmek üzere tasarlanmış DataRelation nesnesini destekler.
Veriye erişim Ardışık olarak RecordSet satırlarını tarar. Ardışık olmayan erişimlere olanak sağlar.Satırlar arası ilişkileri takip ederek farklı satırları tarayabilir.
Çevrimdışı erişim RecordSet nesnesi tarafından desteklenmesine rağmen verim alabilmek için genellikle sürekli bağlantı kullanılır. DataSet nesnesi standart olarak bu yapıyı destekler.

Programlanabilirlik Komutları Connection nesnesini kullanarak iletir. Xml’in titizlikle hazırlanmış programlama özelliklerini kullanır. Xml’de bilgi kendini tanımlar.
Çevrimdışı verinin bileşenler veya diziler arasında paylaşımı COM dizilemesini kullanılır.Bu yüzden sadece COM standartlarının tanımladığı veriler kullanılabilir. DataSet’i Xml dosyası kullanarak taşır.Xml formatı veride herhangi bir kısıtlama koymaz ve herhangi bir tip dönüşümü gerektirmez.
Verinin firewall’lardan (ateş duvarları ) geçirilmesi Doğuştan problemlidir.Çünkü firewall’lar zaten sisteme ulaşma isteklerine (COM nesneleri gibi ) karşı tasarlanmıştır. Herhangi bir sorun çıkarmaz. Çünkü DataSet nesnesi yazı bazlı Xml kullanır. Bu Xml dosyaları firewall’lardan rahatlıkla geçebilirler.
Sayfa başına dön Aşağa gitmek
http://www.gopforum.okuyoruz.biz
GüLNuR
Admin
Admin
GüLNuR


Kadın
Mesaj Sayısı : 543
Yaş : 36
Location : Tokat
İş: : ögrenci
Lakabı : Senarist
Tuttuğunuz Takım? : ADO.Net NEDİR? 1444
Ruh Halin? : ADO.Net NEDİR? 1131
Kayıt tarihi : 25/09/07

Kişi sayfası
Başarı Puanı:
ADO.Net NEDİR? Img_left0/0ADO.Net NEDİR? Empty_bar_bleue  (0/0)
Seviye:
ADO.Net NEDİR? Img_left0/0ADO.Net NEDİR? Empty_bar_bleue  (0/0)
Güçlülük:
ADO.Net NEDİR? Img_left0/0ADO.Net NEDİR? Empty_bar_bleue  (0/0)
ADO.Net NEDİR? Empty
MesajKonu: Geri: ADO.Net NEDİR?   ADO.Net NEDİR? EmptyPaz Eyl. 30, 2007 11:49 pm

ADO nedir?

Neden ADO ?



“ADO” basit ve zengin bir fikir olarak ortaya atılmıştır. Bunu şu şekilde

açıklayabiliriz: “Veriye erişebilmek için sadece bir yolunuz vardır” . Bu teknoloji yeni bir

teknoloji değildir, uzun zamandır kullanılmakta olan ve gelecekte de kullanılacak olan bir

teknolojidir. Ama gelecekte bir çok yeni teknolojinin (DAO ve ODBC gibi) geliştirilmekte

olan bir çok uygulama için biçilmiş kaftan olacağı da bir gerçektir.



Daha önceleri veritabanı programcılığı ile uğraşanlar ODBC ve RDO’yu yakından

tanımaktadırlar. Open Database Connectivity (ODBC) bir Aplication Programing Interface

(API) olup “Access” ve “SQL Server” gibi veri kaynaklarına erişebilmektedir. Bir API

olmasından dolayı birçok uygulama geliştirici ODBC’yi (özellikler Visual Basic alanında)

komplike bulmaktadır. Remote Data Object (RDO) ise ODBC’nin en üst katmanında yer

alan bir ActiveX’dir. ODBC ile tamamen tümleşik çalışmaktadır fakat çok daha kolay

kullanışlıdır. Genel anlamda OLE DB ile ODBC’yi ve ADO ile RDO’yu eşleştirebiliriz.



OLE DB ve ADO Yapıları

Şimdiye kadar OLE DB ve ADO ile ilgili yüzeysel bilgi verdik fakat birbirleri ile olan

ilişkilerini ancak bir diyagram üzerinde anlayabiliriz. Bu diyagramda uygulamalar ile veri

kaynakları arasında nasıl bir ilişki olabileceği hakkında bilgi verilmiştir.





Diyagramdan da görüleceği gibi en üst seviyede uygulamalarımız yer almaktadır (bir

web veya normal bir uygulama olması hiç fark etmez). Bu katmanın hemen altında ADO

ve/veya OLE DB veri kaynağından alınan verileri uygulamaya iletmek için yer alırlar.

Fakat OLEDB tüm programlama dilleri ile beraber çalışabilecek şekilde değildir bundan

dolayı ADO, OLEDB üzerinde bir geçiş katmanı görevi yapmaktadır. ADO OLEDB ile

OLEDB’nin desteklemediği diller arasında bir arabirim görevi yapmaktadır. ADO OLEDB ye

göre çok daha kolay bir programlama arabirimine sahiptir bu sebepten dolayı direkt OLE

DB erişimi (kullanımı) olabilen programlama dilleri (C++ ve Java gibi) veri kaynağına

erişimlerini daha kolay hale getirebilmek için ADO kullanabilmektedirler.



Diyagramda sadece Microsoft programlama dilleri gösterilmiştir fakat ADO’nun bir

COM bileşeni (component) olduğu düşünülürse ADO diğer COM destekli programlama

dillerinde de (Delphi veya Active Scripting Interface destekleyen Script dilleri)

kullanılabilmektedir. Şüphesiz ki VBScript ve Jscript içeren ASP sayfalarımızda da ADO

bileşenini kullanabiliriz.



Data erişimi için OLEDB ve ADO kullanılabileceğini öğrendik. Peki ya neden? Eski

metodları neden kullanmıyoruz? Bunun iki büyük sebebi var.



Birinci sebep OLEDB ve ADO’nun bir “Veri Kaynağına” erişmek için tasarlanmış

olmasıdır. Dikkatinizi çekerim “Veri Tabanı” demedim “Veri Kaynağı” dedim. Veri tabanları

en çok kullanılan veri kaynağı da olsa birçok uygulama (mesajlaşma sistemleri,

Microsoft Exchange Server, Dizin Hizmetleri ve tabi ki Web Sunucuları) veritabanı dışında

bir yapı kullanmaktadırlar.



İkinci sebep ise İnternet uygulamalarının hızla yaygınlaşmasıdır. Eski data erişim

metodları webden data erişimi için geliştirilmemiştir.



Destekleyiciler ve Sürücüleri



Unutulmaması gereken bir nokta da ODBC için OLEDB destekçilerinin olduğudur. Bu

OLEDB’nin ODBC data kaynaklarına erişmesinde bir aracıdır. ODBC için geliştirilen

sürücüler (Destekleyiciler tarafından) mevcuttur bu sürücüler sayesinde ODBC esnek bir

yapıya sahip olur. Diyagram 4 ADO bağlantı yapısındada görüldüğü gibi veri erişiminde de

çeşitli katmanlar vardır.destekleyiciler ODBC katmanında yer alırken sürücüler ise ODBC

katmanında yer almaktadır. Eğer bir ODBC data kaynağı kullanmak istersek ODBC için bir

OLEDB destekleyicisi kullanmamız gerekir. şayet ODBC data kaynağı kullanmak istemezseniz

o zaman bir OLEDB destekçisi kullanmanız gerekir.







ADO 2.5 Obje Modeli



ADO 2.5 obje yapısı bir önceki versiyonuna göre çok daha basit bir yapıdadır. Bir

önceki versiyonuna ek olarak iki yeni obje eklenmiştir. Diyagram 5 : ADO Obje Yapısı. da

bu yapıya ait diyagram verilmiştir.







Eğer daha önceden ADO kullanmış iseniz(eski versiyonları) Stream ve Recordobjelerinin yeni

eklendiğini fark edebilirsiniz.



Connection Objesi

“Connection” objesi data kaynağına bağlanmak için kullanılmaktadır. Bu obje

saye EDB destekçisinin kullanmak istediğimizi belirtebiliriz. Connection

objesi data kaynağına bağlanmak için tek yol değildir. Command, Recordset ve Record

objelerin objesini daha çok bağlantıya ait özellikleri belirtmek için kullanırız. Eğer destekleyici

üzerinden bir dizi komut çalıştırmak isterseniz Connection objesini kullanmanızı öneririz.



Command Objesi

Command objesi data kaynağı üzerinden komutlar çalıştırmak için tasarlanmıştır.

Fakat bir dakika “Connection objesi de bunu yapabilir diyenlerinizi duyuyorum. Evet ama bir

farkla Connection objesinden çalıştırılacak bir komut araka alanda yine command objesini

çalıştırır. Bir komut çalıştırdığımız zaman geriye bir dizi kayıt alırız. Command objesi geriye

kayıt döndürmeyen komutların kullanımı içinde uygundur.(yeni kayıt eklemek veya kayıt

güncellemek için kullanılan SQL sorguları buna örnektir.



Recordset Objesi

Recordset objesi ADO içerisinde en çok kullanılan objedir. Bu obje data kaynağından

aldığı veriyi bir dizi şeklinde bize sunar. Bu obje sayesinde ADO bize veriler üzerinde

değişiklik yapmamıza, kayıtları taşımamıza ve kayıtları filtrelememize izin verir.

Recordset objesi “Fields” koleksiyonunu içerir. Bu koleksiyon sayesinde veri kaynağındaki

tüm alanlara (kolonlara) erişebiliriz.



Record Objesi

ADO’nun daha önceki versiyonlarında veriyi işlemek ve kayıt setleri oluşturmak

şimdiki gibi kolaydı, ama sadece veri tabanlarında yani belirli bir kolon yapısına ve data

yapısına sahip olanlar için. Bunlar dışında kalan dosya ve posta sistemlerinin veri

kaynakla rı için kullanılamıyordu. Bu tip veriler için 2.5 versiyonunda “Record” objesi

geliştirildi.



Bu tip yarı biçimlenmiş veri kaynakları bir ağaç yapısı şeklinde olurlar,yani ana

düğümler ve alt düğümler içerirler. Resim 8 IIS Ağaç yapısı .de görülen bir web

sunucusunun yapısıdır. Görüleceği üzere “test” ana düğümü altında “database

ve images” gibi alt düğümler mevcuttur.


Bu düğüm noktaları da kendi içerisinde bir çok dosya barındırır. Bir asp dosyası, bir

metin dosyası ve bir Word dosyası bunları kafanızda bu ağaç yapısında olduğu gibi hayal

edebilirsiniz. Dosya adının yanı sıra tür, son erişim tarihi ve boyut gibi bilgileri de bu

yapıya ekleyebiliriz. Peki ya erişimler yani kullanıcıların nerelere erişeceklerini ve nelere

erişemeyecekleri.



Tüm bu yapının kompleks haline Record objesi adı verilir



Stream Objesi

Stream objesi Record objesinde açılan düğümleri okumak için kullanılır (web sunucu

veya bir elektronik posta ya erişim yapamaz ama içeriğini okuyabilir). Bundan dolayıdır ki

Record ve Recordset objeleri ile bütünleşik çalışır.



Stream objesinin bir diğer önemli kullanım alanı da XML dosyalarına erişimdir (XML

verisi yukarıda anlatılan yarı-yapılandırılmış data yapısındadır).



Stream objesi binary verileri işlemek içinde kullanılabilir. Buna örnek olarak resim

işleme veya büyük boyutlu metin veri tabanları gösterilebilir.



Parametreler Koleksiyonu

Parametre koleksiyonu sadece Command objesi ile birlikte kullanılır. Ve komutların

parametrelerini belirlemeye yarar. En çok kullanım alanı SQL Server’da bulunan “Stored

Procedure” dır. Bu özellik sayesinde SQL Server’da önceden ayarlanmış olan SQL

komutları işletilmiş olur. Bu çok kullanışlı bir özelliktir ve zamandan kazandırır.



Bir diğer özelliği ise komut çalıştırılmasından sonra geriye dönen değer eğer tek bir

veriden oluşuyorsa yani bir set şeklinde değilse o zaman parametre özelliği olarak geri

döndürülür.
Sayfa başına dön Aşağa gitmek
http://www.gopforum.okuyoruz.biz
 
ADO.Net NEDİR?
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
Gazi Osman Pasa :: Bilgisayar/ Teknoloji Dünyası :: Donanım-
Buraya geçin: