ASP.NET projelerimizi veritabanına nasıl bağlarız? .NET ortamında örneğin bir SQL server bağlantısı ile bir veritabanına bağlanmamız için bir takım gereklilikler bulunmaktadır. Öncelikle bir Connection String yazmamız gerekiyor. Connection String benim projem için özel durumlara bağlı olarak veri tabanı için bağlantımı sağlayan komut bilgi dizisidir aslında. Bir Connection String yazmamız için bir SqlConnection sınıfından bir instance almamız gerekiyor. Tipik bir Connection String kalıbı şu şekildedir :
Server= computer\SqlExpress;Database=databaseAdı;User ID=kullanıcıadı;Password=şifre
Kabaca mantık bu, ama tabi bu baştada belirttiğimiz gibi özel durumlara göre elbetteki değişecek. Bunlardan bahsedelim şimdi biraz.
Computer dediğimiz kısım bizim veritabanımızın local olarak bulunduğu fiziksel adres aslında. Bu bizim örneklerimiz için SQL Server kurulu makinanın adı, IP numarası gibi isimler olabilir. Hatta local olarak şu anda kullandığınız makine için bu localhost olabilir. Ya da SQL Express kullanıyor olabilirsiniz üstteki gibi. localhost kullanıldığında ismi localhost ya da ‘.’ yazarak belirtilebilir, bu da dipnot..
Daha sonra veritabanı adı verilir. Bu bizim SQL Server’da oluşturduğumuz veri tabanının adıdır. Örneğin NorthWind gibi..
Daha sonra SQL servera bağlantı şeklinizde bir Username ve Password gerekli ise bunları belirtirsiniz. Buraya gelince burda değinmek istediğim durum var. SQL server iki tip oturum açma şekli sunar. Bunlar SQL Server Authentication ve Windows Authentication olarak adlandırılır. Windows Authentication herhangi bir kullanıcı adı ve şifre girilmesine ihtiyaç duymaz. Çünkü ilgili makinede SQL kuruludur. Tabi istenirse girilebilir o ayrı. Connection String yazarken eğer Windows Authentication ile bağlantı kuracaksam Integrated Security = True deyimini kullanmamız gerek.
Server=computer\SqlExpress;Database=databaseadı;Integrated Security=True
Şimdi bir örnekle pekiştirelim ve bir database bağlantısı bir ASP.NET sayfası üzerinden nasıl yapılır gösterelim :
SQL Server’da NorthWnd veritabanına bağlantı yapacağız. Bir Default.aspx sayfam var, bu sayfamın page_load eventinde yazdığım kodlar şu şekilde :
default.aspx.cs dosyası :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load( object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Server=.;Database=northwnd;Integrated Security = True" ;
}
}
|
İstersem Connection String kısmını instance alırkende yapabiliriz.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load( object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection( "Server=.;Database=northwnd;Integrated Security = True" );
}
}
|
namespace alanında System.Data.SqlClient kısmına dikkat ediniz..