Berkeley db笔记一 使用(VC下环境配置)

来源:互联网 发布:淘宝查看自己的评价星 编辑:程序博客网 时间:2024/04/28 16:20
BerkelyDB是以动态库dll形式提供给C++程序使用的,所以,用C++方式使用BDB就是使用一个第三方动态库。主要步骤就是三步”1)配置头文件、2)配置dll相应的lib文件  3)复制需要的DLL文件到工程目录下。
   
1、创建一个新的win32控制台空C++工程
    文件-->新建-->项目,项目类型选择Win32-->Win32控制台应用程序, 名字为Berkeley,点击确定-->下一步-->完成。这时视图转到项目中,自动生成的Berkeley.cpp的初始代码如下:
// Berkeley.cpp : 定义控制台应用程序的入口点。#include "stdafx.h"int _tmain(int argc, _TCHAR* argv[]){return 0;}

2、 配置使用BerkelyDB的环境
    1、右键单击Berkeley这个工程,选择“属性 -> 配置属性 -> C/C++ -> 常规 -> 附加包含目录,浏览选择Berkeley DB安装目录的include文件夹,确定之后“附加包含目录”的值就变为"C:\Program Files\Oracle\Berkeley DB 4.7.25\include"(按照我的安装路径)。
    2、在“配置属性”里面再选择链接器,然后选择“常规”,点击“附加库目录”行的右半部分,浏览选 择Berkeley DB安装目录的lib文件夹,确定之后“附加库目录”的值就变为"C:\Program Files\Oracle\Berkeley DB 4.7.25\lib"(按照我的安装路径)。
    3、之后在“配置属性”里面再选择链接器,然后选择“输入”,点击“附加依赖项”行的右半部分,手工输入将 其值改为libdb47.lib己注:现在版本是libdb51.lib(现在没有找到???),这个后面的数字随着版本的更新在变化) (这个文件在C:\Program Files\Oracle\Berkeley DB 4.7.25\lib这个目录下)。
    4、最后将"C:\Program Files\Oracle\Berkeley DB 4.7.25\bin"目录下对应的libdb47.dll复制到当前工程的相应文件夹下, 确定之后环境的搭建就完成了。
 
3、简单测试代码
#include "stdafx.h"#include <db_cxx.h>#include<iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[]){Db db(NULL, 0);u_int32_t oFlags = DB_CREATE;db.open(NULL,"mybtree1.db",NULL,DB_BTREE,oFlags,0);//创建数据库Dbt key,data;int i,count=100;for(i=0; i<count; i++){Dbt key(&i,sizeof(int));  Dbt data(&i,sizeof(int));  db.put(0, &key, &data, DB_NOOVERWRITE);//写入数据库}db.sync(0);//将缓存中的数据刷新到数据库中Dbc *dbcp = NULL;  db.cursor(NULL, &dbcp, 0);while (dbcp->get(&key, &data, DB_NEXT) == 0)//从前往后遍历数据库{  cout<< "The Key::data is " << *((int *)key.get_data()) << endl;cout<< "   The Data::data is " << *((int *)data.get_data()) <<endl;}dbcp->close();return 0;}

 如果程序能够顺利运行,环境就配置完成了。你会在程序的工程文件夹中找到新创建的BDB数据库文件:"mybtree1.db" 
原创粉丝点击