Die Datenbank gilt als integraler Bestandteil der meisten Anwendungen. Ob es sich um eine Desktop-, Web- oder mobile Anwendung handelt, die Datenbank spielt eine wichtige Rolle beim Speichern, Zugreifen und Bearbeiten der Daten. Es gibt viele Datenbankverwaltungssysteme, mit denen Sie Datenbanken erstellen und verwalten können.
Es könnte jedoch ein Szenario geben, in dem Sie eine Möglichkeit zum Extrahieren von Daten aus Datenbankdateien, dh .db-Dateien, benötigen, ohne ein Datenbankverwaltungssystem zu installieren oder die SQL-Abfragen zu schreiben. Wie würden Sie in einem solchen Fall die Datenbankdatei analysieren und die Daten daraus abrufen?
In diesem Artikel werde ich demonstrieren, wie einfach Sie die Daten aus den Tabellen in einer SQLite-Datenbank extrahieren können, ohne SQL-Abfragen schreiben zu müssen. Ich werde die API GroupDocs.Parser for .NET verwenden, die das Extrahieren von Daten aus Datenbanken über [ADO.NET](https://en.wikipedia. org/wiki/ADO.NET).
Schritte zum Extrahieren von Daten aus Tabellen in der SQLite-Datenbank (.db)
1. Erstellen Sie ein neues Projekt in Visual Studio.
2. Installieren Sie GroupDocs.Parser for .NET von NuGet.
3. Fügen Sie die folgenden Namespaces hinzu.
using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Parser.Data;
using GroupDocs.Parser.Options;
4. Bereiten Sie die Verbindungszeichenfolge vor.
string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
5. Laden Sie die Datenbankdatei in das Objekt Parser.
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
// Ihr Code kommt hierher
}
6. Liste der Tabellen in der Datenbank mit der Methode Parser.GetToc abrufen.
// Holen Sie sich eine Liste der Tabellen
IEnumerable<TocItem> toc = parser.GetToc();
7. Durchlaufen Sie die Tabellen und extrahieren Sie Daten.
// Über Tabellen iterieren
foreach (TocItem i in toc)
{
// Drucken Sie den Tabellennamen
Console.WriteLine(i.Text);
// Extrahieren Sie einen Tabelleninhalt als Text
using (TextReader reader = parser.GetText(i.PageIndex.Value))
{
Console.WriteLine(reader.ReadToEnd());
}
}
Vollständiger Code
string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
// Erstellen Sie eine Instanz der Parser-Klasse, um Tabellen aus der Datenbank zu extrahieren.
// Die Verbindungszeichenfolge wird als erster Parameter übergeben und LoadOptions wird auf das Datenbankdateiformat gesetzt.
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
// Holen Sie sich eine Liste der Tabellen
IEnumerable<TocItem> toc = parser.GetToc();
// Über Tabellen iterieren
foreach (TocItem i in toc)
{
// Drucken Sie den Tabellennamen
Console.WriteLine(i.Text);
// Extrahieren Sie einen Tabelleninhalt als Text
using (TextReader reader = parser.GetText(i.PageIndex.Value))
{
Console.WriteLine(reader.ReadToEnd());
}
}
}
Ausgabe
Besuchen Sie die Dokumentation, um mehr über GroupDocs.Parser for .NET API zu erfahren. Sie können die Quellcodebeispiele aus dem GitHub-Repository herunterladen oder klonen. Falls Sie Fragen haben, posten Sie sie einfach im Forum.