C#Sql Server

C# İle Sql Server Bağlantısı Yapma

Herkese merhaba, C# yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda C# ile Sql Server veritabanına bağlantı yapmayı anlatacağım. Hadi başlayalım !

C# ile Sql Server bağlantısı yapabilmek için öncelikle Sql Server işlemlerini yapabildiğimiz paket olan System.Data.SqlClient paketini projeye dahil etmemiz gerekiyor. Bu paket C# kurulumu ile beraber gelen paketlerden olmadığı için ayrıca indirip projeye eklememiz gerekiyor. Bunun en kolay ve hızlı yolu Nuget gibi bir paket yöneticisi kullanmak. Nuget, Visual Studio kurulumu ile beraber gelen bir eklenti ve kendisi Visual Studio içerisinde gömülü bir terminal üzerinde çalışan içerisinde komutlar barındıran bir paket yöneticisi. Nuget ile sadece tek bir komut ile nuget.org web sitesinde yer alan paketleri projemize dahil edebiliyoruz. Nuget terminalini Visual Studio üzerinden Tools > Nuget Package Manager > Package Manager Console adımlarını izleyerek açabiliriz. System.Data.SqlClient paketini projemize dahil etmek için açılan terminalden şöyle bir komut girmemiz gerekiyor;

install-package System.Data.SqlClient

Bu komutun ardından Nuget, System.Data.SqlClient paketini indirecek ve projemize dahil edecektir. Her ne kadar paketi indirmiş olsakta kod yazacağımız C# dosyasında kullanabilmek için dosya içerisinde çağırmamız gerekiyor. Bunun için sayfanın en başına gelerek şu satırı ekleyelim;

using System.Data.SqlClient;

Bu komutunda ardından artık System.Data.SqlClient paketini kullanabilecek ve Sql Server işlerimizi C# ile yapabileceğiz.

C# ile System.Data.SqlClient paketini kullanarak veritabanı işlemlerini yapabilmek için öncelikle bu işlemleri yapabildiğimiz sınıf olan SqlConnection sınıfından yeni bir nesne türetmemiz gerekiyor. Bu sınıfın yeni bir nesnesini constructor metodunu kullanarak yapabiliyoruz. Constructor metoduna parametre olarak veritabanı bağlantı bilgilerini string tipte girmemiz gerekiyor. Gireceğimiz bağlantı bilgilerinin birden çok varyasyonu bulunmakta fakat en çok kullanılanı veritabanının bulunduğu sunucu adresi, veritabanına giriş yapan kullanıcının adı, kullanıcı şifresi ve veritabanı adını içeren bağlantı cümlesidir. Örneğin bu şekilde yazımın şöyle bir kuralı bulunmaktadır;

server=sunucu_adresi; user id=kullanıcı_adı; password=kullanıcı_şifresi; database=veritabanı_adı

Burada bulunan sunucu_adresi kısmına veritabanının bulunduğu sunucunun adresini, kullanıcı_adı kısmına sunucuya giriş yaparken kullandığınız kullanıcının adını, kullanıcı_şifresi kısmına kullanıcının şifresini ve veritabanı_adı kısmına ise bağlanmak istediğiniz veritabanının adını yazmanız gerekiyor. Şifresi bulunmayan yada Sql Server Management Studio üzerinden bağlanırken Windows Authentication seçtiğiniz bağlantı türüyle local bir veritabanına bağlanmak istiyorsanız user id ve password kısımlarını yazmanıza gerek yok fakat trusted_connection adında true değerde bulunan bir veri göndermeniz gerekiyor. Yani onun yazım kuralı da şöyle;

server=sunucu_adresi; database=veritabanı_adı; trusted_connection=true;

Sql Server’in ön tanımlı çalışma portu olan 3306’dan farklı bir porta bağlanmak istiyorsanız da bunu server altında bildirmeniz gerekiyor. Yani kuralı şu şekilde olmakta;

server=sunucu_adresi, sunucu_port; user id=kullanıcı_adı; password=kullanıcı_şifresi; database=veritabanı_adı;

Sql Server bağlantı cümleleri sadece bunlarla sınırlı değil, daha belki 100 farklı çeşidi bulunmakta. Tüm bunların listesine https://www.connectionstrings.com/sql-server web sitesinden görebilir, kendi ihtiyacınıza göre bir bağlantı cümlesini kullanabilirsiniz. Bu bağlantı cümlelerini SqlConnection sınıfının constructor metoduna parametre olarak göndererek yeni bir nesnesini türetebiliriz. Örneğin localhost adresinde bulunan, sa kullanıcı adı ve 1234 şifresiyle websitesi adındaki veritabanına bağlanmak için gerekli SqlConnection sınıfından yeni bir nesne türetelim;

SqlConnection connection = new SqlConnection("server=localhost; user id=sa; password=1234; database=websitesi;");

Türettiğimiz bu connection nesnesi üzerinden Sql Server bağlantı işlemlerini yapabiliriz. SqlConnection sınıfından yeni bir nesne türettik diye hemen veritabanına bağlanmış sayılmıyoruz. Bağlantı nesnesini ürettik fakat veritabanına bağlanmadık. Bağlanabilmek için connection nesnesi altındaki Open() fonksiyonunu kullanmamız gerekiyor. Bu fonksiyon herhangi bir parametre istemiyor ve void tipte olduğu içinde geriye herhangi bir şey döndürmüyor.

connection.Open();

Bağlantıyı yaptık ve sonrasında istediğimiz işlemleri yaptığımızı varsayalım. Sql Server ile işimiz bittikten sonra bağlantıyı kapatmamız gerekiyor. Bunun için de connection nesnesi altındaki herhangi bir parametre almayan ve geriye dönüş yapmayan Close() fonksiyonunu kullanmamız gerekiyor.

connection.Close();

Burada dikkat etmemiz gereken bir kural var; Sql Server üzerinde bir komut çalıştırmak istiyorsak öncelikle bağlantıyı açmamız ve sonrasında yapacağım şeyleri yapmamız ve son olarakta bağlantıyı kapatmamız gerekiyor. Bağlantıyı açmazsak veritabanına bağlanılmayacağı için hata alacağız. Ayrıca bağlantıyı kapatmadan ikinci bir sorgu çalıştırmak istediğimizde ise bağlantının sadece bir kere çalıştırılabilir olduğuna dair bir hata mesajı göreceğiz, yani proje hata verecektir. Bu yüzden bağlantıyı açacak, Sql işlemlerimizi yapacak ve son olarak bağlantıyı kapatacağız. İkinci bir Sql sorgusu çalıştırmak istediğimizde bağlantıyı tekrardan açacağız. Bu şekilde ilerleyerek herhangi bir hata olmadan tüm Sql Server işlemlerimizi yapabiliriz.

Evet C# ile Sql Server’a bağlantı yapma bu kadardı. Tüm C# yazılarımıza buraya tıklayarak, Sql Server yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu