System.Data.SQLite

Check-in [ae4f9bc9d4]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Update readme.htm file.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: ae4f9bc9d42f483d53244d1a1da006b568d3aaa6
User & Date: mistachkin 2011-07-03 13:36:26.570
Context
2011-07-03
13:40
Remove stray generated resources file. check-in: ef2a0641ff user: mistachkin tags: trunk
13:36
Update readme.htm file. check-in: ae4f9bc9d4 user: mistachkin tags: trunk
13:19
Merge all build enhancements to trunk. check-in: 0fedc31598 user: mistachkin tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to readme.htm.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

23
24




25
26
27
28
29

30
31

32
33
34

35
36
37
38
39
40

41
42
43
44
45
46
47
48
49
50
51
52
53



















54
55
56
57

58
59

60

61

62
63
64
65
66

67
68
69
70
71

72
73
74

75

76

77
78

79
80
81

82
83

84

85

86

87
88
89

90

91
92

93

94
95
96
97
98
99
100
101
102
103
<!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.73.0 June 2, 2011<br />
Using SQLite 3.7.6.3 <a href="http://www.sqlite.org/src/info/ed1da510a2">[ed1da510a2]</a><br />
Originally written by Robert Simpson<br />
Released to the public domain, use at your own risk!<br />
Official provider website:&nbsp; <a href="http://system.data.sqlite.org">http://system.data.sqlite.org</a><br />
Legacy versions:&nbsp; <a href="http://sqlite.phxsoftware.com">http://sqlite.phxsoftware.com</a><br />
<br />
The current development version can be downloaded from <a href="http://system.data.sqlite.org/index.html/timeline?n=20&y=ci">
http://system.data.sqlite.org/index.html/timeline?n=20&y=ci</a>
<br />
<br />

<h2><b>Features</b></h2>

<ul>

<li>Written from scratch on VS2008 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, and native
C/C++ development.&nbsp; 100% binary compatible with the original sqlite3.dll.<br />
<font color="red">Compact framework not currently not included. We hope to have
this feature included again soon.</font></li>


<li>Full support for Mono via a &quot;managed only&quot; provider that runs against
the official SQLite 3.6.1 or higher library.</li>


<li>Full Entity Framework support (ADO.NET 3.5 SP1)</li>


<li>On the Compact Framework, it is faster than 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. <font color="red">Compact
framework not currently not included. We hope to have this feature included again
soon.</font>


<li>Encrypted database support.&nbsp; 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 of VS2005.&nbsp; 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>Full SQLite schema editing inside Visual Studio.&nbsp;
You can create/edit tables, views, triggers, indexes, check constraints and foreign
keys.<br />
<font color="red">Currently not included.  We are still updating the Design-Time
support installer.</font>
</li>




















<li>Single file redistributable (except on Compact Framework).&nbsp; The core
sqlite3 codebase and the ADO.NET wrapper are combined into one multi-module assembly.<br />
<font color="red">Currently all versions provided as System.Data.SQLite.dll and SQLite.Interop.dll.
This provides consistency across all packages, including Compact and Mono.</font>

</li>


<li>Binaries included for Itanium, x64, x86 and ARM processors.<br />

<font color="red">Currently only x64 and x86 included.  

We hope to have more processors included again soon.</font>
</li>

<li>DbProviderFactory support</li>


<li>Full support for ATTACH'ed databases.&nbsp; Exposed as <i>Catalogs</i> in the
schema.&nbsp; When cloning a connection, all attached databases are automatically
re-attached to the new connection.
</li>


<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><em>ForeignKeys

</em>and<em> Triggers</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.&nbsp; No copyrights.&nbsp; Public
Domain.&nbsp; 100% free for commercial and non-commercial use.&nbsp;</li>

</ul>

<h2><strong>Design-Time Support</strong></h2>
<font color="red">Currently not included.  We are still updating the Design-Time
support installer.</font>
<p>
In Windows Explorer, navigate to the <strong>SQLite.NET\bin\Designer</strong> folder






|
|
|


|
|









>
|
|
>
>
>
>
|
|
<
|

>
|
|
>

|

>
|
|
|
<
|

>
|
|
<
<
<
<
<
<
<
<
<
|

>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
|
<
<
>
|

>
|
>
|
>
|
|

|

>
|
|
|
|

>
|
|
|
>
|
>

>
|
|
>

|

>
|
|
>

>
|
>

>
|
|
|
>

>
|
|
>

>
|
|
|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

32
33
34
35
36
37
38
39
40
41
42
43
44

45
46
47
48
49









50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72


73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body>
ADO.NET SQLite Data Provider<br />
Version 1.0.74.0 July 4, 2011<br />
Using SQLite 3.7.7.1 <a href="http://www.sqlite.org/src/info/af0d91adf4">[af0d91adf4]</a><br />
Originally written by Robert Simpson<br />
Released to the public domain, use at your own risk!<br />
Official provider website:&nbsp; <a href="http://system.data.sqlite.org/">http://system.data.sqlite.org/</a><br />
Legacy versions:&nbsp; <a href="http://sqlite.phxsoftware.com/">http://sqlite.phxsoftware.com/</a><br />
<br />
The current development version can be downloaded from <a href="http://system.data.sqlite.org/index.html/timeline?n=20&y=ci">
http://system.data.sqlite.org/index.html/timeline?n=20&y=ci</a>
<br />
<br />

<h2><b>Features</b></h2>

<ul>
  <li>
    Written from scratch on Visual Studio 2008 specifically for ADO.NET,
    implementing all the base classes and features recently introduced in the
    framework, including automatic transaction enlistment.
  </li>

  <li>
    Supports the Full and Compact .NET Framework, and native C/C++ development.
    100% binary compatible with the original sqlite3.dll.

  </li>

  <li>
    Full support for Mono via a &quot;managed only&quot; provider that runs
    against the official SQLite 3.6.1 or higher library.
  </li>

  <li>Full Entity Framework support (ADO.NET 3.5 SP1).</li>

  <li>
    On the Compact Framework, it is faster than 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>

  <li>
    Encrypted database support.  Encrypted databases are fully encrypted and
    support both binary and cleartext password types.









  </li>

  <li>
    Visual Studio design-time Support, works with all versions of Visual Studio
    2005/2008/2010.  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.
    <br />
    <font color="red">
      Currently not included.  We are still updating the design-time support
      installer.  Due to Visual Studio licensing restrictions, the Express
      Editions can no longer be supported.
    </font>
  </li>

  <li>
    Full SQLite schema editing inside Visual Studio.  You can create/edit tables,
    views, triggers, indexes, check constraints and foreign keys.
  </li>

  <li>
    Single file redistributable (except on Compact Framework).  The core SQLite
    native code and the ADO.NET managed wrapper are combined into one mixed-mode


    assembly.
  </li>

  <li>
    Binaries included for x86, x64, Itanium, and ARM processors.
    <br />
    <font color="red">
      Itanium processor support not currently included.
    </font>
  </li>

  <li>DbProviderFactory support.</li>

  <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>

  <li>
    DbConnection.GetSchema(...) support includes <i>ReservedWords</i>,
    <i>MetaDataCollections</i>, <i>DataSourceInformation</i>, <i>DataTypes</i>,
    <i>Columns</i>, <i>Tables</i>, <i>Views</i>, <i>ViewColumns</i>,
    <i>Catalogs</i>, <i>Indexes</i>, <i>IndexColumns</i>, <i>ForeignKeys</i> and
    <i>Triggers</i>.
  </li>

  <li>
    Enhanced DbDataReader.GetSchemaTable() functionality returns catalog,
    namespace and detailed schema information even for complex queries.
  </li>

  <li>Named and unnamed parameters.</li>

  <li>
    Full UTF-8 and UTF-16 support, each with optimized pipelines into the native
    database core.
  </li>

  <li>
    Multiple simultaneous DataReaders (one DataReader per Command however).
  </li>

  <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>

  <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>

  <li>
    Full source for the entire engine and wrapper.  No copyrights.  Public
    Domain.  100% free for commercial and non-commercial use.
  </li>
</ul>

<h2><strong>Design-Time Support</strong></h2>
<font color="red">Currently not included.  We are still updating the Design-Time
support installer.</font>
<p>
In Windows Explorer, navigate to the <strong>SQLite.NET\bin\Designer</strong> folder
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159



















160
161
162
163
164
165
166
</pre>
<p>
See the help documentation for further details on implementing both version-specific
(GAC enabled) and version independent DBProviderFactories support.
</p>

<h2>Compiling for the Compact Framework</h2>
<font color="red">Compact framework not currently not included. We hope to have
this feature included again soon.</font></li>
<p>
Just change the target platform from Win32 to Compact Framework and recompile.&nbsp;
<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>&nbsp; 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>
<font color="red">Currently all versions provided as System.Data.SQLite.dll and SQLite.Interop.dll.
This provides consistency across all packages, including Compact and Mono.</font>
<p>
On the desktop, only the <strong>System.Data.SQLite.DLL</strong> file needs to be
distributed with your application(s).&nbsp; This DLL contains both the managed wrapper
and the native SQLite3 codebase.&nbsp; For the Compact Framework, you will have
to distribute both the CF version of System.Data.SQLite.DLL, as well as the SQLite.Interop.XXX.DLL.&nbsp;
This is a breaking change as of 1.0.59.0.&nbsp; Recent Windows Mobile frameworks
are not supporting the mixed CF assembly I was building prior to this version.</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.&nbsp; 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>

<h2><b>Version History</b></h2>




















<p>
  <b>1.0.73.0 - June 2, 2011</b>
</p>
<ul>
  <li>Updated to SQLite 3.7.6.3 <a href="http://www.sqlite.org/src/info/ed1da510a2">[ed1da510a2]</a>
  <li>Minor optimization to GetBytes(). Fix for [8c1650482e].</li>
  <li>Update various assembly information settings.</li>







|
<








|
<



















>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







156
157
158
159
160
161
162
163

164
165
166
167
168
169
170
171
172

173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
</pre>
<p>
See the help documentation for further details on implementing both version-specific
(GAC enabled) and version independent DBProviderFactories support.
</p>

<h2>Compiling for the Compact Framework</h2>


<p>
Just change the target platform from Win32 to Compact Framework and recompile.&nbsp;
<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>&nbsp; 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>
On the desktop, only the <strong>System.Data.SQLite.DLL</strong> file needs to be
distributed with your application(s).&nbsp; This DLL contains both the managed wrapper
and the native SQLite3 codebase.&nbsp; For the Compact Framework, you will have
to distribute both the CF version of System.Data.SQLite.DLL, as well as the SQLite.Interop.XXX.DLL.&nbsp;
This is a breaking change as of 1.0.59.0.&nbsp; Recent Windows Mobile frameworks
are not supporting the mixed CF assembly I was building prior to this version.</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.&nbsp; 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>

<h2><b>Version History</b></h2>

<p>
    <b>1.0.74.0 - July 4, 2011</b>
</p>
<ul>
    <li>Updated to SQLite 3.7.7.1 <a href="http://www.sqlite.org/src/info/af0d91adf4">[af0d91adf4]</a>.</li>
    <li>Fix incorrect hard-coded .NET Framework version information SQLiteFactory_Linq.cs that was causing IServiceProvider.GetService to fail when running against the .NET Framework 3.5.</li>
    <li>Fix all XML documentation warnings.</li>
    <li>Restore support for the mixed-mode assembly (i.e. the one that can be registered in the Global Assembly Cache).</li>
    <li>Restore support for the Compact Framework.</li>
    <li>Remove unused &quot;using&quot; statements from the System.Data.SQLite and System.Data.SQLite.Linq projects.</li>
    <li>Remove hard-coded System.Data.SQLite.Linq version from SQLiteFactory_Linq.cs</li>
    <li>Modify the setup to support bundled packages (i.e. with the mixed-mode assembly) and standard packages (i.e. with the managed assembly separate from the native interop library).</li>
    <li>Disable the ability to register with the Global Assembly Cache in the standard setup package (i.e. it is available in the bundled setup only).</li>
    <li>Remove PATH modification from the setup.</li>
    <li>Modify the naming scheme for the source, setup, and binary packages to allow for the necessary variants.</li>
    <li>In the build automation, attempt to automatically detect if Visual Studio 2008 and/or 2010 are installed and support building binaries for both at once, when available.</li>
    <li>Add release automation to build the source, setup, and binary packages in all supported build variants.</li>
    <li>Add the testlinq project to the new build system and make it work properly with Visual Studio 2008 and 2010.</li>
</ul>
<p>
  <b>1.0.73.0 - June 2, 2011</b>
</p>
<ul>
  <li>Updated to SQLite 3.7.6.3 <a href="http://www.sqlite.org/src/info/ed1da510a2">[ed1da510a2]</a>
  <li>Minor optimization to GetBytes(). Fix for [8c1650482e].</li>
  <li>Update various assembly information settings.</li>