BerkelyDB是以动态库dll形式提供给C++程序使用的,所以,用C++方式使用BDB就是使用一个第三方动态库。主要步骤就是三步”1)配置头文件、2)配置dll相应的lib文件
3)复制需要的DLL文件到工程目录下。
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"(按照我的安装路径)。
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"(按照我的安装路径)。
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这个目录下)。
其值改为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复制到当前工程的相应文件夹下, 确定之后环境的搭建就完成了。
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"