C#nedir?com
 
YAZAR HAKKINDA
Tolga Güler
Tolga Güler
http://www.csharpnedir.com/
İletişme geçmek için tıklayın.
6 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler:  Mobil Prog. Tolga Güler
 
YAZI HAKKINDA
Türü : Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : Başlangıç
Kategori : Mobil Prog.
Yayınlanma Tarihi : 27.2.2004
Okunma Sayısı : 26037
Yorum Sayısı : 0     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
Kullanıcı Adı
Şifre
 
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
 
Şifremi / Kullanıcı Adımı unuttum.
 
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
XML - Deniz Kılınç
emre TAŞ
yazının devamı >
emre TAŞ
Decompiling and Reverse Engineering .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
Masaüstü mü ? İnternet Mi? .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
.Net Kavramları - .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
Yeni Başlayanlar için - .Net Radyo
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Burak Selim Şenyurt
Asp.Net Core'da Bir WebSocket Macerası 21.10.2017
Burak Selim Şenyurt
.NET Core 2.0 ile Basit Bir Web API Geliştirmek 21.10.2017
Turhal Temizer 'in Blogu
ChatBot UI Sample 21.10.2017
Turhal Temizer 'in Blogu
C# – IRR Function 21.10.2017
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
SqlCeRemoteDataAccess Sınıfı ile Kablosuz Veritabanı Erişimi
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon
Bu yazımda sizlere SqlCeRemoteDataAccess sınıfı yardımı ile SqSqlServerCe veri tabanı ile SqlServer veri tabanı arasında, HTTP veya HTTPS üzerinden, kablosuz bir iletişimin nasil sağlanabileceğini bir uygulama ile anlatmaya çalışacağım.

SqlCeRemoteDataAccess (RDA) nedir.
SqlCeRemoteDataAccess kablosuz ve düşük hızlı ağlarda Sqlce ve SqlServer arasında veri iletişimini sağlamaya yarayan methodları bize sunan bir sınıftır. Ancak bu sınıfın yukarıda sözü edilen işlemleri yapabilmesi için sunucu ve pocket pc arasında arabuluculuk görevi yapacak olan IIS in uygun bir şekilde yapılandırılmış olması ve SqlServer Ce nin sunucuda kurulu olması gerekmektedir.

IIS in yapılandırılması
Başlat>>Programlar>>Microsoft SQL Server Ce 2.0>>Configure Connectivity Suppot in IIS sekmesini tıklayınız. Açılan pencereden "create a virtual directory" seçeneğini tıklayınız.





 

ileri >> ileri düğmelerine basarak işlemi tamamlayın. ışlemin sonunda C:\sqlceremote isimli bir dizin oluşacak ve içerisinde sscesa20.dll isimli bir dosya oluşacaktır. internet explorerı açın (veya pocket explorer) ve adres satırına " http://localhost/sqlceremote/sscesa20.dll" girin. ekrana SQL Server CE Server Agent yazısı gelecektir. (not: eger bu ekran gelmez ve windows şifre sorarsa güvenlik ayarlarınız ile ilgili bir durum var demektir bu ayarları IIS den yapılandırabilirsiniz.

SqlCeRemoteDataAccess sınıfının Pull, Push, Submit SQL isimli 3 methodu vardır. Ben örnek olması amacı ile yalnizca Pull methodunu kullandım. İleriki yazılarımda diğer methodlara da değineceğim.

Pull methodu;
tabloları,indexleri ve verileri sql server dan alıp  local olarak sql server ce veri tabanında bir kopyasını oluşturarak depolar.

Uygulamaya geçmeden önce Sql Server da  aşagıdaki gibi bir tabloyu kayıtlar adı ile oluşturun ve içerisine birkaç kayıt girin.



yeni bir smart device uygulaması açın ve formun üzerine bir Button taşıyın. buttonun click olayına aşağıdaki kodu yazın.

using System.Data.SqlClient;
using System.Data.SqlServerCe;
using System.IO;

 

private void button1_Click(object sender, System.EventArgs e)

{

SqlCeConnection cn =null;
SqlCeRemoteDataAccess rda =null;
SqlCeEngine sqlEngine =null;

try

{

if (!File.Exists("\\My Documents\\kopyaveritabani.sdf"))

{

sqlEngine =new SqlCeEngine();
//kopyaveritabani.sdf yoksa yaratalım
sqlEngine.LocalConnectionString ="Data Source=\\My Documents\\kopyaveritabani.sdf;Password=csharp;Encrypt Database=True";

sqlEngine.CreateDatabase();
sqlEngine.Dispose();

}

else

{

//dosya varsa baglantıyı açalım ve kayıtlar tablosunu temizleyelim
cn =new SqlCeConnection("Data Source=\\My Documents\\kopyaveritabani.sdf;Password=csharp");
cn.Open();
SqlCeCommand cmd =cn.CreateCommand();
//kayıtlar tablosunu temizleyelim
cmd.CommandText ="DROP TABLE kayitlar";
cmd.ExecuteNonQuery();
 

if (cn.State !=ConnectionState.Closed)

{

cn.Close();

}

}

rda =new SqlCeRemoteDataAccess();

//uzaktaki sqlserver bağlantı stringi.

string remoteConnectString ="Provider=SQLOLEDB;Data Source=192.168.0.1;Initial Catalog=SQlce;User Id=guler;Password=12345";

//rda.InternetLogin  ve
//rda.InternetPassword iss deki yapılandırma ayarlarına göre ayarlanmalı  

rda.InternetUrl ="http://localhost/sqlceremote/sscesa20.dll";

rda.LocalConnectionString ="Data Source=\\My Documents\\"+

"kopyaveritabani.sdf;"+

"Password=csharp";

rda.Pull("kayitlar","Select *from kayitlar",remoteConnectString);

//kopyaveritabani.sdf nin içinde kayitlar isimli tabloyu sql servderki ile ayni olacak şekilde içeriği ile birlikte yaratır.
//methodun diger aşırı yüklemelerini de inceleyin.
 

}

catch(SqlCeException ex)

{

          foreach(SqlCeError sqlErrorin ex.Errors)

{

          MessageBox.Show(sqlError.Message,"hata");

}

}

catch(Exception ex)

{

MessageBox.Show(ex.Message,"Error");

}

finally

{

rda.Dispose();

btnPull.Enabled =true;

}

}


programi çalıştırın ve buttona tıklayın.Pocket pc içerisinde my documents in altında kopyaveritabani.sdf nin olustuğunu ve içeriğinin sql serverdaki ile aynı olduğunu göreceksiniz.

Sqlserver Ce ile ilgili temel bilgiler için http://www.csharpnedir.com/makalegoster.asp?MId=142 yi tıklayın.

Makale:
SqlCeRemoteDataAccess Sınıfı ile Kablosuz Veritabanı Erişimi Mobil Programlama Tolga Güler
  • Yazılan Yorumlar
  • Yorum Yaz
Bu konu hakkında yayınlanan yorum bulunmamaktadır.
"Yorum Yaz" tabını kullanarak sizde yorumlarınızı yazabilirsiniz.
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için tıklayın.
Üye değilseniz Üyel Ol linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
 
  • Bu Konuda Son 10
  • Eklenen Son 10
  • Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor