SQLite Nedir?
SQLite tamamen açık kaynak kod bir ilişkisel sql arama motorudur.En önemli avantajı bir host, server, local sunucuya gereksinimi olmamasıdır tamamen dosya yapısı ile çalışmaktadır.Açık kaynak kod olması itibari ile hemen hemen her ortamda rahatça çalıştırabilirsiniz.
Peki neden uygulamalarımızda SQLite tercih edelim?
Buna bir gerçek hayat örneği vereceğim. Sipariş üzerine bir firmaya geliştirdiğim bir yazılım vardı binaları ve ofisleri yöneten bir şirket.Kullandıkları yazılımı gösterdiler ve çok yavaş olduğundan şikayet ettiler ve değiştirmek istediler.Bunun için kolları sıvadım ilk olarak hız için kesinlikle bir intranet veya local sunucu gerekliydi ülkemizdeki internet hızı malum.Fakat bir intranet ağları mevcut değildi ve kurmak onlar için eksra bir masraftı kullandıkları makineye local sunucu kurmak ise çok kötü bir fikir olacaktı makineleri oldukça eskiydi.Bunun için en iyi seçeneğin SQLite olacağına karar verdim ki dosya yapısıyla çalışması ve sistem kaynağına çok fazla gereksinim duymaması en büyük artısıydı.
SqlLite kütüphanesi Windows Embedded Compact üzerinde çalışabiliyor olması compact cihazlarda kullanılan sqlcompact için bir alternatif oluşturabilmektedir. Şimdilik (Muhtemelen 5,6,7 desteği hiç bir zaman gelmeyecek) Compact 2013 versiyonu üzerinde çalışmaktadır.
Peki nasıl kullanacağız?
İlk olarak kendinize bir SQLite editörü edinmekle başlayalım.Mobil geliştiriciler iyi bilir ki tarayıcı eklentileri bu konuda çok iyidir. Mozilla veya Chrome için SQLite manager eklentileri var.Chrome versiyonu beta aşmasında ve silverlight ile çalışıyor aşırı verimsiz diyebilirim.Ben firefox eklentisini tercih ettim çok kullanışlı. İnternet’ten farklı editörlerde mevcut onlarıda kullanabilirsiniz.Kurduktan sonra veri tabanınızı ve tablo yapınızı varsa trigger, view filan tasarlayıp kaydedin,dosya yapısı olarak *.sqlite *.db2 ve *.db3 ben *.db3 tercih ettim açıkçası diğerlerinde çalıştıramadım.
Daha sonra gerekli kütüphaneleri indirmek kaldı bunun için Nuget üzerinden kütüphanelerini indiriyoruz.
Package Manager Console açarak;
PM> Install-Package System.Data.SQLite
diyerek en kararlı versiyonunu indirebilirsiniz.Ayrıca bu kütüphane Entity framework ve LINQ desteği vardır ADO.NET kullanmak zorunda değilsiniz. Bu adresten resmi web sitesi üzerinden de indirebilirsiniz.
Aslında hepsi bu kadar daha sonra bu dosyayı kaynaklara gömebilir veyahut setup ile .exe nizin yanına atabilirsiniz.Örnek olması için ADO.Net ile nasıl basit bir insert yapabileceğimize bakalım.
SQLiteConnection baglanti= new SQLiteConnection("Data Source=DOSYAKONUMU"); SQLiteCommand komut= new SQLiteCommand("insert into TABLENAME(kolon1,kolon2) values (@veri1,@veri2)", baglanti); com.Parameters.AddWithValue("@veri1", "Hello world!"); com.Parameters.AddWithValue("@veri2", "Hello world!"); baglanti.Open(); komut.ExecuteNonQuery(); baglanti.Close();