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 method'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 method'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ı. Gülcay KORKMAZ Bilgisayar Öğretmeni Yazılım Uzmanı e_post@: [email protected] web: http://www.egitimde-bilisim.com 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 Arayü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 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. Gülcay KORKMAZ Bilgisayar Öğretmeni Yazılım Uzmanı e_post@: [email protected] web: http://www.egitimde-bilisim.com 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 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ış 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. Gülcay KORKMAZ Bilgisayar Öğretmeni Yazılım Uzmanı e_post@: [email protected] web: http://www.egitimde-bilisim.com 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. Gülcay KORKMAZ Bilgisayar Öğretmeni Yazılım Uzmanı e_post@: [email protected] web: http://www.egitimde-bilisim.com