veritabanı, uygulamaların çoğunun ayrılmaz bir parçası olarak kabul edilir. İster masaüstü, ister web veya mobil uygulama olsun, veritabanı, verilerin saklanmasında, verilere erişilmesinde ve verilerin işlenmesinde hayati bir rol oynar. Sizin için veritabanlarının oluşturulmasına ve yönetilmesine olanak sağlayan birçok veritabanı yönetim sistemi vardır.
Bununla birlikte, bir veritabanı yönetim sistemi kurmadan veya SQL sorguları yazmadan veritabanı dosyalarından, yani .db dosyasından veri çıkarmanın bir yoluna ihtiyaç duyduğunuz bir senaryo olabilir. Böyle bir durumda veritabanı dosyasını nasıl ayrıştırır ve ondan verileri nasıl alırsınız?
Bu yazıda, bir SQLite veritabanındaki tablolardan verileri SQL sorguları yazmadan ne kadar kolay çıkarabileceğinizi göstereceğim. ADO.NET aracılığıyla veritabanlarından veri çıkarmayı destekleyen GroupDocs.Parser for .NET API’sini kullanacağım. org/wiki/ADO.NET).
SQLite Veritabanındaki (.db) Tablolardan Veri Çıkarma Adımları
-
Visual Studio’da yeni bir proje oluşturun.
-
NuGet adresinden GroupDocs.Parser for .NET’i kurun.
-
Aşağıdaki ad alanlarını ekleyin.
using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Parser.Data;
using GroupDocs.Parser.Options;
- Bağlantı dizesini hazırlayın.
string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
- Veritabanı dosyasını Ayrıştırıcı nesnesine yükleyin.
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
// kodunuz buraya gelecek
}
- Parser.GetToc yöntemini kullanarak veritabanındaki tabloların listesini alın.
// Tabloların bir listesini alın
IEnumerable<TocItem> toc = parser.GetToc();
- Tablolar üzerinde yineleme yapın ve verileri çıkarın.
// Tablolar üzerinde yineleme
foreach (TocItem i in toc)
{
// Tablo adını yazdır
Console.WriteLine(i.Text);
// Tablo içeriğini metin olarak ayıklayın
using (TextReader reader = parser.GetText(i.PageIndex.Value))
{
Console.WriteLine(reader.ReadToEnd());
}
}
Tam Kod
string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
// Veritabanından tabloları ayıklamak için bir Parser sınıfı örneği oluşturun.
// Bağlantı dizesi ilk parametre olarak iletilir ve LoadOptions, Veritabanı dosya biçimi olarak ayarlanır.
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
// Tabloların bir listesini alın
IEnumerable<TocItem> toc = parser.GetToc();
// Tablolar üzerinde yineleme
foreach (TocItem i in toc)
{
// Tablo adını yazdır
Console.WriteLine(i.Text);
// Tablo içeriğini metin olarak ayıklayın
using (TextReader reader = parser.GetText(i.PageIndex.Value))
{
Console.WriteLine(reader.ReadToEnd());
}
}
}
Çıktı
.NET API için GroupDocs.Parser hakkında daha fazlasını keşfetmek için belgeleri ziyaret edin. Kaynak kodu örneklerini GitHub deposundan indirebilir veya klonlayabilirsiniz. Herhangi bir sorunuz olması durumunda forumda yayınlamanız yeterlidir.