ASP'de Veritabanına nasıl bağlanırız? (ADODB.Connection)

cartman

Katılımcı Üye
28 Ara 2005
932
17
zBjk
Veritabanına nasıl bağlanırız? (ADODB.Connection)
Artık Asp öğrenim merdivenimizde bir basamak daha yukarı çıkıp Profesyonelliğe adım atmak üzereyiz. Asp ve onun ayrılmaz parçası olan VBScript ile yapacağımız bir çok şeyi öğrendik.. Bundan sonra daha ileriye gidiyoruz. Bu derste Veritabanına bağlantıyı öğreneceğiz.. Böylece formdan gelen bilgileri Veritabanına yazacak, bu bilgileri tekrar veritabanından okuyabileceğiz. Şimdi veritabanına bağlantı için bize neler gerekli şöyle bir göz atalım:

Öncelikle ActiveX ve Veri Erişim ADO nesnelerinden söz edelim.

ADO gerçekten bir ASP nesnesi olmaktan çok Server Component'i (server bileşeni) sayılır. Bu bileşene biz ASP içinden bir ActiveX nesnesi ile ulaşırız.
Yani daha anlaşılır biçimde söylemek gerekirse, ADO bir Server Bileşeni ve bu bileşene ulaşmak için bir ActiveX nesnesini kullanırız..
PWS kurulumu yaparken Custom / Özel seçeneği seçin ve şunları yapın demiştik:
"açılacak yeni diyalog kutusunda Microsoft Data Acces Components (MS Veri Erişim Bileşenleri) satırına işaret koyarak Alt Bileşenleri Göster düğmesini tıklayın. Açılacak seçme kutusunda ise ADO Documentation satırına işaret koyun. Bu belgelerden daha sonra veri-yönlendirmeli Web uygulaması yaparken yararlanacağız.. "
Burada veri-yönlendirmeli web uygulaması dediğimiz olay, veritabanına veri ekleyip, veritabanından veri çekerek yapacağımız Web Uygulamalarıdır.
[FONT=Verdana, Arial, Helvetica, sans-serif]ODBC işliyor mu?

ASP sayfaları geliştirme ortamımızda, ODBC (Open Database Connectivity, Açık Veritabanı Bğlantısı) olması gerekir.
Windows 95, 98 veya NT4 işletim sisteminizde Denetim Masasında ODBC, ODBC32 veya "ODBC Veri Kaynakları (32 Bit)" adlı bir simge görüyor olmalısınız. Bunu açın, Sistem DSN sekmesini ve açılan pencerede göreceğiniz Ekle döğmesini tıklayın. Buradaki Access, dBase, Exel, FoxPro, Paradox sürücüleri 4.00.3711.08 veya daha büyük mü? Değilse Microsoft'un sitesinden ( http://www.microsoft.com/data/download.htm) Microsoft Data Acces Components (sürüm 2.1.1.3711.11 GA, 6.2 MB) güncelleme dosyasını indirin ve sisteminizi güncelleştirin. Windows 2000 kurulu sistemlerde bunu yapmaya gerek yok. Böylece sisteminiz, ileride yazacağımız veri-yönlendirmeli Web uygulamaları için hazır hale gelmiş olacaktır.
[/FONT]
Burada küçük bir ayrıntı olan ODBC ' nin işleyip işlemediğine baktık. ODBC veritabanına bağlanmamız için gerekli olan açık veritabanı bağlantısıdır.
Şimdi bu önemli bilgileri öğrendikten sonra bir veritabanı dosyası oluşturalım. Daha sonra o veritabanı dosyasına bağlanıp içindekileri okuyalım.. Hadi bakalım..
Veritabanı dosyasını istediğiniz bir veritabanı programı ile oluşturabilirsiniz. Bu konuda en çok kullanılan program Access' tır. Siz isterseniz Excel de kullanabilirsiniz.. Burada vereceğimiz örnekler Access veritabanı programına göre olacaktır..
Şimdi Access ile bir veritabanı oluşturalım. Veritabanımızın ismi ornekler olsun. İçinde adres isimli bir tablo bulunsun.. Şimdi adres tablosunun içindeki alanları belirleyelim:
[FONT=Verdana, Arial, Helvetica, sans-serif]adres [/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]id[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]Otomatik Sayı (birincil anahtar)[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]isim[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]metin[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]telNo[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]metin[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]adres[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]metin (100)[/FONT]
ornekler isimli veritabanımızın adres isimli tablosundaki alanları belirledik. Bu alanları istediğiniz gibi doldurabilirsiniz. Ben alanlara gerçek olmayan veriler girdim.. Ne de olsa örnek bir tablo..
db-gorunum.jpg
[FONT=Verdana, Arial, Helvetica, sans-serif]
adres isimli tablodaki alanlar...
[/FONT]​

Veritabanı dosyamız hazır olduğuna göre şimdi sıra onu kullanmakta. (Veritabanımızı .asp dosyaları ile aynı yere, yani Web Server'ın kök dizinine koyduk değil mi?)
Şimdi Denetim Masasını açın. Oradan ismi ODBC (ya da ODBC 23 bit veya ODBC veri kaynakları, sizin bilgisayarınızda hangisi varsa!) onu açın. İkinci sekme olan Sistem DSN' ti tıklayın. Açılacak bölümdeki Ekle / Add düğmesini tıklayın. Burada veritabanınıza uygun sürücüyü seçin.. Biz burada Access ' ı kullandığımız için birinci seçeneği işaretleyip son diyoruz.
odbc-gorunum1.jpg

Şimdi sıra veritabanını tanıtmakta.
odbc-gorunum2.jpg

Veri kaynağı adı olarak ornek dedik. Açıklama olarak da bir deneme olduğunu belirttik. Daha sonra aşağıdaki butonlardan "Seç" düğmesine basarak veritabanımızı seçtik.
Ve sonuç:
odbc-gorunum3.jpg

Sonuç olarak ornek isimli veritabanımızın başarılı bir şekilde tanıtıldığını görüyorsunuz. Şimdi bunu Asp sayfalarımızda kullanabiliriz. Ama kendi bilgisayarımızda. Peki ya İnternet ortamında ne yapacağız? Bunun cevabını biraz sonra vereceğiz.. Şimdi veritabanına bağlanalım.
Veritabanına bağlantı
Ado' dan söz etmiştik. Veritabanına bağlanırken kullanacağımız Ado'nun Connection nesnesidir. Bu nesne ile veritabanına bağlantı sağlarız. Kullanımı şöyledir:
[FONT=Verdana, Arial, Helvetica, sans-serif]<%

Dim Veriyolu

Set Veriyolu = Server.CreateObject("ADODB.Connection")

Veriyolu.Open "Veri_Adi"

%>
[/FONT]
Önce değişkenimizi tanımladık, ardından Veritabanına bağlantıyı sağladık. Daha sonra veritabanına bağlandığımız değişkenle veritabanını açtık: [FONT=Verdana, Arial, Helvetica, sans-serif]Veriyolu.Open "Veri_Adi"[/FONT] . Veri_Adi yerine tanıttığımız veritabanının adını yazarız. Biz ornek diye tanıttık. O zaman bu bağlantı bize göre şöyle olmalı:
[FONT=Verdana, Arial, Helvetica, sans-serif]<%

Dim Veriyolu

Set Veriyolu = Server.CreateObject("ADODB.Connection")

Veriyolu.Open "ornekler"

%>
[/FONT]
İşte bu kadar kolay..

Biraz önce Internet ortamında veritabanını bu şekilde nasıl tanıtacağız? dedik. Bunun için Ole-DB türü bağlantıyı kullanacağız. Yani bu işlerle uğraşmadan Veritananının doğrudan adresini vererek. Konuyu biraz daha ayrıntılı ele alalım.
OLE-DB türü Veritabanı bağlantısı
Biraz önce öğrendiğimiz veritabanına bağlantı türü DSN' li Veri bağlantısı idi. Şimdi Ole-DB türü yani DSN' siz veritabanı bağlantısını öğreneceğiz. Bunun için veritabanının yolunu tam olarak yazmalıyız. Bir örnek vermek gerekirse:
[FONT=Verdana, Arial, Helvetica, sans-serif]Dim veriYolu, veriDeyim

Set veriYolu = server.CreateObject("ADODB.Connection")

veriDeyim = "Provider=Microsoft.Jet.OLEDB.4.0;" &_

" Data Source= C:\inetpub\wwwroot\ornek.mdb"

server.mapPath("ornek.mdb")

veriYolu.open (veriDeyim)
[/FONT]
Bu örneği biraz geniş olarak ele alalım.
İki tane değişkenimiz var. Önce onları tanımladık. ADO ' nun Connection nesnesi ile veritabanımıza bağlantıyı sağladık, bu bağlantıyı sağlarken Microsoft' un Jet sürücüsünü kullanacağımızı ve sürümünü belirttik.
[FONT=Verdana, Arial, Helvetica, sans-serif]veriDeyim = "Provider=Microsoft.Jet.OLEDB.4.0;" &_ [/FONT]
(Çok küçük bir ayrıntı , deyimin sonundaki "[FONT=Verdana, Arial, Helvetica, sans-serif]&_[/FONT]" işareti kafanızı karıştırmasın. Bu işaret bir alt satıra indiğimizi belirtiyor. ASP sayfalarında çok uzun deyimleri bu işaret kullanarak bir alt satıra bölebiliriz.)
Daha sonra dosya yolunu verdik. (Sizin dosyanız nerede ise onun yolunu bildirmelisiniz. Ama unutmayın, veritabanı dosyası Web Server'ın kök dizininde olmalı. )
[FONT=Verdana, Arial, Helvetica, sans-serif]" Data Source= C:\inetpub\wwwroot\ornek.mdb" [/FONT]
Son olarak veritabanımızı açtık..
[FONT=Verdana, Arial, Helvetica, sans-serif]veriYolu.open (veriDeyim) [/FONT]
Bir sonraki dersimizde veritabanındaki kayıtları sayfada göstereceğiz.. Böylece veritabanı bağlantımızın olup olmadığını da sınamış olacağız...
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.