ADO.NET 2.0 SQLite Data Provider
Version 1.0.24.4 (beta) - Jan 16, 2006
Interop using SQLite 3.3.1 alpha
Written by Robert Simpson (robert@blackcastlesoft.com)
Released to the public domain, use at your own risk!

The latest version can be downloaded here

Features:

Design-Time Support (new as of 1.0.14)

Until an installer is created, through a command-prompt or Windows Explorer, navigate to the SQLite.NET\bin\Designer folder and execute the INSTALL.CMD file.  The script and batch file will register the System.Data.SQLite DLL in the Global Assembly Cache, and modify the machine.config file to add SQLite to the list of default data providers.

DbFactory Support (Non-Compact Framework)

In order to use the SQLiteFactory and have the SQLite data provider enumerated in the DbProviderFactories methods, you must add the following segment into your application's app.config file:

<configuration>
  <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SQLite"/>
      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite"
type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /> </DbProviderFactories> </system.data> </configuration>

See the help documentation for further details on implementing both version-specific (GAC enabled) and version independent DBProviderFactories support.

Compiling for the Compact Framework

Just change the target platform from Win32 to Compact Framework and recompile.  The Compact Framework has no support for enumerating attributes in an assembly, therefore all user-defined collating sequences and functions must be explicitly registered.  See the testce sample application for an example of how to explicitly register user-defined collating sequences and functions.

Distributing The SQLite Engine and ADO.NET Assembly

For Win32 platforms, only the System.Data.SQLite.DLL file in the bin folder should be distributed with your application(s).  This DLL contains both the managed wrapper and the native SQLite3 codebase.

For Compact Framework platforms, your application should reference the System.Data.SQLite.DLL file in the bin\CompactFramework folder.  The System.Data.SQLite.DLL and SQLite.Interop.DLL files from the bin\CompactFramework folder must be distributed with your application(s).  They contain the managed wrapper and the native SQLite3 codebase respectively.  The Compact Framework does not currently support managed C++, thus the reason for two files.

Development Notes Regarding the SQLite 3 Source Code

The SQLite3 source code is compiled almost directly from the SQLite.org release sources.  All builds of sqlite after 3.2.8 have included support for Windows CE (without file locking), but the ADO.NET sources here contain CE locking modifications to the os_win.c.  I hope eventually the locking code will be incorporated into the root sqlite codebase.  Additionally, two minor modifications are made to the sources, those modifications are made automatically by the fixsource.vbs file when the VS2005 solution is compiled.

Version History

1.0.24.4 beta - January 16, 2006

1.0.24.3 beta - January 10, 2006

1.0.24.2 - December 30, 2005

1.0.24.1 - December 19, 2005

1.0.24 - December 9, 2005

1.0.23 - November 21, 2005

1.0.22 - November 11, 2005

1.0.21 - November 4, 2005

1.0.20 - October 19, 2005

1.0.19 - October 5, 2005

1.0.18.1 - September 19, 2005

1.0.18 - September 1, 2005

1.0.17 - August 26, 2005

1.0.16 - August 24, 2005

1.0.15 - August 22, 2005

1.0.14 - August 16, 2005

1.0.13 - August 8, 2005

1.0.12 - August 5, 2005

1.0.11 - August 1, 2005

1.0.10 - June 10, 2005

1.0.09a - May 25, 2005

1.0.09 - May 24, 2005

1.0.08 Refresh - Mar 24, 2005

1.0.08 - Mar 11, 2005

1.0.07 - Mar 5, 2005

1.0.06 - Mar 1, 2005

1.0.05 - Feb 25, 2005

1.0.04 - Feb 24, 2005

1.0.03 - Feb 23, 2005

1.0.02 - Feb 21, 2005