下載文件 ? 查看說明文檔
今天我很高興地宣布我的第二款作品,完全基于XML的數據庫:GeneGrid-DataBases(V1.0)
它基于這樣一個思想:以最簡單的原理,按照 GUID-對應值的形式 把所有的數據都存儲在XML文件群中。
原始文檔發布地址: http://www.fssfans.com/blog.aspx?user=3&id=154552
它的缺點 :這并不是一個關系式數據庫,所以它不支持SQL語言,內在的數據存儲結構中也不存在互相的關聯。但是它的這個缺點也是它的優點之一: 高效、簡潔、平臺擴展性強 。
它的優點
:
1:
不需要安裝、不需要加載服務、不需要設置IIS
(對于很多使用虛擬主機的站長來說,這一點是致命傷痛)
2:同時支持運行在IIS上和運行在本地應用。
3:
支持所有的平臺應用
。雖然目前僅僅運行在.Net平臺下,但是它的基礎架構是XML文件,所以在平臺的移植上僅僅是我作為開發者的個人時間問題。而且,您現在就可以通過它的WEB服務功能,將它運行在您的J2EE、PHP、ASP、Mobile環境中,而不需要等待我開發好JAVA和PHP版本(當然,它們已經存在于我的計劃中)
4:非常方便的數據合并,當您準備合并兩套數據的時候,您需要做的僅僅是把XML數據文件復制在同一個文件夾下面即可,因為文件是以GUID來命名的,所以不會出現命名沖突和數據標簽沖突。
5:它是基于文件集群的形式存放數據的,默認每個文件最大512K(并且您可以根據自己的機器性能來定制這個大小),系統會自動建立新的文件來保存更多的數據,所以,不用擔心數據量增大后導致執行性能的下降。理論上,這個系統所能夠容納的數據量僅僅受限于您的磁盤空間大小。
6:原生支持JSON格式,為AJAX應用帶來更強大的效率。
它默認支持:返回 json 數據格式、通過 Ajax 應用模式控制、基于Asp.Net的 Web服務 、以及在任何.Net程序( 本地 )中加載使用。
7:免費使用許可,無論使用在任何用途,它都是免費的,隨便您賺的黑錢還是白錢都不關我事,我不會向您收取使用費用。
執行原理:
當您添加完成一個數據的時候,您會得到一個特殊的 GUID 序列號。 您必須記住這個 GUID ,才能夠保證以后可以查詢到您剛才添加的數據。所以,您一旦丟失了某個數據的GUID序列號,您將很難再找到這條數據。
使用方法:
WEB應用:
1 ?? 把genegrid.dll放置到Bin文件夾中。
????? 保證站點根目錄下存在data文件夾(存在文件夾即可,里面有沒有其它文件無所謂)
????? 把genegrid_config文件夾復制到站點根目錄下
????? ajax.aspx、server.asmx、json.aspx三個文件可以放在任意目錄中
2
? ? ? AJAX應用:
? ? ? 查詢單個數據:json.aspx?guid=某個數據的GUID值
? ? ? 查詢多個數據:json.aspx?guid=某個數據的GUID值&guid=某個數據的GUID值&guid=某個數據的GUID值&.............(任意多)
? ? ? 以上兩個辦法都是以 ?{guid:guid值,value:數據值} 的形式返回JSON格式,主要應用AJAX中。
? ? ? 寫入:ajax.aspx?cmd=addNew&values=您的數據 ?? (返回 true|false)
? ? ? 更新:ajax.aspx?cmd=update&guid=某條數據的GUID&values=新值 ?? (返回 true|false)
? ? ? (以上兩條操作的values參數也可以通過POST來傳遞)
? ? ? 刪除:ajax.aspx?cmd=delete&guid=某條數據的GUID ? (返回 true|false)
? ? ? WEB服務的使用方法大同小異,具體的說明可以參看server.asmx的自帶文檔。
?? 版本信息和版權聲明:ajax.aspx?cmd=vol
項目加載:
????? 您可以通過不同的辦法來將這個數據庫集成到您的開發項目中,其一是通過WEB服務(具體的方法不在本文討論范圍),
????? 其二是加載DLL模塊(.net):
? ? ? namespace genegrid
? ? ? dbOperate 類
? ? ? public Guid insert(string values); //添加數據,返回一個GUID類型值
? ? ? public string select(string id); //查找單一數據,參數是某數據的GUID
? ? ? public DataTable selects(string[] ids); //查找多個數據,參數GUID格式的String數組
? ? ? public bool delete(string id);? //刪除數據,參數是某數據的GUID
? ? ? public bool update(string id,string values); //更新數據,參數是某數據的GUID、新的值。
設置文件:
? ? ? 保存在genegrid_databases_data目錄下的唯一一個文件,名字任意起,后綴名任意。本質是一個XML文件。
最后是版權聲明:
????? 1.0版本屬于免費版本,可免費任意使用在商業用途和非商業用途。雖然該套系統已經經過我的多項測試,但是畢竟個人能力有限,作為開發者本人的我對于使用該軟件而產生的所有后果不負責。
????? GeneGrid-DataBases V1.0 Build 001 ? 2007 梁逸晨 kvspas@gmail.com
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
