一、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,則會自動建立資料庫。可用Connection的SetPassword屬性設定密碼。但同樣問題,用介面操作軟體將無法開啟此資料庫
解決方案:(感覺這法子笨了點,大家若有好的辦法還請不吝賜教)
1、 用介面操作軟體建立資料庫,進行相應操作,如表結構建立,字典資訊錄入
2、 程式使用時:初次使用,先用Connetion.ChangePassword設定密碼。以後所有操作請求均需帶上密碼。
3、 若需對資料庫結構進行調整。可用ChangePassword方法,將密碼設為空白;然後用介面操作軟體即可開啟此資料庫。
註:ChangePassword方法需在Connection Open後才能執行,也就是說想改密碼必須知道原始密碼
三、介面操作軟體
SQLite2009 Pro Enterprice Manager [SQLite v3.6.11]