Windows server 2008 gibi sıkıntılı bir işletim sistemine sahipseniz ayrıca mysql server kurması,ayarlaması bir dert diyorsanız ve izinler,konfigürasyon v.b. işlerle vakit kaybetmeyeyim diyorsanız sqlite biçilmiş kaftandır.
Sqlite:
Kurulum,konfigürasyon gerektirmiyor.
Dosya tabanlı olduğu için istediğiniz an veritabanını flasha v.s. atabiliyorsunuz.
Server/client uygulama yapmak istiyorsanız da bağlantı cümlesine eklenen ufak bir sorguyla uzak pc ler arasında sorunsuz çalıştığı tarafımca test edilmiştir.
Gelelim eksilere:
Dosya tabanlı olduğu için ağ üzerinde biri klasör siler gibi veritabanınızı silebilir ancak bu avantajlarının yanında ve alınacak güvenlik önlemlerinin yanında sorun bile değil.
Sunucu istemci(server,client)tarzı uygulama yapacaklar görecekler ki sqlite kullandıklarında 2.pc uygulamanıza girdiği an sqlite kendini kapatacak ve "database is locked" yani veritabanı kilitlendi hatası verecektir.Bunuda ufak bir kodla "önbelleklemeyi" kapatarak çözebiliyorsunuz.
Bunun nedeni sqlitein başlangıçta safe mod olarak başlayıp yalnızca bir bağlantıya izin vermesi.Bunuda aşağıda yazdığım kod cümlesi ile çözebilirsiniz.
Yardımcı olması açısından server/client uygulama yapacak sözlükteki kardeşlerime sqlite kullandığınızda bunuda bağlantı cümlenize ekleyin sonra database is locked alıp dumur olmayın.Zira bu hatayı bir kez aldığınız da o veritabanına tekrar veri kaydetme,silme v.s. işlem yapamazsınız.Şayet aldıysanız eski veritabanını kopyala yapıştır yapın yenisi ile devam ediniz.
SQLiteConnection baglanti = new SQLiteConnection("Data Source=C:\\yolunuz\\veritabaniniz.db;Count Changes=off;Journal Mode=off;Pooling=true;Cache Size=10000;Page Size=4096;Synchronous=off");
Count dan başlayıp sona kadarki kısmı yolunuza eklemeniz gerek.
Sonuç olarak yazdığım crm için kullanıyorum sqlite ı ve takır takır çalışıyor.