SQL Server 2005 Compact Edition – Masaüstü Uygulamalarında Lokal Veri Depolama

Eylül 15, 2008 15:22 tarihinde ekinozcicekciler tarafndan eklenmistir.

Geçmişten günümüzelokal veri erişimi için kullanılan yapılara baktığımızda esneklik,kullanılabilirlik ve yaşanan sorunlara geliştirilen çözümler bakımındanivmeli bir ilerleme görmekteyiz. Bunun en son örneği olarak Microsoft’un Kasım 2006’ da en son geliştirmelerle duyurduğu SQL Server 2005Compact Edition gösterilebilir.

SQL Server Compact Edition kelimeleri biraraya getirildiğindeakıllara mutlak surette şu soru gelecektir ? Böyle bir yapıyı MobilUygulamalar’ dan zaten tanıyorduk. Değişen nedir ki ?

Evet, SQL Server Compact Edition uygulamasını tüm mobil cihazuygulama geliştiriciler yıllardan beri “Mobil Cihaz Üzerinde Lokal VeriDepolama” amacı üzerine kullanmaktadırlar. SQL Server Compact Editionmimari olarak bağlantısız ortamlarda çalışabilecek yapıda tasarlanmışküçük mobil uygulamarda karşımıza performans, esneklik ve “tanıdıkolduğumuz düzen” bakımından tatmin edecek bir yapıda tüm depolamaihtiyaçlarımızı karşılamaktaydı.

Peki, bu noktaya kadar anlattıklarımızla Masaüstü uygulamalarıarasında nasıl bir bağlantı bulunmaktadır ? Hızlı bir şekilde konumuzadevam edelim.

Mobil Cihazlar yaşanan Lokal Veri Depolama ihtiyacı günümüzde birçokBağlantısız mimari kullanılarak tasarlanmış Masaüstü uygulamalarında dagörülmeye başlanmıştır. Bu ihtiyaç en genel anlamda XML, MicrosoftAccess yada Formatlı bir yapıda tutulan .txt dosyaları kullanılarakhalledilmektedir. SQL Server 2005’ in çıkarılmasıyla birlikteMicrosoft, masaüstü kullanıcılarına yönelik ücretsiz, SQL Server’ ınbirçok özelliğini barındırabilen ve en önemlisi Microsoft Access’ inyerine getirildiğini düşünen bir uygulamayıda beraberinde tanıttı. SQLServer Express. SQL Server Express tamamen ücretsiz, Windows üzerindebir servis olarak çalışan, standart yüklemede arayüzü bulunmayan vestandart SQL Server sürümlerinin birçok özelliğini içerisindebarındıran bir SQL Server veritabanı motorudur. Bu noktada uygulamageliştiriciler hızla SQL Server Express kullanmaya geçmişler, XML,Access v.b. gibi diğer alternatiflere çözüm bulmuş bulunmaktadırlar.

Peki bu noktada yaşanan sorun neydi ?

İlk olarak taşınılabilirlik açısından yaşanan problemler günışınığına çıktı. ~60MB gibi bir boyuta sahip SQL Server Expresskurulumu bu sürümü kullanan uygulamalar ile birlikte taşınmasıgerekiyordu. Bir ikincisi ise SQL Server Express’ in uygulamanızdışında ayrı bir process içerisinde çalışmasıydı. Farklı sistemkaynakları tüketimi, farklı bir yönetim v.b.

Microsoft taşınılabilirlik ve esneklik açısından SQL Server Expressüzerinde yaşanan sorunlara çözüm olarak Kasım 2006 yılında biz uygulamageliştiricileri çok sevindirecek bir SQL Server sürümü yayınladı. SQLServer 2005 Compact Edition.

Bu sürüm Mobil uygulamalar ile birlikte masaüstü uygulamalarda dakullanılabilecek tamamen ücretsiz, uygulamanız ile aynı processiçerisinde taşınıp herhangi bir kuruluma gerek duymayaz “1.8 MB”büyüklüğünde bir veritabanı motoru olarak karşımıza çıkmıştı !

Evet yanlış okumuyorsunuz 1.7 MB’ lık Setup açıldığında 1.8MB ‘lıkbir DLL sistemimiz içerisine yüklenmekte ve standart bir referansgösterme işleminden sonra herhangi bir ekstra işleme gerek duymadançalışmaktadır.

Ve işin en güzel tarafı ise bu veritabanını SQL Server Management Studio üzerinden yönetebiliyor olmamızdır.

SQL Server Express Edition ile arasındaki farklar için aşağıdakilink üzerinden çok detaylı hazırlanmış karşılaştırma dökümanınaerişebilirsiniz.

http://www.microsoft.com/sql/editions/compact/sscecomparison.mspx

Makalenin bundan sonraki kısmında konunun anlaşılabilmesi açısından örnek bir uygulama geliştirmek daha doğru olacaktır.

Uygulamada örnek olarak Lokal bir Not Defteri uygulamasının datalarıSQL Server 2005 Compact Edition veritabanı üzerinde taşınacaktır.

Uygulamaya geçmeden önce www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=85E0C3CE-3FA1-453A-8CE9-AF6CA20946C3

Adresinden SQL Server 2005 Compact Edition paketini indiripsisteminize kurmuş olmanız gerekmektedir. Bu kurulumun başarılı birşekilde yapıldığını varsayarak veritabanını oluşturmak üzere SQL ServerManagement Studio’ yu açıp şekilde değerleri kullanarak yeni birveritabanı oluşturalım.

New Database Seçeneğini seçiyoruz.

Şekildeki değerleri girdikten sonra OK’ e tıklıyoruz. Veritabanımızaşifre, sıkıştırma gibi seçenekleri bu örneğimizde eklemiyoruz.

Database file parametresine şekildeki değeri yazıyoruz. Connect tuşu bağlantı işlemlerini başlatacaktır.

Bu ekrana daha önceden tanıdık olduğunuzun kanaatindeyim. Birsonraki adımda standart yaklaşımla bir tablo oluşturmayı deneyelim.

Ne kadar ilginç değilmi ? Standart SQL Server sürümlerindenkullanımına alışık olduğumuz bir yaklaşımla 3 kolonlu NOTES isminde birtablo oluşturduk. OK’ e tıklıyoruz ve veritabanımız hazır !

Hızlı bir şekilde uygulamamıza devam edelim. Tablomuz üzerindegerekli çalışmaları yapabilmek adına standart bir C# WindowsApplication projesi açıyoruz.

System.Data.SqlServerCe referansını projemize ekliyoruz.

Uygulama ekranındaki Form tasarımını şekildeki gibi düzenliyoruz.

Uygulamamızın amacı gereği kullanıcı uygulama içerisinde daha önceveritabanı içerisinde depoladığı Kayıtları SqlCeDataAdapter nesnesikullanarak Standart bir dataset içerisine doldurduktan sonraBağlantısız mimari üzerinden yeni kayıtlar (DataRow) ekleyebilecektir.Tüm işlemler bittikten sonra SqlCeDataAdapter nesnesinin üzerinden sonkayıtlar veritabanına gönderilecektir.

Çalışma zamanı sayfamıza geçelim ve aşağıdaki kodları oluşturalım.

Form açıldığında çalıştırılacak olan kodlar. Bir sonraki adımda Butonlara basıldığında gerçekleştirilecek kodları yazıyoruz.

Kodlara kısaca baktığımızda form açıldığında adaptörümüzün gerekliparametrelerini, bağlantı objesini ve sorgularımızı oluşturuyoruz. Bunoktadan sonra tek gerçekleştirilmesi gereken eylem değerleri giripbutonlara basmak olacaktır. “Get Data” butonuna basıldığında basit biradaptör doldurma işlemi gerçekleştirilirken “Update Data” butonunabasıldığında da bir önceki gibi basit bir Update işlemigerçekleştirilmektedir. Bu noktada “Add Note” butonunda ise Standartyaklaşımla bir yeni bir DataRow tablonun satırları arasınaeklenmektedir.

Uygulamamızı çalıştırdığımızda ekran görüntüsü şu şekilde olacaktır :

Get Notes butonuna bastığımızda veriler veritabanı dosyası üzerinden gelmektedir.

Yeni bir not ekleyip Add Note Butonuna basıyoruz.

Bu noktada yeni eklenen satır bağlantısız ortamda GridView üzerindegösterilmektedir. Verilerin kalıcı olarak Veritabamız üzerindegösterilmesi için Update Notes butonuna basıyoruz.

Bingo ! Uygulamamızı yeniden açıp yada tekrardan Get Notes butonunabastığımızda datanın veritabanı üzerinden geldiğini görebilirsiniz.

Uygulamanın kullandığı veritabanını c:\ kök dizininden ulaşabiliriz.

Bu uygulamanın başka bir makinede çalışabilmesi için yapmamızgereken tek şey uygulama ile birlikte System.Data.SqlCe DLL’ iniuygulama klasörü içerisinde birlikte taşımak olacaktır. Gerisi aynençalışacaktır.

Bu makalede Sql Server 2005 Compact Edition sürümünün Masaüstüuygulamaları üzerinde kullanımını örnekledik. Bir başka makalede dahagörüşmek dileğiyle.

Sorularınız için mail atabilirsiniz.


3 kişi tarafından 3.3 olarak değerlendirildi

  • Currently 3,333333/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Yorumlar

Yorum ekle




biuquote
  • Yorum
  • Canlı önizleme
Loading