SQLite使用介绍
SQLite是一个小型的C程序库,实现了独立的,可嵌入的,零配置的SQL数据库引擎。特性包括事务操作是原子,一致,孤立,并且持久的(ACID),零配置,实现了绝大多数SQL92标准,整个数据库存储在一个单一的文件中,数据库文件可以在不同字节序的机器之间自由地共享,支持最大可达2T的数据库,字符串和BLOB类型的大小最大可达 2G 字节(231字节),小的代码,在大多数常见操作上比流行的客户/服务器
SQLite是一个小型的C程序库,实现了独立的,可嵌入的,零配置的SQL数据库引擎。特性包括:
* 事务操作是原子,一致,孤立,并且持久的(ACID),即使在系统崩溃和电源故障之后。
* 零配置??不需要安装和管理。
* 实现了绝大多数SQL92标准。 (不支持的特性)
* 整个数据库存储在一个单一的文件中。
* 数据库文件可以在不同字节序的机器之间自由地共享。
* 支持最大可达2T的数据库。 (241 字节)
* 字符串和BLOB类型的大小最大可达 2G 字节(231字节)。
* 小的代码: 完整配置的少于250KB,忽略一些可选特性的少于150KB。
* 在大多数常见操作上比流行的客户/服务器数据库引擎更快。
* 简单,易于使用的API。
* 内建TCL绑定。 另外提供可用于许多其他语言的绑定。
* 具有良好注释的源代码,95%经过测试。
* 独立:没有外部依赖。
* 源代码位于公共域。 可用于任何用途。
SQLite有如下的优缺点:
优点:
(1)支持Limit语句,支持数据自动分页
(2)支持Insert返回自动递增主键的ID
(3)查询性能和效率高
(4)支持压缩命令
(6)开放源代码,可以内嵌到dll中。并且允许随意修改其源代码,并且允许不公开修改后的源代码
(7)跨平台,数据库具有很强的兼容性
(8)支持动态建立数据库功能
缺点:
(1)没有一个很好的查询分析器,网上的所有的查询分析器大多都用过,感觉都没有Access那么直观。
中间:(1)事务处理,对Asp.Net用处不大,不可能在同一个连接插入大批量的数据。
(注意:事务其实就是一个批处理命令,将SqlCommand批量执行,只能处理一个连接的批处理)
微软提供的企业库可连接SQLite,连接的配置文件config如下:<configuration>
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</configSections>
<dataConfiguration defaultDatabase="ConnectionString">
<providerMappings>
<add databaseType="EntLibContrib.Data.SQLite.SQLiteDatabase, EntLibContrib.Data.SqLite, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
name="System.Data.SQLite" />
</providerMappings>
</dataConfiguration>
<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=./Fintronx.db3;Version=3;"
providerName="System.Data.SQLite" />
</connectionStrings>
</configuration>