http://www.uushare.com/group/10003/topic/26435
SQLite是遵守ACID的關聯式資料庫管理系統,它包含在一個相對小的C庫中。它是D.RichardHipp建立的公有領域項目。
不像常見的客戶-伺服器範例,SQLite引擎不是個程式與之通信的獨立程序,而是連接配接到程式中成為它的一個主要部分。是以主要的通信協定是在程式設計語言内的直接API調用。這在消耗總量、延遲時間和整體簡單性上有積極的作用。整個資料庫(定義、表、索引和資料本身)都在宿主主機上存儲在一個單一的檔案中。它的簡單的設計是通過在開始一個事務的時候鎖定整個資料檔案而完成的。
特征
庫實作了多數的SQL-92标準,包括事務,就是代表原子性、一緻性、隔離性和持久性的(ACID),觸發器和多數的複雜查詢。不進行類型檢查。你可以把字元串插入到整數列中。例如,某些使用者發現這是使資料庫更加有用的創新,特别是與無類型的腳本語言一起使用的時候。其他使用者認為這是主要的缺點。
多個程序或線程可以通路同一個資料而沒有問題。可以并行的滿足多個讀通路。隻有在其他通路目前不被服務的時候才能滿足寫通路;否則寫通路失敗并帶有一個錯誤代碼(也可以在可配置的逾時過期之後自動的重試)。
System.Data.SQLite
是一個原始SQLite的加強版. 它将是一個原版的sqlite3.dll完全替代品 (你甚至就可以把它重命名為sqlite3.dll). 它不需要連結.NET 運作時,是以可以脫離.NET獨立釋出, 然而它内嵌了一個完整的 ADO.NET 2.0 引擎,為開發提供了完整的支援.
特性
完整的 ADO.NET 2.0 實作
整個工程完全基于VS2005 和 ADO.NET 2.0全新建構, 使用了全部的ADO.NET framework新特性. 包括完整的 DbProviderFactory 支援, 自動的分布式事務調用, 廣泛的模式支援, 此外所有的類都是從 ADO.NET 2.0 的基類繼承下來的.
支援完整和精簡的 .NET Framework 以及 C/C++
這個庫不需要連結依賴.NET運作時,100%相容原始的sqlite3.dll,可以使用非托管的C/C++ 進行開發.
可移植的資料庫檔案
未加密的 SQLite 資料庫檔案可以自由的跨平台和處理器使用,包括非Windows平台. 加密之後的資料庫可以在全部Windows平台上使用.
可以信賴的速度,比包括Sql Server Mobile 在内的其它大多數嵌入式資料庫都要快速
SQLite'安裝所占用的空間相對于Sql Mobile可謂忽略不計了. 它在運作的時候占用更少的記憶體,同時生成的資料庫也更小.
資料庫加密
可以對整個資料庫檔案進行加密. 支援二進制和明文的密碼.
支援使用Visual Studio 20xx 設計
你可以向Server Explorer添加一個SQLite 連接配接, 使用查詢設計器建立處查詢語句, 向一個資料集中拖拽一個表格等等! SQLite的開發者可以在包括體驗版在内的各種Visual Studio 2005下工作.
單檔案再釋出包容量在400kb以下
将SQLite本身和ADO.NET 封裝捆綁編譯在一起. 預編譯的二進制檔案提供了 x86, IA64, x64 和ARM 的版本.
廣泛的SQL語言支援
SQLite 支援大部分的SQL92 标準(see below). 支援命名和未命名的參數以 UTF-8 和UTF-16 編碼通過優化的管道傳入SQLite 核心.
使用者自定義的函數 和 排序
全面支援使用者自定義函數和排序方式,意味着你可以用自己喜歡的.NET語言來實作SQLite沒有提供的特性. 這一切将非常的簡單.
提供了全部的源代碼. 100% 免費.
全部的封裝庫源代碼都是公有的. 無論是個人還是商業應用都沒有任何的協定限制.
最新
支援 Mono
支援 ADO.NET 3.5 Entity Framework
支援 Visual Studio 2005/2008 設計器
SQLite 的官方網址:
http://www.sqlite.org/
System.Data.SQLite 的官方網址:
http://sqlite.phxsoftware.com/