C#nedir?com
 
YAZAR HAKKINDA
Sefer Algan
Sefer Algan
http://www.seferalgan.com
İletişme geçmek için tıklayın.
71 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler:  ADO.NET/SQL Sefer Algan
 
YAZI HAKKINDA
Türü : Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : Başlangıç
Kategori : ADO.NET/SQL
Yayınlanma Tarihi : 21.11.2002
Okunma Sayısı : 39833
Yorum Sayısı : 2     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
Kullanıcı Adı
Şifre
 
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
 
Şifremi / Kullanıcı Adımı unuttum.
 
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
XML - Deniz Kılınç
emre TAŞ
yazının devamı >
emre TAŞ
Decompiling and Reverse Engineering .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
Masaüstü mü ? İnternet Mi? .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
.Net Kavramları - .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
Yeni Başlayanlar için - .Net Radyo
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer
Conda install environment.yml Package 1.12.2020
Turhal Temizer
Mac OS/X Removing CUDA 1.12.2020
Burak Selim Şenyurt
Sekiz Saatlik Sonsuz Döngü 1.12.2020
Burak Selim Şenyurt
Switch Case Kullanmadan Kod Yazılabilir mi? 1.12.2020
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
ADO.NET temelleri ve yenilikler
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon
Bu makalemizde dotNET platformunun en önemli yeniliklerinde olan veriye ulaşım tekniklerinden bahsedeceğiz. Bildiğiniz gibi Microsoft firmasının veritabanı erişim sınıflarının genel adı ADO idi. ActiveX teknolojisi ile geliştirilmiş olan ADO sınıflar topluluğu local yada uzaktaki makinalarda bulunan verleri erişmemizi sağlıyordu. ADO.NET ile değişmeyen tek felsefe veriye erişim dersek doğru söylemiş oluruz, zira ADO.NET 'in klasik ADO'dan çok büyük farklılıkları vardır. Bu farkılılıklardan yeri geldikçe bahsedeceğiz. Makalenin ilerleyen bölümlerinde ADO.NET'in en büyük yeniliklerinden olan offline çalışma ve programlama yoluyla tablolar arasında ilişki kurmanın ne demek olduğunu göreceğiz.

ADO.NET i , eski ADO'nun bir üst versiyonu gibi görmemek gerekir. Her nekadar eski ADO ile "connection" ve "command" gibi eş kavramlara sahipsede eski ADO da olmayan "data set" gibi bir çok yeni kavram vardır. Kısaca ADO.NET, .NET paltformu için geliştirilmiş, offline çalışma sistemini destekleyen, web uygulamaları gibi n-katmanlı uygulamarda büyük kolaylık sağlayan yeni bir veri erişim teknolojisidir, diyebiliriz. Eski ADO nun çalışma mantığı olan sunucu/istemci kavramı ADO.NET te yerini, offline çalışmayı sağlayan DataSet kavramına bırakmıştır. ADO.NET' in diğer en önemli özelliği ise doğrudan XML desteği vermesidir. İçsel bir mekanizma ile veriler XML formatına dönüştürülür. Bu içsel mekanizma HTTP protolu ile sağlandığı için herhangi bir firewall kısıtlamasından bahsedemeyiz.

ADO ile ADO.NET arasındaki temel farkları bir tablo halinde inceleyelim



ADO ADO.NET
ADO nesne modeli 6 temel yapıdan oluşmaktadır.Bunlar:

-Connection Nesnesi
-Recordser Nesnedi
-Command Nesnesi
-Error Nesnesi
-Field Nesnesi
-Parametre Kolleksiyonu
ADO.NET modeli veriye erişim olarak iki ana metod kullanır.

Connected Access (Online Erişim)
Disconnected Access(Offline Erişim)
ADO, Recordset nesnesi ile offline çalışma modeline sınırlı bir imkan sağlar ADO.NET iki yeni nesne modeli sunar.Bunlar DataSet ve DataAdapter nesneleridir. Bu yapıların ikiside offline çalışma için gereklidir. DataSet tasarım olarak her zaman offline çalışacak şekilde düzenlenmiştir.
ADO modelinde çok fazla bazen de hiç kullanılmayan yapılar uygulamanın performansını düşürür. ADO.NET modelinde ise daha yüksek performans sağlar.
Doğrudan XML desteği verir. ADO.NET, XML ile entegre çalıştığı için bir tablodaki verileri XML formatına dönüştürmek çok basittir. Eski ADO da ise böyle bir durum söz konusu değildir.
ADO.NET 'i oluşturan bütün sınıflar bir DataSet oluşturmak ve bu DataSet üzerinde işlemler yapmak içindir.Peki nedir bu DataSet? DataSet, veritabında bulunan bir veya daha fazla tablonun içinde barındığı tablolar kolleksiyonudur. DataSet içinde bulunan tablolar asıl veri kaynağından tamamen bağımsız bir şekilde çalışır. Yani DataSet nesnesinin için birkere doldurduğunuzda veritabanı bağlantınızı kesseniz bile DataSet ile sanki bir veritabanına bağlıymışsınız gebi DataSet üzerinden tablolar arasında ilişki kurabilir, yeni bir veri ekleyebili, yeni sorgulamalar yapabilir, ve hatta kayıtlar silip işiniz bittiğinde tekrar veritabanına kaydedebilirsiniz. İşte DataSet nesnesinin bu çalışma prensibine disconnected(offline) çalışma denmektedir.İşin ilginç tarafı ağ da bulunan bir veritabanınındaki bütün tabloları DataSet içine alıp sanki kendi makinamızdaki veritabanı üzerinde çalışıyormuş gibi yapabiliriz. Bu da doğaldır ki büyük bir kaynak tasarrufu ve performans sağlamaktadır. Eski ADO da bulunan Recordset nesnesi hatırlarsanız sadece bir tablo üzerinde çalışabiliyordu. ADO.NET ile online çalışma ise DataReader dediğimiz nesne ile gerçekleştirilir.

ADO.NET veri erişimi olarak iki tip destek sağlar, birincisi SQL Server ile yüksek performasnlı erişim ikincisi ise OLEDB protokolunu destekleyen diğer veritabanlarına bağlanmak.Eğer veritabanı olarak SQL Server kullanıyorsak SQL Server için özel yazılmış sınıfları kullanarak daha yüksek performans elde ederiz. Bu sınıflar SQL Server ' in TDS (Tabular Data Strem) dediğimiz yapısı ile doğrudan ilişkili olduğu için tercih edilir.

ADO.NET Nesne Modeli

ADO.NET'in altyapısını oluşturan sınıflar System.Data isimalanının içinde bulunurlar. ADO.NET ' e ilişkin bütün sınıflar System.Data.dll isimli tek bir assembly de toplanmıştır.

System.Data

ADO.NET in en temel isimalanıdır. Veriyi sembolize eden veri türleri burda tanımlanmıştır. Mesela , tablo, sütun, satır , koşullar ve DataSet gibi veriyle doğrudan ilişkisi olan türler bu isim alanındadırlar. Veri kaynağına bağlanmak için gerkli veri türleri bu isimalanında değildir.

System.Data.Common

Bu isimalanı managed provider dediğimiz veri erişim kaynaklarını kullanan sistemlere yönelik sınıfları içerir.

System.Data.OleDb

Burdaki sınıfların yapısı eki ADO ya biraz yakınlığı ile bilinir.OLEDB protokolünü destekleyen veritabanı sistemlerine erişemk için kullanılan sınıflar bu isismalanı içindedir.

System.Data.SqlClient

OleDb servislerini kullanmadan Sql Server sistemine doğrudan bağlanıp performansı artımak istiyorsak bu isimalanı altında bulunan ve MS SQL Server için özel olarak geliştirilmiş sınıfları kullanmalıyız.

System.Data.SqlTypes

Bu isismalanında bulunan veri tipleri, MS Sql Server içirisnde desteklenen doğal veri türlerini içeir. Tabiki bu veri tiplerinin CLR(common language run-time) daki karşılıklarını da kullanabiliriz, fakat sql veri tiplerini kullanamk SQL Server için optimum bir çözümdür.

Bu yazımızda ADO.NET hakkında kısa ve öz bir bilgi edindik. Bir sonraki yazımızda ise System.Data isimalanınnda bulunan veri tiplerini detaylı olarak inceleyeceğiz.

Makale:
ADO.NET temelleri ve yenilikler ADO.NET ve SQL Sefer Algan
  • Yazılan Yorumlar
  • Yorum Yaz
Bu konu hakkında yayınlanan yorum bulunmamaktadır.
"Yorum Yaz" tabını kullanarak sizde yorumlarınızı yazabilirsiniz.
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için tıklayın.
Üye değilseniz Üyel Ol linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
 
  • Bu Konuda Son 10
  • Eklenen Son 10
  • Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor