בסיס הנתונים נחשב לחלק בלתי נפרד מרוב האפליקציות. בין אם זה יישום שולחן עבודה, אינטרנט או נייד, מסד הנתונים ממלא תפקיד חיוני באחסון, גישה ותמרון הנתונים. ישנן מערכות רבות לניהול מסדי נתונים המאפשרות יצירה וניהול של מסדי נתונים עבורך.

עם זאת, יכול להיות תרחיש שבו אתה צריך דרך לחלץ נתונים מקבצי מסד נתונים, כלומר קובץ .db, מבלי להתקין מערכת ניהול מסד נתונים או לכתוב שאילתות SQL. איך היית מנתח את קובץ מסד הנתונים במקרה כזה ומקבלים ממנו את הנתונים?

במאמר זה, אני הולך להדגים באיזו קלות אתה יכול לחלץ את הנתונים מהטבלאות במסד נתונים של SQLite מבלי לכתוב שאילתות SQL. אני הולך להשתמש ב-GroupDocs.Parser for .NET API התומך בחילוץ נתונים מבסיסי נתונים דרך ADO.NET.

שלבים לחילוץ נתונים מטבלאות במסד נתונים של SQLite (.db)

  1. צור פרוייקט חדש ב-Visual Studio.

  2. התקן את GroupDocs.Parser עבור .NET מ-NuGet.

  3. הוסף את מרחבי השמות הבאים.

using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Parser.Data;
using GroupDocs.Parser.Options;
  1. הכן את מחרוזת החיבור.
string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
  1. טען את קובץ מסד הנתונים באובייקט Parser.
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
   // הקוד שלך נכנס לכאן
}
  1. קבל רשימה של הטבלאות במסד הנתונים בשיטת Parser.GetToc.
// קבלו רשימה של טבלאות
IEnumerable<TocItem> toc = parser.GetToc();
  1. חזרו על הטבלאות וחלצו נתונים.
// חזרה על שולחנות
foreach (TocItem i in toc)
{
    // הדפס את שם הטבלה
    Console.WriteLine(i.Text);
    // חלץ תוכן טבלה כטקסט
    using (TextReader reader = parser.GetText(i.PageIndex.Value))
    {
          Console.WriteLine(reader.ReadToEnd());
    }
}

קוד מלא

string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
// צור מופע של מחלקה Parser כדי לחלץ טבלאות ממסד הנתונים.
// מחרוזת חיבור מועברת כפרמטר ראשון ו-LoadOptions מוגדר לפורמט קובץ מסד נתונים.
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
	// קבלו רשימה של טבלאות
	IEnumerable<TocItem> toc = parser.GetToc();
	// חזרה על שולחנות
	foreach (TocItem i in toc)
	{
		// הדפס את שם הטבלה
		Console.WriteLine(i.Text);
		// חלץ תוכן טבלה כטקסט
		using (TextReader reader = parser.GetText(i.PageIndex.Value))
		{
			Console.WriteLine(reader.ReadToEnd());
		}
	}
}

תְפוּקָה

קוד C# לחילוץ נתונים ממסד נתונים של SQLite

בקר בתיעוד כדי לחקור עוד על GroupDocs.Parser עבור .NET API. אתה יכול להוריד או לשכפל את דוגמאות קוד המקור ממאגר GitHub. בכל מקרה של שאילתה, פשוט פרסם אותה בפורום.