?? readme.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body>
ADO.NET 2.0 SQLite Data Provider<br>
Version 1.0.48.0 December 28, 2007<br>
Using SQLite 3.5.4<br>
Written by Robert Simpson (<a href="mailto:robert@blackcastlesoft.com">robert@blackcastlesoft.com</a>)<br>
Released to the public domain, use at your own risk!<br>
Official provider website: <a href="http://sqlite.phxsoftware.com">http://sqlite.phxsoftware.com</a><br />
<br>
The latest version can be downloaded <a href="http://sourceforge.net/projects/sqlite-dotnet2">
here</a>
<br>
<br>
<b></b>
<h2>
<b>Features:</b><br>
</h2>
<UL>
<LI>
Written from scratch on VS2005/2008 specifically for ADO.NET 2.0, implementing all the
base classes and features recently introduced in the framework, including automatic
transaction enlistment.<li>Supports the Full
and Compact .NET Framework, as well as native C/C++ development. 100% binary
compatible with the original sqlite3.dll.</li>
<LI>
On the Compact Framework, it is faster than the newly-introduced Sql Server
Mobile. SQLite's installed size is a fraction of Sql Mobile's. It uses less memory at runtime, runs queries faster, and has a smaller database file size as well.
<li>Encrypted database support. Encrypted databases are fully encrypted and
support both binary and cleartext password types.</li>
<LI>
Visual Studio 2005/2008 Design-Time Support, works with all versions of VS2005/2008,
including
all Express Editions. You can add a SQLite
database to the Servers list, design queries with the Query Designer,
drag-and-drop tables onto a Typed DataSet, etc.
<LI>
Single file redistributable. The core sqlite3 codebase and the ADO.NET wrapper
are combined into one multi-module assembly.
<LI>
Binaries included for Itanium, x64, x86 and ARM processors.
<LI>
DbProviderFactory support.
<LI>
Full support for ATTACH'ed databases. Exposed as <I>Catalogs</I>
in the schema. When cloning a connection, all attached databases are
automatically re-attached to the new connection.
<LI>
DbConnection.GetSchema(...) support includes <I>ReservedWords, MetaDataCollections</I>, <I>DataSourceInformation</I>,
<I>DataTypes, Columns</I>, <I>Tables</I>, <I>Views, ViewColumns, </I><I>Catalogs, </I><I>Indexes,
IndexColumns </I>and <EM>ForeignKeys</EM>
.
<LI>
Enhanced DbDataReader.GetSchemaTable() functionality returns catalog, namespace
and detailed schema information even for complex queries.
<LI>
Named and unnamed parameters.
<LI>
Full UTF-8 and UTF-16 support, each with optimized pipelines into the native
database core.
<LI>
Multiple simultaneous DataReaders (one DataReader per Command however).
<LI>
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.
<LI>
Full support for user-defined collating sequences, every bit as simple to
implement as user-defined functions and uses the same base class.
<LI>
Full source for the entire engine and wrapper. No copyrights.
Public Domain. 100% free for commercial and non-commercial use. </LI></UL>
<strong></strong>
<h2>
<strong>Design-Time Support</strong></h2>
<P>
In Windows Explorer, navigate to the <STRONG>SQLite.NET\bin\Designer</STRONG>
folder and execute the <STRONG>INSTALL.EXE</STRONG>
file. The program will
automatically detect what version(s) of Visual Studio 2005/2008 are installed and allow
you to selectively install and uninstall the designer for each edition.</P>
<H2><STRONG>DbFactory Support (Non-Compact Framework)</STRONG></H2>
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:<br>
<br>
<pre><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"<BR > type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
</DbProviderFactories>
</system.data>
</configuration>
</pre>
<p>See the help documentation for further details on implementing both version-specific (GAC enabled) and version independent DBProviderFactories support.
</p>
<h3>
Compiling for the Compact Framework</h3>
<p>
Just change the target platform from Win32 to Compact Framework and
recompile. <STRONG>The Compact Framework has no support for enumerating
attributes in an assembly, therefore all user-defined collating sequences and
functions must be explicitly registered.</STRONG> See the <STRONG>testce</STRONG>
sample application for an example of how to explicitly register user-defined
collating sequences and functions.</p>
<h2>
<b><A name="redist"></A>Distributing The SQLite Engine and ADO.NET Assembly</b></h2>
<P>
Only the <STRONG>System.Data.SQLite.DLL</STRONG> file needs to be distributed with your
application(s). This DLL contains both the managed wrapper and the native
SQLite3 codebase.</P>
<H2><B>Development Notes Regarding the SQLite 3 Source Code</B></H2>
<p>
The core sqlite engine is compiled directly from the unmodified source code available
at the sqlite.org website. Several additional pieces are compiled on top of
it to extend its functionality, but the core engine's source is not changed.</p>
<p></p>
<p>
<b>Version History</b></p>
<p><b>1.0.48.0 - December 28, 2007</b></p>
<ul>
<li>Code merge with SQLite 3.5.4</li>
<li>Calling SQLiteDataReader.GetFieldType() on a column with no schema information
and whos first row is initially NULL now returns type Object instead of type DbNull.</li>
<li>Added support for a new DateTime type, JulianDay. SQLite uses Julian dates
internally.</li>
<li>Added a new connection string parameter "Default Timeout" and a corresponding
method on the SQLiteConnection object to change the default command timeout.
This is especially useful for changing the timeout on transactions, which use SQLiteCommand
objects internally and have no ADO.NET-friendly way to adjust the command timeout
on those commands.</li>
<li>FTS1 and FTS2 modules were removed from the codebase. Please upgrade all
full-text indexes to use the FTS3 module. </li>
</ul>
<p><b>1.0.47.2 - December 10, 2007</b></p>
<ul>
<li>Fixed yet one more bug when closing a database with unfinalized command objects</li>
<li>Fixed the DataReader's GetFieldType function when dealing with untyped SQLite affinities</li>
</ul>
<p><b>1.0.47.1 - December 5, 2007</b></p>
<ul>
<li>Fixed a leftover bug from the codemerge with SQLite 3.5.3 that failed to close a database.</li>
<li>Fixed the broken Compact Framework distribution binary.</li>
<li>SQLite 3.5.x changed some internal infrastructure pieces in the encryption interface
which I didn't catch initially. Fixed. </li>
</ul>
<p><b>1.0.47.0 - December 4, 2007</b></p>
<ul>
<li>Code merge with SQLite 3.5.3</li>
<li>Added installer support for Visual Studio 2008. Code is still using the
VS2005 SDK so one or two bells and whistles are missing, but nothing significant.</li>
<li>This is the last version that the FTS1 and FTS2 extensions will appear.
Everyone should rebuild their fulltext indexes using the new FTS3 module.
FTS1 and FTS2 suffer from a design flaw that could cause database corruption with
certain vacuum operations.</li>
<li>Fixed pooled connections so they rollback any outstanding transactions before
going to the pool. </li>
<li>Fixed the unintended breaking of the TYPES keyword, and mis-typing of untyped
or indeterminate column types. </li>
<li>Assert a FileIOPermission() requirement in the static SQLiteFunction constructor.
</li>
<li>The CE-only SQLiteFunction.RegisterFunction() is now available on the desktop
platform for dynamic registration of functions. You must still close and re-open
a connection in order for the new function to be seen by a connection.</li>
<li>Fixed the "database is locked" errors by implementing behavioral changes in the
interop.c file for SQLite. Closing a database force-finalizes any prepared
statements on the database to ensure the connection is fully closed. This
was rather tricky because the GC thread could still be finalizing statements itself.
</li>
<li>Modifed the mergebin utility to help circumvent a long-standing strong name verification
bug in the Compact Framework.</li>
</ul>
<p><b>1.0.46.0 - September 30, 2007</b></p>
<ul>
<li>Fixed faulty logic in type discovery code when using SQLiteDataReader.GetValue().</li>
<li>Fixed Connection.Open() bug when dealing with :memory: databases.</li>
<li>Fixed SQLiteCommand.ExecuteScalar() to return a properly-typed value.</li>
<li>Added support for SQLiteParameter.ResetDbType().</li>
<li>Added test cases for rigid and flexible type testing.</li>
</ul>
<p><b>1.0.45.0 - September 25, 2007</b></p>
<ul>
<li><strong>Breaking change in GetSchema("Indexes") </strong>-- MetaDataCollections
restrictions and identifier parts counts were wrong for this schema and I was using
the wrong final parameter as the final restriction. Meaning, if you use the
Indexes schema and are querying for a specific index the array should now be {catalog,
null, table, index } instead of {catalog, null, table, null, index}</li>
<li>Code merge with SQLite 3.4.2</li>
<li>Fixed some errors in the encryption module, most notably when a non-default page
size is specified in the connection string. </li>
<li>Fixed SQLiteDataReader to better handle type-less usage scenarios, which also
fixes problems with null values and datetimes.</li>
<li>Fixed the leftover temp files problem on WinCE </li>
<li>Added connection pooling. The default is disabled for now, but may change
in the future. Set "Pooling=True" in the connection string to enable it. </li>
<li>Sped up SQLiteConnection.Open() considerably.</li>
<li>Added some more robust cleanup code regarding SQLiteFunctions.</li>
<li>Minor additions to the code to allow for future LINQ integration into the main
codebase.</li>
<li>Fixed a long-standing bug in the Open() command of SQLiteConnection which failed
to honor the documented default behavior of the SQLite.NET provider to open the
database in "Synchronous=Normal" mode. The default was "Full". </li>
<li>If Open() fails, it no longer sets the connection state to Broken. It instead
reverts back to Closed, and cleans up after itself.</li>
<li>Added several new parameters to the ConnectionString for setting max page count,
legacy file format, and another called FailIfMissing to raise an error rather than
create the database file automatically if it does not already exist.</li>
<li>Fixed some designer toolbox references to the wrong version of the SQLite.Designer</li>
<li>Fixed a bug in the mergebin utility with regards to COR20 metadata rowsize computations.
</li>
<li>Minor documentation corrections </li>
</ul>
<p><b>1.0.44.0 - July 21, 2007</b></p>
<ul>
<li>Code merge with SQLite 3.4.1</li>
<li>Fixed a bug in SQLiteConnection.Open() which threw the wrong kind of error in
the wrong kind of way when a database file could not be opened or created. </li>
<li>Small enhancements to the TYPES keyword, and added documentation for it in the
help file.</li>
<li>Hopefully fixed the occasional SQLITE_BUSY errors that cropped up when starting
a transaction. Usually occurred in high-contention scenarios, and the underlying
SQLite engine bypasses the busy handler in this scenario to return immediately.</li>
</ul>
<p><b>1.0.43.0 - June 21, 2007</b></p>
<ul>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -