Windows Mobile Sql Ce Bağlantısı

Barış Özaydın
Bir Geliştiricinin Maceraları
2 min readJun 29, 2010

17 Ekim 2009'dan beri yazmamışım ve artık zamanı geldi sanırım tekrar yazmanın…

Mobil cihazlar üzerinde veritabanı işlemlerini yapabilmek için bir veritabanı nasıl oluştururuz? Sql ce’ye nasıl bağlanırız? Mobil cihazımız için gerekli alt yapıyı nasıl sağlarız? Gibi sorulara cevap arıyor olacağız.

Her şeyden önce neden mobil cihaz sorusuyla başlamıyıcam direkt olaya dalıcam;

Öncelikle mobil cihazımıza compact framework 3.5 kurmanız gerekiyor zira ben uygulamamı visual studio 2008 ile ve .net 3.5 kullanarak yaptım.

Peki bu mobil cihazımıza nasıl compact framework 3.5 kuracağız? Öncelikle cihazımızı cradle ettikten sonra (windows mobile device center’ın kurulu olduğunu varsayıyorum) Şuradan .Net Compact framework 3.5'i indirelim ve kurulumu başlatalım. Hacı bu program zaten var ne yapayım benzeri bir soru ile karşımıza çıkacak setup, modify deyip ilerliyoruz ve hangi özelliklerin yükleneceğini seçtiğimiz yerden “deployment”’ı seçip ilerliyoruz bu sırada mobil cihazımız cradle edilmiş ise eğer compact framework 3.5'i direkt cihaza kurmaya başlayacak.

Artık .net uygulamalarımız sorunsuz bir şekilde çalışacaktır ancak sql ce bağlantısı kurabilmek için bir şeyler daha yapmamız gerek. Normalde;

“C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\armv4i” altında “sqlce.wce5.armv4i.cab” diye bir dosya olması gerekiyor onu da cihazımıza atıp oradan çalıştırırsak artık veritabanına bağlanabilmemiz için hiç bir engel kalmamış oluyor.

(bu arada sqlce.wce5.armv4i.cab doyası bende yoktu o dizinde, eğer sizde yoksa bir şekilde göndermeye çalışırım, veya google’da birileri rapidshare’e falan koymuşlardır kesin)

Alt yapı tamam şimdi işimize bakalım…

Veritabanını visual studio içinden new item deyip oluşturduktan sonra eğer standart connection string’i yazmaya çalışırsak dosya bulunamadı hatası ile karşılaşıyor olacağız. Bunu aşmak için connection string’i şu şekilde değiştirirseniz her şey çok güzel olacak;

public static string ConnStr = “Data Source=” + System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + “\\db.sdf;Persist Security Info=False;”;

Gerisi bildiğiniz standart veritabanı işlemleri…

--

--