![]() |
|
|
#1 (permalink) |
|
CSI USLANMAM
![]() ![]() |
RDO
RDO (remotedata object) hızlı bir client/server uygulama geliştirme aracıdır. Temel veritabanı İşlemlerini kolayca yapmanızı sağlar.ayrıca gelişmiş özellikleriyle bir ODBC arabirimidir.DBGrid’e Bağlı olarak RDC ile kaydırma çubuğu olan güncellenebilen bir grid (ızgara) yaratmak mümkündür RDO ODBC üzerinde ince bir katmandır.sadece 32-bit visual basic ile çalışır.ilişkisel veritabanlarınaerişimde DAO’dan daha hızlıdır.ODBC sürücüsünün tanımlanmasını gerektirir.RDO ayrıca Remotedata Control adında görsel arabirimine de sahiptir Rdo ve jet programlaması birbirine çok benzer.veri tabanı bağlantısı rdoenvironments nesnesinin openconnection metodu ile sağlanır.bağlantı kurulduktan sonra OpenResultset metodu ile kayıtlarabir SQL sorgu ile erişilir.RDO’nun diğer bir yararlı özelliği de SQL deyimlerinden yararlanmaktır.RDO kullanmak için şu gereksinimlerin yerine getirilmesi gerekir: · Visual basic 32-bit enterprise edition · ODBC sürücülerinin yüklü olması gerekir · SQL deyimi · Veri kaynağının kayıt edilmesi;Data Source Name (DSN) oluşturulması Mevcut DAO uygulamasını RDO’ya çevirmek çok kolaydır.RDO’da kayıtlar (records) yerine satırlar alanlar yerinede kolonlar kullanılır.RDO metotları zaman uyumlu ya da zaman uyumsuz işletilebilir. RDO 2.0’ IN YENİLİKLERİ RDO 2.0 eski sürümüne göre daha genişletilmiş ve güncel gereksinimlere göre performansı artırılmıştır. · Yeni client batch cursor kütüphanesi · Batch optimistik query’ler · Olay-temelli programlama · Veriyi güncelleştirebilen RDO kontrolü · Tek başına kullanılabilen RDO nesneleri · Metotlar gibi kullanılabilen query’ler RDO’ NUN ÜSTÜNLÜKLERİ RDO DAO kadar güçlü olmasıyla birlikte daha kolay bir erişim yöntemidir.RDO DAO ve Jet gibi veri-bağlı (data-bound) yöntemleridir.ODBC ve VB-SQL’de bağlı denetimler yoktur.buı nedenle verilere erişim için ve kullanıcıların erişimini sağlamak için kod yazmak gerekir. Jet /DAO bir ISAM veritabanı olarak tasarlanmıştırlar.sadece veri içerirler herhangi bir veri tabanı motorunaSahip değildirler.ancak SQL server gibi ODBC veri kaynakları kendi veritabanı motorlarına sahiptirler.RDO ODBC veriKaynakları için tasarlanmıştır.bu nedenle bir veritabanı motoru (engine) içermez.bu nedenle RDO daha az sistem Kaynağına gereksinim duyar ve Jet’ten daha fazla etki ndir.RDO’nun sağladığı Remote Data Control ile hiç kod yazmadanODBC kaynaklarına erişim sağlanır. Bir bağlantıyı açmak: Dim renv as rdoenvironment Dim rcon as rdoconnection Set renv=rdoengine.rdoenviromentd(0) Set rcon=renv.openconnection(“tablo”) … rcon.close Veriyi elde etmek: Dim rQuery as rdoresultset Dim sSQL as string sSQL = “select * from tablo alan =”xxx” set rQuery =rcon.OpenResultset(sSQL) do while not rQuery.eof ıstdocuments.additem rQuery !tablo rQuery.movenext loop rQuery.close VERİTABANINI DEĞİŞTİRME: RDO ile veritabanı üzerinde değişiklik yapmak için iki yöntem vardır.toplu değişiklik ya da belli bir kayıdın değişti- Rilmesi.toplu değişiklikte action queries(işlem sorguları) ya da stored procedure’lar kullanılır.belli bir kaydın değiştirilmesinde İse edit addnew update ve delete metotlerı kullanılır.Set renv=rdoengine.rdoenviroments(0) Set rcon=renv.openconnection(“musteri”) Set rtablo=rcon.OpenResultset (“tablo1”) Rtablo.addnew ‘ yeni kayıt ekleme REMOTE DATA CONTROL’ UN KULLANIMI ODBC üzerinden verilere daha hızlı erişim için RDC(remote data control) kullanılır.remote data control data control Nesnesine benzer biçimde kullanılır.RDO görsel programlama için rdc kontrolüne sahiptir.RDC kontrolü belli özellikler İle RDO üzerinde çalışılarak verilere erişimi sağlar.bu özellikler şunlardır: · Connect özelliği · Connection özelliği · Resultset özelliği RDC’ nin birçok özelliği DAO’ nun data kontrolü ile aynıdır: RDC özellikleri data control özellikleri işlevi Bofaction bofaction moveprevious metodu kullanımında dosya başına ulaşıldığını belirtir Datasourcename databasename verilere erişilecek olan veri tabanını belirtir Eofaction eofaction movenext metodunun kullanımında dosya sonu ulaşıldığını belirtir Resultsettype recordsettype elde edilen verinin tipini belirtir SQL recordsource elde edilecek belli veriyi belirtir RDC’ nin kullanımı için önce RDC’ nin projeye eklenmesi gerekir. Bu işlem components iletişim kutusu aracılığıyla yapılır 1. form üzerinde denetimin yer alacağı yeri çiz. 2. name ve caption özelliklerini düzenlenir 3. datasourcename özelliğini düzenleyin.ODBC veri kaynaklarından istediğinizi seçin 4. SQL özelliğini kullanarak ; SQL deyimi ile istenilen kayıt setlerine erişmeyi sağlayın RDO ve RDC ilişkisel veritabanların erişim için kullanılan bir alternatif veri erişim yöntemidir.RDO ve RDC ile bir veri erişimini Yapılmasında üç önemli kavram vardır: · Cursor type (işlem tipi) · Dataset type (veri seti tipi) · Lock type (kilitleme tipi) Cursor tipleri veri üzerinde hareket etmeyi (ileri-geri) ve işlem yapmayı (ekleme-değiştirme) sağlar.cursor tipleri client ve server tarafında olmak üzere veri yöntemini ikiye ayırır. Ayrıca birçok erişim tipinde cursor tipi belirtmeden de işlem yapılabilir. Datasettipi ise uzak verilere erişimde önemli bir bilgidir.dinamik veri setleri kayıtların eklenmesine ve silinmesine izin verirler Kilitlenme tipleri ise veri setlerinin güncellenmesinde kullanılır. Microsoft jet veri iletişiminde iki seçenek vardır: · Pessimistic(kötümser) · Optimistic(iyimser) Kötümser kilitlenme tipinde (çok kullanıcılı ortamda) bir kullanıcının değiştirdiği kayda diğer bir kullanıcının erişimini engellenir. Cursor tipleri: rdopenforwardonly(varsayım) Rdopenstatic Rdopenaaaset Rdopendynamic Kilitlenme tipleri: rdconcurlock-(pesimistik concurrency) Rdconcurreadonly-read only(varsayım) Rdconcurrowver-optimistic concurrency Rdconcurvalues-optimistic concurrency DAO VE RDO KARŞILAŞTIRMASI RDO ve DAO birbirine çok benzerler. Bağlantının kurulmasının ardından iki yöntemde de benzer bir kodlama yapısı kullanılır. Benzer nesneler: RDO nesneleri DAO nesneleri Rdoengine dbengine Rdoenvironment workspace Rdoconnection database Rdotable tabledef Rdoresultset recordset -yok tablo tipi aaaset tipi dynaser tipi static tipi snapshot tipi rdocolumn field rdoquery querydef rdoparameter parameter RDO verilerin tablo olarak elde edilmesini desteklemez. Çünkü RDO verilere ulaşmak için SQL deyimlerini kullanır. Bununla birlikte RDO ve DAO metotları arasında benzerlikler vardır:RDO ve DAO metotlarının karşılaştırılması RDO metot RDO nesne DAO metot DAO nesne Rdocreateenviroment rdoengine createworkspace dbengine Begintrans rdoconnection begintrans workspace Committrans rdoconnection committrans workspace Openconnection rdoenvironment opendatabase workspace Rollbacktrans rdoconnection rollback workspace createQuery rdoconnection createQuerydef database execute rdoconnection execute database openresultset rdoconnection openrecordset database ayrıca rdoresultset ve recordset nesneleri ortak metotlara da sahiptir. RDO ve DAO ortak metot işlevi Addnew yeni bir kayıt ekler Delete mevcut kaydı siler Edit mevcut kayıdı değiştirmeyi sağlar Movefirst birinci kayıda gider Movelast son kayıda gider Movenext bir sonraki kayda gider Moveprevious bir önceki kayda gider Update yapılan değişiklikleri onaylar Örnek: RDO kullanarak verilere odbc üzerinden erişim Dim db as rdoconnection Dim rs as rdoresultset Dim sSQL as string ‘ daha önce yapılan DSN tanımına bağlanma set db =edoengine . rdoenviroments(0).openconnection (“mySDN”) sSQL =”select*from musteri” set rs =db.openresultset(sSQL rdopenaaaset)rs.movefirst while not rs.eof print rs.rdocoloums(0) rs.movenext wend rs.close db.close RDO’ NUN ZAYIF YÖNLERİ Birçok üstünlüğe sahip olmasına rağmen RDO’ nun zayıf yönleri de vardır. Bunları şu şekilde sıralayabiliriz: · Sadece 32-bit uygulamalar içn geliştirilmiştir · ODBC sürücüsünün tanımlanması gerekir. · ODBC API kadar hızlı değildir. · Access ve ISAM veritabanları üzerinde çalışan Jet kadar hızlı değildir |
|
|
|
![]() |
| Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| Seçenekler | |
| Stil | |
|
|