·天新网首页·加入收藏·设为首页·网站导航
数码笔记本手机摄像机相机MP3MP4GPS
硬件台式机网络服务器主板CPU硬盘显卡
办公投影打印传真
家电电视影院空调
游戏网游单机动漫
汽车新车购车试驾
下载驱动源码
学院开发设计
考试公务员高考考研
业界互联网通信探索
您现在的位置:天新网 > 软件开发 > .Net开发 > C#
C#使用BerkeleyDB操作简介
http://www.21tx.com 2008年10月23日

1 2 3 4 5 6 下一页

  Berkeley DB是历史悠久的嵌入式数据库系统,主要应用在Unix/Linux操作系统上。Berkeley DB的存储的是key/value键值对,可以理解为硬盘上的超级hash表。其可以管理256TB数据,而且能支撑几千个并发访问。目前Berkeley DB有C++版和Java版。所以,我们需要一个访问的中间转换,已经有人发布了C#的API。可以从 Berkeley DB for .net 上面找到,现在最新版是0.95版本,可以支持4.3和4.5版。本篇将以4.5版做实例。BerkeleyDB的版本可以在http://www.Oracle.com/technology/products/berkeley-db/index.html下载,当前最新版本为4.7版。4.5 C++版的Berkeley DB可以在http://www.oracle.com/technology/software/products/berkeley-db/db/index.html这里下载。

   By Birdshover@ 博客园 http://www.cnblogs.com/birdshover/

  下载到Berkeley DB for .Net的API——libdb-dotnet_0_95.zip后,就可以开始使用了。首先在libdb-dotnet_0_95.zip解压缩的bin目录找到libdb_dotNET45.dll,这个就是4.5版本使用的dll。新建项目,引用这个dll。注意,自己编译源码可能会编译不过,主要是因为里面一些委托和委托的参数可见性不一致造成的。把那些参数用到的class 或者struct都调成public即可。

  BerkeleyDB的数据库操作需要借助DbBTree类。因此需要先得到DbBTree的实例,但是DbBTree类会对其它几个类有依赖,必须依赖其它几个类才能创建。

   下面代码就是初始化得到DbBTree实例的一个过程。

  /// <summary>
  /// 数据库目录
  /// </summary>
  private string directory;
  /// <summary>
  /// 数据库文件名
  /// </summary>
  private string dbName;
 
  private DbBTree btree;
  private Txn txn;
  private Db db;
  private Env env;
  /// <summary>
  /// 初始化
  /// </summary>
  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#中正则表达式进行忽略大小写的字符串替换
下一篇: C#语言的构造一个爬虫程序

1 2 3 4 5 6 下一页

关于我们 | 联系我们 | 加入我们 | 广告服务 | 投诉意见 | 网站导航
Copyright © 2000-2011 21tx.com, All Rights Reserved.
晨新科技 版权所有 Created by TXSite.net