Ramazan Belyurt

B.T. Öğretmeni
Bursa/Türkiye
ramazanbelyurt@gmail.com
www.ramazanbelyurt.name.tr


Asp.Net Access Veritabanı Bağlantısı

02.04.2016        Yazar:Ramazan BELYURT               Okunma:11094

Asp.Net ile Access veri tabanı bağlantısı yapmak için gerekli adımlar aşağıdaki gibi olmalıdır. Öncelikle Microsoft Access programında data isminde bir veri tabanı oluşturuyoruz ve içerisine aşağıdaki uyeler tablosunu ekliyoruz. Asp.Net programında veritabanı dosyaları güvenlik için App_Data klasörünün içerisinde tutulurlar. App_Data klasörünü oluşturmak için solution penceresinde proje ismi->sağ tık->Add->Add ASP.NET Folder->App_Data yolunu takip ediyoruz. Oluşturduğumuz veritabanını solution penceresindeki App_Data klasörünün içerisine kopyalıyoruz.

Daha sonra Access veritabanı için  using System.Data.OleDb namespace' ni codebehind bölümüne ekliyoruz. Bu namespace veri tabanı kodlarını yazabilmek için gereklidir. Eğer eklemezsek veritabanı kodlarını kullanamayız.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OleDb;  //Access veritabanı Namespace ekliyoruz.

Şimdi Asp.Net OleDbConnection sınıfını kullanarak veritabanı bağlantısını yapıyoruz. OleDbConnection sınıfının içerisinde Connection String bağlantı cümlesini belirtiyoruz. Bu cümle veritabanı sürümünü, bağlantı standardını ve veritabanı yolunu gösteren bağlantı cümlesidir. Bu cümle kullandığımız veritabanı sürümüne göre değişiklik göstermektedir. Bu cümleye kolay bir şekilde uluşmak için solution penceresinde veritabanı ismine çift tıkladığımızda alt tarafta Connection String cümlesi görüntülenir.

Bu cümle normalde aşağıdaki gibidir.

Provider=Microsoft.ACE.OLEDB.12.0;Data Source="c:\users\pc\documents\visual studio 2010\Projects\WebApplication4\WebApplication4\App_Data\data.accdb";Persist Security Info=True

Yukarıdaki cümlede "Data Source=" ibaresinden sonraki bölüm veritabanı yolunu göstermektedir. Ama burdaki yol bilgisayarımızın içindeki "C" sürücüsünün yolunu göstermektedir. Çalışmamızı sunucuya yükleyip yayınlamak istediğimizde sunucu bizim bilgisayara ulaşamayacağı için hata verecektir. Bu yüzden bu yolu sunucu yolu (Server.MapPath) olarak değiştirerek web site kök dizinini göstermemiz gerekir. Connectionstring cümlesi düzenlendikten sonra aşağıdaki gibi olacaktır. Cüledeki @ işaretinin amacı "/" simgesinin normal işaret olarak algılanması için kullanılmıştır.

Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+Server.MapPath(@"App_Data\data.accdb")

Son olarak OleDbConnection sınıfı ile veritabanı bağlantısı aşağıdaki şekilde yapılır.

OleDbConnection baglan=new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+Server.MapPath(@"App_Data\data.accdb"));
            baglan.Open(); //veritabanı bağlantısı kullanıma açılıyor.
  
              //veri tabanı ile ilgili kodlar.

            baglan.Close(); //veri tabanı bağlantısı kapatılıyor.


Yorum Ekleyin




Yunus Emre EFE
Hocam şimdide OleDbConnection baglan = new OleDbConnection("Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath("App_Data\\personeller.accdb")); Kısmında An exception of type 'System.ArgumentException' occurred in System.Data.dll but was not handled in user code Additional information: ConnectionString içinde OLE DB Sağlayıcısı belirtilmedi. Örnek: 'Provider=SQLOLEDB;'. Hatasını alıyorum
Admin
Access' in hangi sürümünü kullanıyorsun Yunus Emre bağlantı cümlesinde hata veriyor. Provider' le başlayan cümle.
Yunus Emre EFE
Son sürümünü kullanıyorum hocam. İnternetten baktım Provider koduna "Microsoft.ACE.OLEDB.12.0;Data Source=" Bu kod tüm sürümleri destekliyormuş.
bbbbbbbbbbbbbbbbbb
guzel
Faydalı Linkler