본문 바로가기

Programing/닷넷

SQLite for .NET

SQLite는 모바일 장치 - 특히 스마트 장치가 나오면서 유명해진 것 같다.

안드로이드나 아이폰 등에서는 기본적으로 SQLite의 사용을 할 수 있는 라이브러리가 OS에서 지원을 한다.

사실 SQLite는 리차드 힙(Richard Hipp) 박사에 의해 2000년 8월에 SQLite 1.0이 나왔다.


다양한 플랫폼과 다양한 언어로 포팅이 되어 있어 인기가 있는 오픈소스프로젝트라는 것의 예이다.


.NET을 위한 위한 래퍼들도 존재를 하는데,

MyBatis에서 지원하는 것은 두 가지이다.

 - SQLite3 Finisar : SQLite.NET (2006-11-25 23:46 이후로 업데이트 중지)
                         -> ADO.NET 2.0 Provider for SQLite (마지막 업데이트 2010-12-10) VS2008 IDE 지원

 - SQLite3 : System.Data.SQLite (2010년 4월 이후로 업데이트 중지)

      2가지의 프로바이더를 제공하는데

        1. System.Data.SQLite (Data Source=Test.db3;Pooling=true;FailIfMissing=false)

        2. System.Data.SqliClient 


   참고로 이 바이너리는 운영체제의 비트수에 영향을 받기 때문에 손이 가는 것이 있다.

   => Zero administration x86 x64 deployment, load SQLite Data Provider on-the-fly


     인스톨러 패키지를 설치하면 참조추가 > .NET 탭에서 아래와 같이 2가지를 추가 할 수 있다.



C#으로 managed code로 재작성된 포팅은 아래와 같다.

 - csharp-sqlite : Community.CsharpSqlite  빌드를 하면 Community.CsharpSqlite.dll 파일이 생긴다.


읽을 거리

MSDN Magazine::Inside SQLite - Ted Neward

 => System.Runtime.InteropServices을 이용한 네이티브 코드 호출(Writing a .NET Wrapper for SQLite | Switch on the Code)

 => System.Data.SQLite : 좀 더 추상화

 => csharp-sqlite : 전부 매니지드 코드

 * 샘플코드 : Code_Neward.WorkProg.0810.zip