Yazılım Bir Tutku

Tecrübe ilimden üstündür !

SqlConnection ve OledbConnection

Tarih : 18.06.2011 14:14:03 Kategori : ADO.NET Hit : 2192

ASP.NET konularının tamamının anlatımına ilişkin başladığımız makale serisine ADO.NET konuları ile devam ediyoruz arkadaşlar.

Bu makalemizde ise geliştirdiğimiz projelerimizin veri tabanları ile bağlantısını kurabilmenin yollarını incelemeye çalışacağız.

Veri tabanı ile bağlantı kurma, veri tabanından veri okuma, yazma, silme vs.. gibi işlemleri sırası ile göreceğimiz Connection, Comman vs.. gibi elemanlar ile gerçekleştirmekteyiz ve tüm bu elemanlar "Managed Provider" olarak adlandırılmaktadırlar. Genel itibari ile değerlendirecek olursak Microsoft'un kendi ürünü olan MsSQL ile Mysql, Oracle vs.. gibi diğer veri tabanlarını iki farklı yapıda inceliyor olacağız. Çünkü .NET Managed Provider'leri kendi ürünü olan MsSQL server için SQL Server ve diğerleri için de OLEDB olarak iki farklı biçimde işleme almaktadır.

.NET halen kullanan varmıdır bilemiyorum ama  MsSQL'ün 7.0 versiyonun önceki versiyonları da dahil olmak üzere MsSQL haricinde diğer tüm veri tabanları ile bağlantı (connection) için OLEDB kullanmaktadır. MsSQL'in 7.0 ve üst versiyonları içinse SQL ile bağlantı kurmaktadır. Fakat burada dile getirmemiz gereken önemli bir husu vardır ki OLEDB bağlantı kurarken ODBC gibi bazı katmanları kullandığından dolayı performans noktasında elbetteki bir kayıp sözkonusudur. Yani .NET projelerinin Microsoft'un kendi ürünü MsSQL ile doğrudan bağlantılandırılabildiği ve veri akışını TDS (Tabular Data Stream) protokolü ile doğrudan yapabilmesinden dolayı  çok daha performanslı çalışıyor olması bilmemiz gereken başlıklardan birtanesi.

Bu teknik bilgiler sonrasında dilerseniz artık her iki seçenek için de bağlantılarımızı gerçekleştirelim.

.NET; SQL ve OLEDB için System.Data.OleDb ve System.Data.SqlClient namespace lerini kullanmaktadır. Sizinde tahmin ettiğiniz gibi eğer bağlantı kuracak olduğunuz veri tabanı MsSQL ise System.Data.SqlClient, MsSQL haricinde başka bir veri tabanı ise System.Data.OleDb namespace'yi sayfamıza tanımlamamız gerekmektedir. Bu aşamaya kadar geldiğinize göre bu namespace'sleri sayfaya tanımlamayı muhtemelen artık biliyorsunuz demektir. Fakat olası farklı bir durum için ben birkez daha hatırlatmış olayım.

Default.aspx.cs



Bir diğer yöntem ise;
Default.aspx




Namespace lerimizi sayfamıza tanımlama kısmını geçtiğimize göre şimdi her iki şekilde de bağlantılarımızı gerçekleştirelim.

MsSQL için;


Burada OLEDB bağlantı örneğine geçmeden önce SqlConnection satırına ilişkin birkaç ufak bilgi baylaşmak istiyorum. string de yer alan "server" kısmına eğer projemiz ve MsSQL aynı server üzerinde çalışıyorlarsa "localhost" yazabiliriz  veya "." yani nokta işaret koyabiliriz. Eğer projemiz ve MsSQL farklı makineler üzerinde ise bu durumda da MsSQL in bulunduğu server'ın ip adresini yazmamız gerekmektedir. Tabi bu ip adresini aynı makinede çalışmaları halinde de yazabiliriz.

Şimdi gelelim OLEDB örneğine;


ADO.NET konularına işkin ilk makalemizde Connection'ı inceledik. Bir sonraki makalemiz ise bağlantısını kurduğumuz database ile işlemler yapabilmemizi sağlayacak olan "Command" nesnesini inceleyeceğiz.

Sağlıcakla...

Mahmut TEMUR

http://www.mahmuttemur.com
e-posta : mahmuttemur@windowslive.com

Takip Ediyorum

Faydalı Projeler

Yorumlar

Sizde Yorumda Bulunun

Konuya dair fikir ve sorularınızı paylaşın