SQLite 3 使用前要知道的

一、SQLite特性须知

      1、 数据库大小限制

数据库大小被限制在 2TB(241 bytes). 这是理论限制。事实上,你应该把 SQLite数据库的大小限制在100GB以下,以免出现运行性能上的问题。如果你需要储存100GB或更多数据在一个数据库中, 考虑使用为此而设计的企业版数据库吧。原文见:SQLite FAQ中文版 10 SQLite数据库是否有已知的大小限制?http://sqlitecn.org/faq.html#q10

      2、 是否支持二进制存储

SQLite 3.0 版支持在任何字段存放 BLOB 数据,不管字段声明为什么类型。原文见:SQLite FAQ中文版 12 SQLite是否支持 BLOB 类型?http://sqlitecn.org/faq.html#q12            SQLite数据类型:http://hi.baidu.com/weiyousheng/blog/item/d4b5d7d64766652807088b04.html

      3、 对事务处理

      支持 

      4、 多线程

      SQLite对于整个数据库文件进行读取/写入锁定这意味着如果任何进程读取了数据库中的某一部分其他所有进程都不能再对该数据库的任何部分进行写入操作同样的如果任何一个进程在对数据库进行写入操作其他所有进程都不能再读取该数据库的任何部分对于大多数情况这不算是什么问题在这些情      况下每个程序使用数据库的时间都很短暂并且不会独占这样锁定至多会存在十几毫秒但是如果有些程序需要高并发那么这些程序就需要寻找其他的      解决方案了

      参考资料:SQLite FAQ中文版 7 多个应用程序或者同一个应用程序的多个例程能同时存取同一个数据库文件吗?

                                                           8 SQLite是线程安全的吗? 

      5、 安全

      支持密码登录。设置登录密码后,数据库文件内容将进行加密,用文本工具查看显示的是乱码;否则,将会看到表的创建SQL语句等信息。

      资料:《SQLite 数据库加密的一种解决方案》http://www.sqlite.com.cn/MySqlite/3/253.Html

      6、 索引

      支持

二、关于登录密码的问题      

1、 用界面操作软件新建数据库时,输入密码,例如:123,进入系统进行操作。但用程序访问时,无论是在连接字符串中加入“Password=123”或用Connection.SetPassword(123)均无法打开数据库

2、 用程序创建数据库时设定密码

若连接字符串指定数据库不存在,且New=true,则会自动创建数据库。可用ConnectionSetPassword属性设定密码。但同样问题,用界面操作软件将无法打开此数据库

 

    解决方法:(感觉这法子笨了点,大家若有好的办法还请不吝赐教)

1、 用界面操作软件创建数据库,进行相应操作,如表结构创建,字典信息录入

2、 程序使用时:初次使用,先用Connetion.ChangePassword设定密码。以后所有操作请求均需带上密码。

3、 若需对数据库结构进行调整。可用ChangePassword方法,将密码设为空;然后用界面操作软件即可打开此数据库。

注:ChangePassword方法需在Connection Open后才能执行,也就是说想改密码必须知道原始密码

 

三、界面操作软件   

SQLite2009 Pro Enterprice Manager [SQLite v3.6.11]

 

你可能感兴趣的:(sqlite)