现在的位置: 首页 > 综合 > 正文

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

2013年01月31日 ⁄ 综合 ⁄ 共 1596字 ⁄ 字号 评论关闭
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" 

抱歉!评论已关闭.