System.Data.SQLite

An open source ADO.NET provider for the SQLite database engine

Supported Platforms 

System.Data.SQLite is the original SQLite database engine and a complete ADO.NET 2.0/3.5 provider all rolled into a single mixed mode assembly.  It is a complete drop-in replacement for the original sqlite3.dll (you can even rename it to sqlite3.dll if you're using it natively).

Here is a brief overview of its features:

Complete ADO.NET 2.0 Implementation
The provider was written from scratch on VS2005/2008 specifically for ADO.NET 2.0, using all the most recent changes to the ADO.NET framework.  That includes full DbProviderFactory support, automatic distributed transaction enlistment, connection pooling, extensive schema support, Entity Framework support and more.

Supports the Full and Compact .NET Framework as well as native C/C++
Whether you're programming in .NET or straight C/C++ on the desktop or a mobile device, we've got a build for you.

Mono support
A managed-only version of the provider is also available that works on Mono against the official SQLite library from http://www.sqlite.org/.  Requires 3.6.1 or higher.

Support for the ADO.NET 3.5 Entity Framework
Supports nearly all the entity framework functionality that Sql Server supports, and passes 99% of the tests in MS's EFQuerySamples demo application.

Visual Studio 2005/2008 Design-Time Support
You can add a SQLite connection to the Server Explorer, create queries with the query designer, drag-and-drop tables onto a Typed DataSet and more! SQLite's designer works on full editions of Visual Studio 2005/2008, including VS2005 Express Editions.
* NEW You can create/edit views, tables, indexes, foreign keys, constraints and triggers interactively within the Visual Studio Server Explorer!

Visual Studio Integration
(watch the video)

Completely portable database files
Unencrypted SQLite databases can be freely shared across all platforms and CPU types, including non-Windows platforms. Encrypted databases can be shared across all Windows platforms and processors.

Incredibly fast, faster than most every other embedded database, including Sql Server Mobile
SQLite's installed size is a fraction of Sql Mobile's. It uses less memory at runtime, and generates smaller databases as well.

Encryption Support
The entire database file can be encrypted.  Binary and cleartext passwords are supported.

Single file redistributable under 900kb
The desktop native SQLite library and the ADO.NET wrapper are combined into a single mixed assembly.  Precompiled binaries are available for x86, IA64 and x64.  The Compact Framework has two files -- a native ARM-compiled library and the managed wrapper.

Extensive SQL support
SQLite implements most of the SQL92 standard (see below).  Supports named and unnamed parameters along with full UTF-8 and UTF-16 support each with optimized pipelines into the SQLite core.

User-Defined Functions & Collating Sequences
Full support for user-defined functions and collating sequences means that in many cases if SQLite doesn't have a feature, you can write it yourself in your favorite .NET language.  Writing UDF's and collating sequences has never been easier.

Full Source Included.  100% Free.
The full source to the wrapper and SQLite engine is in the public domain.  There are zero licensing restrictions for private or commercial use.

SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine. Features include:

  • Transactions are atomic, consistent, isolated, and durable (ACID) even after system crashes and power failures.
  • Zero-configuration - no setup or administration needed.
  • Implements most of SQL92. (Features not supported)
  • A complete database is stored in a single disk file.
  • Database files can be freely shared between machines with different byte orders.
  • Supports databases up to 2 terabytes (241 bytes) in size.
  • Sizes of strings and BLOBs limited only by available memory.
  • Small code footprint: less than 30K lines of C code, less than 250KB code space (gcc on i486)
  • Faster than popular client/server database engines for most common operations.
  • Simple, easy to use API.
  • TCL bindings included. Bindings for many other languages available separately.
  • Well-commented source code with over 95% test coverage.
  • Self-contained: no external dependencies.
  • Sources are in the public domain. Use for any purpose.

What's New

  • sgen generates error with x64 dll System.Data.Sqlite.dll

    I am creating a 64-bit application in visual studio 2008 with .NET framework 3.5 sp1. I have a web-reference added into my project. Due to this sgen.exe is called by the .net compiler in the release mode.That build is failed due to this SQLite dll with the following error: Error 1 An attempt was made to load an assembly with an incorrect format: D:...
    Posted to Bugs (Forum) by piyushnagar on 09-02-2010
  • Error In ADO.NET?

    Hello,I have goat the following error in Ado.net in vb.net2003,What this error mean? Number of query values and destination fields are not same Thanks
    Posted to Bugs (Forum) by carlmarks on 09-02-2010
  • Error In ADO.NET?

    Hello,I have goat the following error in Ado.net in vb.net2003,What this error mean? Number of query values and destination fields are not same Thanks
    Posted to Bugs (Forum) by carlmarks on 09-01-2010
  • Re: .net 4.0 support?

    Right click the project in the solution explorer Add, New Item ... Select "Application Configuration File" in the window that comes up Paste the sample into the file this creates
    Posted to Feature Requests (Forum) by cheetah on 09-01-2010
  • Re: Error on convert db field to int?

    SQLite returns integer fields as longs most of the time, AFAICT. Try something like this (assuming dr is a SQLiteDataReader): long? tmp = dr.IsDBNull(0) ? (long?)null : dr.GetInt64(0); or ... int? tmp = dr.IsDBNull(0) ? (int?)null : (int)dr.GetInt64(0);
    Posted to Bugs (Forum) by cheetah on 09-01-2010

Who Is Online

Powered by Community Server (Commercial Edition), by Telligent Systems