大家都知道用.net開發的程式一般都是使用Sql server資料庫。但是在一些小項目上,卻不適合。一來是沒有必要為小項目而裝sql server,二來是sql server的license太貴,不適合小項目使用。
一般的小項目我推薦使用MySql,Access和Sqlite。 Access在Xp以前的系統中可以直接使用,MySql在windows下需要一個30M的安裝包或是一個10多M的本地檔案包。以前我一直用Access,但是近來我發現Sqlite這個資料庫,感覺很好。向大家介紹一下。
其實Sqlite在嵌入式程式中已經很有名氣了,而且是完全免費的。官方網站為http://www.sqlite.org/
Sqlite與Access一樣,都是單檔案的。就是說沒有資料庫引擎,資料庫檔案在磁碟上就是一個檔案。而且Sqlite支援索引,視圖和觸發器。這些都比Access強。
好東西還需要好的管理工具來搭配,我推薦Sqlite Administrator或是SqliteSpy。大家可以在網上找他們的最新版本。下面給大家兩個圖,第一個是sqlite Administrator,第二個是SqliteSpy的。
上面兩個工具都可以完成Sqlite的一般工作。比如建庫,建表,查詢等。
如果大家想用.net串連,操作Sqlite,還必須去下載Sqlite的類庫System.Data.SQLite.dll,可以在微軟的官方網站上找到。然後在程式中引用這個DLL就可以。它和ADO.net串連Sql Server一樣,也有Connect,Command,Adapter等控制項,具體的操作就不說了。
在使用上,我發現一個問題,就是儲存在Sqlite資料庫中換行斷行符號(/r/n) ,在Sqlite中都被轉成了/n,也就是說,從Sqlite中讀出來的String必須用Replace("/n", "/r/n")轉一下,要不所有的字元都是連一起的,沒有換行斷行符號了。
在最近的一個項目中用了Sqlite,感覺不錯,所以就拿來和大家分享了,有什麼不對的地方還請大家指教。