真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C#BerkeleyDB數(shù)據(jù)庫怎么用

這篇文章主要介紹C# Berkeley DB數(shù)據(jù)庫怎么用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供圖木舒克網(wǎng)站建設(shè)、圖木舒克做網(wǎng)站、圖木舒克網(wǎng)站設(shè)計(jì)、圖木舒克網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、圖木舒克企業(yè)網(wǎng)站模板建站服務(wù),十余年圖木舒克做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

Berkeley DB是歷史悠久的嵌入式數(shù)據(jù)庫系統(tǒng),主要應(yīng)用在UNIX/LINUX操作系統(tǒng)上。Berkeley DB的存儲(chǔ)的是key/value鍵值對(duì),可以理解為硬盤上的超級(jí)hash表。其可以管理256TB數(shù)據(jù),而且能支撐幾千個(gè)并發(fā)訪問。目前Berkeley DB有C++版和Java版。所以,我們需要一個(gè)訪問的中間轉(zhuǎn)換,已經(jīng)有人發(fā)布了C#的API??梢詮?Berkeley DB for .NET 上面找到,現(xiàn)在***版是0.95版本,可以支持4.3和4.5版。本篇將以4.5版做實(shí)例。

下載到Berkeley DB for .Net的 API——libdb-dotnet_0_95.zip后,就可以開始使用了。首先在libdb-dotnet_0_95.zip解壓縮的bin目錄找到 libdb_dotNET45.dll,這個(gè)就是4.5版本使用的dll。新建項(xiàng)目,引用這個(gè)dll。注意,自己編譯源碼可能會(huì)編譯不過,主要是因?yàn)槔锩嬉恍┪泻臀械膮?shù)可見性不一致造成的。把那些參數(shù)用到的class 或者struct都調(diào)成public即可。

C# Berkeley DB數(shù)據(jù)庫操作需要借助DbBTree類。因此需要先得到DbBTree的實(shí)例,但是DbBTree類會(huì)對(duì)其它幾個(gè)類有依賴,必須依賴其它幾個(gè)類才能創(chuàng)建。

下面代碼就是初始化得到DbBTree實(shí)例的一個(gè)過程。

///  /// 數(shù)據(jù)庫目錄  ///  private string directory;  ///  /// 數(shù)據(jù)庫文件名  ///  private string dbName;   private DbBTree btree;  private Txn txn;  private Db db;  private Env env;  ///  /// 初始化  ///  private void Init(){  env = new Env(EnvCreateFlags.None);  Env.OpenFlags envFlags =  Env.OpenFlags.Create |  Env.OpenFlags.InitLock |  Env.OpenFlags.InitLog |  Env.OpenFlags.InitMPool |  Env.OpenFlags.InitTxn |  Env.OpenFlags.Recover;  env.Open(directory, envFlags, 0);  txn = env.TxnBegin(null, Txn.BeginFlags.None);  db = env.CreateDatabase(DbCreateFlags.None);  btree = (DbBTree)db.Open(txn, dbName, null, DbType.BTree, Db.OpenFlags.Create, 0);  }

另外C# Berkeley DB數(shù)據(jù)庫的操作需要借助于序列化。

/// ///二進(jìn)制序列化  /// privateBinaryFormatterformatter;  /// ///鍵內(nèi)存流  /// privateMemoryStreamkeyStream;  /// ///內(nèi)容內(nèi)存流  /// privateMemoryStreamdataStream;   privatevoidStreamInit()  {  formatter=newBinaryFormatter();  keyStream=newMemoryStream();  dataStream=newMemoryStream();  }

鍵值C# Berkeley DB數(shù)據(jù)庫,因此定義一個(gè)獲取鍵接口:

publicinterfaceIPut  {  stringKey{get;}  }

以上是“C# Berkeley DB數(shù)據(jù)庫怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


文章標(biāo)題:C#BerkeleyDB數(shù)據(jù)庫怎么用
本文鏈接:http://weahome.cn/article/psjehc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部