ADO nedir? Neden ADO?

Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
ADO nedir?
Neden ADO?
(ActiveX Data Object * X Microsoft ürünlerinin çalışması için bir simge, çalışır Veri Nesnesi)

“ADO” basit olarak; Veriye erişebilmek için seçilen yoldur.” . Bu teknoloji yeni bir teknoloji değildir, uzun zamandır kullanılmakta olan ve gelecekte de kullanılacak olan bir teknolojidir.
Object Oriented (Nesne yönelimli) program geliştirme araçlarında genellikle nesnelerin metot'larından faydalanılır. Özellikle Microsoft ürünleriyle geliştirilen yazılımlarda nesne kullanımı program geliştirmeyi kolaylaştırmıştır.
Bu çerçevede ADO da veri tabanı işlemleri için geliştirilmiş bir nesnedir ve metot'ları sayesinde veri tabanı üzerinde işler yapılır.
Veri tabanlarına bağlanmak için bir nesne ve bir provider (sağlayıcı) seçmek gerekir.
Nesneler(Object):
DAO= Data Object= Veri nesnesi* özellikle visual basic eski sürümlerinde kullanılan bir nesnedir. Kısıtlı bağlantı sağladığından artık kullanılmamaktadır.
RDO= Remote Data Object= uzak Veri nesnesi * ODBC veri kaynağı sağlayıcısı ile birlikte yine eski yazılımlarda kullanılan bir objeydi. ADO'ya daha yakın ve ActiveX (microsoftun dinamik nesneleri) bir nesneydi. Ancak daha çok Windows tabanlı yazılımlarda kullanılıp, web tabanlı yazılımlar için kullanılmamaktaydı.
ADO= ActiveX Data Object*"X Microsoft ürünlerinin çalışması için bir simge" * (çalışır Veri Nesnesi):
ADO gerek OLEDB gerekse ODBC ile ve gerek Windows tabanlı gerekse web tabanlı tüm uygulamalarda kullanılan en son geliştirilmiş veri işlemleri için ideal bir nesnedir.

Veri sağlayıcılar(Provider):
ODBC= Open Database Connectivity=Açık Veri tabanına bağlanabilme * bir Aplication Programing Interface(Sunucu Ara Yüzü -API) olup, Windows yönetimsel araçların bir alt ürünüdür. Özellikle server tabanlı Windows sürümlerinde datalara erişimi sağlamak için kullanılır. Dataya erişim için kullanıcı DSN = (Database System Name= *Sistem Veri Kaynağı) kısmında tanım yapmalıdır. ODBC ile daha çok Windows tabanlı uygulamalarda veri erişimi sağlamaktaydı. Özellikle de nesne olarak RDO yu kullanmaktaydı. Ancak son zamanlarda ADO'yu da kullanmaktadır.
OLEDB= (Object Linking and Embedding Database= *Nesneler arası haberleşen veri tabanı)
OLEDB de bir veri kaynağı sağlayıcısıdır. Yalnız kullanılabileceği gibi, ADO ile de kullanılır. Oysa ODBC mutlaka bir nesne ile kullanılır. OLEDB nesnesiz de kullanılabilir.
Bir uygulama geliştirirken en üst seviyede uygulamalarımız yer almaktadır (bir Web veya Windows uygulaması olması hiç fark etmez). Bu katmanın hemen altında ADO ve/veya OLEDB, 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 OLEDB erişimi (kullanımı) olabilen programlama dilleri (C++ ve Java gibi) veri kaynağına erişimlerini daha kolay hale getirebilmek için ADO kullanabilmektedirler.
ADO sadece Microsoft programlama dilleri ile değil, bir COM bileşeni (component) olduğu düşünüldüğünde, diğer COM destekli programlama dillerinde de (Delphi veya Active Scripting Interface destekleyen Script dilleri) kullanılabilmektedir. Elbette VBScript ve Jscript içeren ASP sayfalarımızda da ADO bileşenini kullanabiliriz.
Genel anlamda OLE DB ile ODBC’yi ve ADO ile RDO’yu eşleştirebiliriz.


Data erişimi için OLEDB ve ADO kullanılabileceğini öğrendik. Peki ya neden? Eski metotları 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ış
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.


ADO Obje Modeli (method'ları)

ADO obje yapısı bir classtır. Bu class'ın method'ları vardır..


Connection(bağlantı) Objesi
“Connection” objesi data kaynağına veya veri tabanına direk bağlanmak için kullanılmaktadır.

Command(Komut) Objesi
Command objesi data kaynağı üzerinden komutlar çalıştırmak için tasarlanmıştır.
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(Kayıt seti) 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.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,513
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sn. modalı,

Elinize sağlık. Paylaşımınız için teşekkür ederim.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,708
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın Modalı merhaba,

Bu güzel bilgiler için teşekkürler...
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,216
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Ezbere iş yapmaktansa işin mutfağını öğrenmek çok önemli. Sayın modalı paylaşım için teşekkür ederim.
 
Üst