SQLite Nedir ? Kurulumu ve Kullanımı

  • 25.06.2016
  • M.Tayyip Yetiş
  • Eklenti ve Kütüphaneler

Merhaba arkadaşlar, bu makalede yine güzel bir konu ile buradayım. Diğer blog yazılarımı inceleyenler var ise tahmin edebilirler ben veritabanları konusunda hassasımdır ve her zaman en kullanışlı veritabanı sistemleri hakkında araştırmalar yaparım. Aslında şöyle bir çıkarım yapabiliriz; hiçbir zaman her durumda ideal bir veritabanı yoktur sadece projeye özel ideal veritabanı vardır çünkü bazır veritabanı türleri büyük miktarda veriyi işlemek için bazıları hızlı işlem yapabilmek için bazıları pratik kullanım için ve bazıları da veri güvenliği için özellikle geliştirilmişlerdir. Sizler kendi projeleriniz için bu saydığım kriterlerin hangisinin önemli olduğunu belirleyip veritabanı sistemini ona göre tercih etmelisiniz. 

Bu makalede ise pratik kullanım kategorisinde kullanılabilecek bir veritabanı olan SQLite'dan bahsedeceğim. .Net kullanımında SqlClient kütüphanesinden farklı olmayan bu sistem Richard Hipp tarafından 2000 yılında tasarlandı. Açık kaynak kodlu ve C/C++ ile geliştirilmiştir ve en önemli özelliği Server-Client sunucu yazılımlarına ve yapılandırma ayarlarına gerek kalmadan dosya sistemi ile çalışmasıdır. Bu şu demek oluyor ki Localde bile çalışırken bir tcp-ip tabanlı sunucu-istemci yazılımı gerektiren diğer sistemler gibi basit veri depolama işlemlerinde karmaşık konfigürasyon ayarlarına gerek kalmıyor. SQLite resmi sitesine http://sqlite.org/ adresinden ulaşabilirsiniz.

Yönetim aracı olarak bir kaç farklı seçeneğiniz bulunuyor benim tercih ettiğim SQLiteStudio işimi fazlasıyla görüyor fakat bunun dışında AdminerSQLite Administrator yazılımlarını kullanabilirsiniz. İlk örneğimize geçelim bu örnekte yönetim arayüzü kullanmadan bir veritabanı oluşturup içine veri girip listeleme yapacağız. öncelikle projeye System.Data.SQLite.dll dosyasını eklemelisiniz

using System.Data.SQLite;

namespace SQLiteornekleri
{
    class Program
    {
       static void Main(string[] args)
       {
          SQLiteConnection.CreateFile("MyDatabase.sqlite");
          SQLiteConnection conn = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;");
          conn .Open(); // bağlantıyı aç
          string sql = "create table uyeler(isim varchar(30), soyisim varchar(30))";
          SQLiteCommand command = new SQLiteCommand(sql, conn);
          command.ExecuteNonQuery();

          string sql = "insert into uyeler(isim, soyisim) values ('Ahmet', 'Candar')";
          SQLiteCommand command = new SQLiteCommand(sql, conn);
          command.ExecuteNonQuery();

          string sql = "select * from uyeler";
          SQLiteCommand command = new SQLiteCommand(sql, conn);
          SQLiteDataReader reader = command.ExecuteReader();
          while (reader.Read())
             Console.WriteLine("İsim: " + reader["isim"] + " Soyisim: " + reader["soyisim"]);
          Console.ReadLine();

          conn.Close();
       }
    }
}

Yukarıdaki örnekte standart MsSQL kullanımından farklı olarak yeni bir veritabanı dosyası oluşturuyoruz bundan sonraki işlemler benzer olduğundan kullanımında yabancılık çekmezsiniz.

MSSQL Veritabanını SQLite Veritabanına Dönüştürmek

Eğer Mssql kullanıyorsanız ve sisteminizi Sqlite veritabanına çevirmek istiyorsanız sizin için kullanışlı bir uygulama önerebilirim. CodeProject üzerinde liron.levi tarafından geliştirilen "Convert SQL Server DB to SQLite DB" uygulaması ile kolayca dönüştürme işleminizi yapabilirsiniz.

Uygulamayı açtığınızda aşağıdaki gibi tek bir pencere açılıyor eğer Windows authorization kullanmıyorsanız Integrated security seçeneğini kaldırın. Sunucu adresini kullanıcı adını ve şifrenizi girip "Set" butonuna bastığınızda sunucu üzerindeki veritabanlarınız listelenecek veritabanını ve dosya ismini (yolunu) seçtip "Start The Conversion Process" butonuna basın veritabanınız dönüştürülecek ve .db uzantılı SQLite veritabanı dosyanız oluşturulacaktır.

SQLite dotNet kütüphanesi System.Data.SQLite.dll (1,26 MB)

Umarım faydalı olmuştur.

Mustafa Tayyip YETİŞ;
Yazılım Geliştirme Uzmanı

Yorum Yap