bdb专题
来源:互联网 发布:java游戏开发培训 编辑:程序博客网 时间:2024/05/18 03:27
一、下载(4.6.21版本)
http://www.oracle.com/technetwork/database/berkeleydb/downloads/index-082944.html
二、编译与安装
2.1 解压db-4.6.21.tar.gz;
2.2 cd db-4.6.21/build_unix
2.3 生成Makefile文件: ../configure
2.4 生成程序: make
2.5 安装程序:make install
2.6 安装后的目录: /usr/local/BerkeleyDB.4.6
三、示例程序
#include <stdio.h>
#include <string.h>
#include <db.h>
int main()
{
DB *db;
DBT key, data;
DBC *cursorp;
int ret;
char tmpstr[4];
/* init key, data,seems meanless */
memset(&key, 0, sizeof(DBT));
memset(&data, 0, sizeof(DBT));
/* create a db handle */
db_create(&db, NULL, 0);
/* open db mydb.db, create it if not exist */
db->open(db, NULL, "mydb.db", NULL, DB_BTREE, DB_CREATE, 0);
/* put key and data pair into bdb.db */
int i = 0;
for(i = 0; i < 10; i ++)
{
/* set value of key and data pair to be insert into mydb.db */
sprintf(tmpstr, "key%d", i);
key.data = tmpstr;
key.size = strlen(key.data);
data.data = tmpstr;
data.size = strlen(data.data);
ret = db->put(db, NULL, &key, &data, DB_NOOVERWRITE);
printf("ret:%d/n", ret); /* ret == 0 means inserting success */
}
/* get data from db */
data.data = "i am key11111's data";
strcpy(tmpstr, "key0");
key.data = &tmpstr;
key.ulen = sizeof(key.data);
key.flags = DB_DBT_USERMEM;
if(0 != db->get(db, NULL, &key, &data, 0))
{
printf("data not found!/n"); /*why?*/
}
else
{
printf("key's data:%s/n", data.data);
}
/* close db handle */
if(NULL != db)
{
db->close(db, 0);
}
return 0;
}
- bdb专题
- bdb
- bdb
- BDB 临时
- bdb 读取
- BDB安装
- BDB 封装
- 七、BDB JE与BDB Java API
- Berkeley DB(BDB)
- bdb 数据库练习
- BDB C# API初探
- 八、BDB OneToOne
- 九、BDB OneToMany
- 十一、BDB ManyToMany
- mysql5.0.22支持bdb
- BDB 数据库开发实例
- BDB介绍和资源
- BDB(C)编译
- GameBoy系列(二):内存映射
- 关于张老师Java视频的学习(九)
- offsetof 例子
- (转)【Android】界面布局之TableLayout(表格布局)
- 本人开发的财务软件简介
- bdb专题
- 结构与对象描述语言...
- 新人报到 圣诞问候
- 常用排序算法分析与实现(一)(Java版)
- 那些埋在墙里面的bug
- 数据库选型和FireBird的使用
- eclipse+wtk配置j2me开发环境
- RAID
- uc/os基本知识-事件