5/25/2005

Good News for SQLite Afficionados

Robert Simpson, an "early adopter" of the SQLite database and the .NET Framework 2.0 platform, has his first release of ADO.NET Provider 2.0 for SQLite up on SourceForge. Not only did it compile for me with BETA 2 right out of the box, he's really outdone himself.

This thing supports user-defined functions, and the ProviderFactory model as well: To Quote:

Features:



  • DbProviderFactory support, just add the XML below at the machine.config and/or app.config level.

  • Full support for ATTACH'ed databases.  Exposed as Catalogs in the
    schema.  When cloning a connection, all attached databases are automatically
    re-attached to the new connection.

  • DbConnection.GetSchema(...) support includes the MetaDataCollections,
    DataSourceInformation
    , Columns, Tables, Views, Catalogs
    and Indexes keywords.

  • Enhanced DbDataReader.GetSchemaTable() functionality returns catalog, namespace
    and detailed schema information even for complex queries.

  • Named and unnamed parameters.

  • Full UTF-8 and UTF-16 support.

  • Multiple simultaneous DataReaders (one DataReader per Command however).

  • Full support for user-defined scalar and aggregate functions, encapsulated into
    an
    easy-to-use base class in which only a couple of overrides are necessary to implement
    new SQL functions.

  • Full support for user-defined collating sequences, every bit as simple to implement
    as user-defined functions and uses the same base class.



In order to use the SQLiteFactory and have the SQLite data provider enumerated in
the DbProviderFactories methods, you must add the following segment into either
your application's app.config or the system's machine.config located in the %SystemRoot%\Microsoft.Net\Framework\v2.xxxx\Config
folder:



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



You can get your hands on these goodies here,
including the 3.21 version of the SQLite C++ sources as of today, May 25.

Thank YOO, Robert! One Swell Dewd!