Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


Ağdan Veritabanına Erişim

Yazar: Nazım

Kategori: .NET Framework

Eklenme Tarihi: 11.09.2007 12:22:00

Bu makalemizde bir remoting uygulaması hazırlayarak ağ üzerindeki bir veritabanına nasıl erişim yapabileceğimizi öğreneceğiz.

Remoting Nesnesinin Hazırlanması

Öncelikle new/project diyerek bu kısımdan VB altındaki Class Library olanı seçiyoruz. Class ismi olarak galatasaray olarak değiştirin. Hemen al satıra aşağıdaki kodu ekleyin. Bu nesnemizin uzaktan erişimine olanak tanır.

Inherits
MarshalByRefObject

Daha sonra veritabanımıza bağlanmak için bir oledbconnection nesnesi ve sorgu hazırlamak için de bir oledbadapter nesnesine ihtiyacımız var. Bundan sonrada elimizdeki verileri daatsete atmak için dataset oluşturacağız. Kodlar aşağıdaki gibi galatasaray sınıfı içine yerleştirilmelidir.

Public
Functiondataset_getir()
Dimbaglanti As NewOleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/db.mdb"
)
Dimadap As NewOleDb.OleDbDataAdapter("select * from gs"
, baglanti)
Dimds As New
DataSet
baglanti.Open()
adap.Fill(ds,
"a"
)
baglanti.Close()
Return
ds
End
Function

Server Hazırlanması

Yine file/new/project adımlarını tekrarlayarak visual basic altındaki consol application seçeneğini seçelim ve ok tıklayalım. Yalnız Solution kısmının Add to Solution olmasını unutmayın.Bu aşamada karşımıza modul gelecektir ve buna az önceki nesnemizi referans olarak eklemeliyiz. Bunun yanında remoting kütüphanesini de yine referans olarak göstermeliyiz. Solution Explorer kısmından module(server) sağ tıklayıp çıkan menüden add reference seçeneğini seçelim. .Net kısmından system.remoting ve project kısmında da nesnemizi referans ekleyebiliriz. Bu işlemlerden sonra aşağıdaki kodları konsol uyuglamamız için yazmalıyız.

Imports
System.Runtime
Imports
System.Runtime.Remoting
Imports
System.Runtime.Remoting.Channels
Imports
System.Runtime.Remoting.Channels.Tcp
Module
Module1
Sub
Main()
Dimkanal As New
TcpChannel(1905)

ChannelServices.RegisterChannel(kanal,
False
)
RemotingConfiguration.RegisterWellKnownServiceType(
GetType(nesne.galatasaray), "gs"
, WellKnownObjectMode.SingleCall)

Console.WriteLine(
"Kanal:tcp Port:1905"
)
Console.WriteLine(
"Server açıldı"
)
Console.WriteLine(
"Kapatmak için bir tuşa basın..."
)
Console.ReadLine()
End
Sub
End
Module

Client Hazırlanması

file/new/project adımlarından windows application kısmını seçelim. Solution kısmının Add to Solution olmasını unutmayın! Formumuza aşağıdaki nesneleri ekleyelim.

1 adet textbox (name:txtIP)
1 adet datagrid
1 adet button

Forma eklediğimiz butonun click eventine aşağıdaki kodları yazın.

Dimkanal As NewTcpChannel()
ChannelServices.RegisterChannel(kanal,
False
)
RemotingConfiguration.RegisterWellKnownClientType(
GetType(nesne.galatasaray), "tcp://"& txtIP.Text & ":1905/gs"
)
Dimnesnemiz As New
nesne.galatasaray
DataGrid1.DataSource = nesnemiz.dataset_getir

Son olarak solution kısmını(projemizi) sağ tıklayarak bu menüden Set StarUp Project... kısmına geçelim. Buradaki ayarlar aşağıdaki gibi olmalıdır.



Projeyi çalıştırdığınızda textbox kısmına ip no yazmanız yeterli olacaktır. Projenin çalışabilirliğini kontrol etmek için buraya localhost yazıp deneyebilirsiniz. (sakın veritabanınızı c:/ dizini içine yerleştirmeyi unutmayınız...)

Makaledeki uygulamayı yüklemek için tıklayın

Bir sonraki makalemde görüşmek dileğimle ...

Tema
Anket
Visual Studio 2010 Beta 2'yi denediniz mi?


En Çok Okunan Makaleler
En Son Eklenen Makaleler
Soru Merkezinde Bekleyenler
Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.