데이터베이스는 대부분의 애플리케이션에서 필수적인 부분으로 간주됩니다. 데스크탑, 웹 또는 모바일 애플리케이션이든 데이터베이스는 데이터를 저장, 액세스 및 조작하는 데 중요한 역할을 합니다. 데이터베이스를 생성하고 관리할 수 있는 많은 데이터베이스 관리 시스템이 있습니다.
그러나 데이터베이스 관리 시스템을 설치하거나 SQL 쿼리를 작성하지 않고 데이터베이스 파일(예: .db 파일)에서 데이터를 추출하는 방법이 필요한 시나리오가 있을 수 있습니다. 이러한 경우 데이터베이스 파일을 어떻게 구문 분석하고 데이터를 가져오겠습니까?
이 기사에서는 SQL 쿼리를 작성하지 않고 SQLite 데이터베이스의 테이블에서 데이터를 얼마나 쉽게 추출할 수 있는지 보여드릴 것입니다. ADO.NET을 통해 데이터베이스에서 데이터 추출을 지원하는 GroupDocs.Parser for .NET API를 사용할 예정입니다. org/wiki/ADO.NET).
SQLite 데이터베이스(.db)의 테이블에서 데이터를 추출하는 단계
1. Visual Studio에서 새 프로젝트를 만듭니다.
2. NuGet에서 **.NET용 GroupDocs.Parser를 설치합니다.
3. 다음 네임스페이스를 추가합니다.
using System;
using System.Collections.Generic;
using System.IO;
using GroupDocs.Parser.Data;
using GroupDocs.Parser.Options;
4. 연결 문자열을 준비합니다.
string connectionString = string.Format("Provider=System.Data.Sqlite;Data Source={0};Version=3;", "sqlite.db");
5. Parser 개체에 데이터베이스 파일을 로드합니다.
using (Parser parser = new Parser(connectionString, new LoadOptions(FileFormat.Database)))
{
// 귀하의 코드는 여기에 있습니다
}
6. Parser.GetToc 메서드를 사용하여 데이터베이스의 테이블 목록을 가져옵니다.
// 테이블 목록 가져오기
IEnumerable<TocItem> toc = parser.GetToc();
7. 테이블을 반복하고 데이터를 추출합니다.
// 테이블에 대해 반복
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());
}
}
}
산출
![SQLite 데이터베이스에서 데이터를 추출하는 C# 코드](images/GetDataFromDatabase.png#center)
GroupDocs.Parser for .NET API에 대해 자세히 알아보려면 문서를 방문하세요. 소스 코드 예제는 GitHub 저장소에서 다운로드하거나 복제할 수 있습니다. 문의사항은 포럼에 올려주시면 됩니다.