Ana içeriğe atla

Asp.Net Web Servisleri 2-(SOAP) & Veritabanı Web Servis İlişkisi

Asp.Net Web Servisleri 2-(SOAP) neden 2, çünki daha önce bu konuda başlangıç niteliğinde bir yazı yazmış ve o yazıda Asp.Net Web Servisleri kullanarak güzel bir birim ölçü değerlerini birbirlerine çeviren ilk Web servisimizi yapmıştım.Bu ikinci Web Servis yazısında ise Asp.Net Web uygulamamızda bulunan Database (veritabanı) içindeki bilgileri Web Servisle ulaşılmasını sağlayacağız, bu sayede web servisi kullanacak başka uygulamalarda bizim veritabanımızdaki herhangi bir tabloya başvurarak ihtiyaçları olan bilgiyi kendi arayüzlerinden ulaşabilecekler.Kulağa gayet hoş gelen bu yazının devamı için yazının tümünü şimdi okumalısınız...



Daha önce yazılan Asp.Net Web servisleri kullanımı 1-(SOAP) yazısını okumak isteyebilirsiniz.Bu konu hakkında zaten fikir sahibi olduğunuzu ve aradığınız konunun bu olduğunu düşünüyorsanız buyrun devam edelim...

Neler gerekli;
1-Asp.Net Web uygulamanızda bir veritabanına ve veritabanınızda en az bir kaç Table olmalı;
  Ben bu yazımda içerisinde 16 bin market ürün kaydı olan Ms Access veritabanını kullanacağım.
2-Tercihen Visual Studio 2008-2010 sürümlerinden birini kullanıyor olmalısınız.
  Ben VS.Net 2010 kullanıyorum.
3-Visual Basic.Net severim fakat bunda CSharp kullanacağız.
   Siz kodları online olarak convert edebilirsiniz.


Başlayalım;
Yukarıdaki gereksinimler tamam ise artık işimize bakabiliriz.

1-Projenize yeni bir webservise.asmx ekleyiniz.
Ben örnekte Items.asmx olarak adlandırdım ve bu ad ile oluşturduğum web servisim aynı isimde App_Code isimli uygulama dizininde birde Items.cs adında birde class sahibi oldum.Bu class bizim asıl çalışma ortamımızdır..Ve aşağıdaki işlemleri yaparak devam ediyoruz.


2.Items.cs içerisinde mevcut veritabanına bağlanarak ne istediğimizi anlatmalıyız.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data;
using System.Data.OleDb;
/// 
/// Bu WebServis Data klasöründe bulunan ItemList Access database içindeki Table adını yazarak içindeki tüm belgeleri getirsin.
/// 
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1, EmitConformanceClaims = true)]
public class Items : System.Web.Services.WebService {

    [WebMethod]
    public DataSet TabloAdi (string ad)  
    {
        OleDbDataAdapter verial;
        OleDbConnection yeni;
        DataSet al;
        string sorgu;
        yeni = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|Item_List.accdb");
        sorgu="Select * From " + ad;
        verial = new OleDbDataAdapter(sorgu, yeni);
        al = new DataSet();
        verial.Fill(al, "Field");
            return  al;
    }
    
}
ItemList.accdb uygulamamdaki mevcut Ms Access veritabanının ismidir.Ve yukarıdaki örneğime göre bu Ms Access içinde bulunan Table adına göre sorgulama yapanlar o Table içinde ne varsa alacaktır.Elbette XML olarak, soralım bakalım "tbl_StokList" içerisindekilerini barındıran Web Servisimiz çalışıyormu?
Test için Items.asmx çalıştırıyoruz.


Tablo adımızı yazdıktan sonra "Invoke" komutunu verelim...

Güzel 16.000  market ürünleri kaydı olan Ms Access artık Web Servis ile yayınlanıyor.

Bir sonraki Asp.Net Web Service yazısında bu örnekte kullandığımız veritabanında bulunan tüm ürünleri Asp.Net Web Form üzerinde Xml verileri nasıl erişeceğimize göz atabiliriz.
      Bu Yazının Sponsorları









Yorumlar

Bu blogdaki popüler yayınlar

Firebird SQL Table oluşturma ve SQL komutları

2 nci  Firebird SQL veritabanı blogunda bu kez mevcut Firebird veritabanına ISQL ile bağlanmayı veritabanı nesnelerini oluşturmayı (create table), Kayıt eklemeyi (ınsert) ve kayıtları izlemeyi (show) ile önemli SQL komutlarını anlatmaya çalışacağım...

Firebird Veritabanı Nedir ? Nasıl Kullanılır

Firebird ücretsiz veritabanı kullanmaya ne dersiniz.Üstelik hiç bir süre ve veri sınırı olmadan kulağa hoş geliyor değilmi.Bu Blogta Borland açık kaynak interbase 6 sürümünden sonra ortaya çıkmış ve gelişimini sürekli sürdürmüş Firebird veritabanına bir göz atıcaz. İnternet üzerinde Firebird ile kaynağa çok sık rastlamazsınız artık bu blogtan Firebird ile ilgili bilgileri takip edebilirsiniz...

Asp.Net Access veritabanina resim ve nesne kaydetmek OLE Nesnesi

Ms Access ile ilgili geçmiş yazılarım arasında biraz vakit geçirmişseniz, Ms Access form uygulamaları yada veritabanı olarak kullanmayı sevdiğimi anlamışsınızdır. Birazdan size anlatmaya çalışacağım konu Ms Access veritabanı olarak kullandığımız bir Asp.Net Web projesinde resimleri ve dosyaları paket halinde veritabanının içine gömmek olacak.Neden bilmiyorum bu konuda Türkçe kaynak yok, merak etmeyin bu yazı size iyi gelecek...