berkeley db数据库移植

						berkeley db数据库移植

时间: 2015、05、27
平台: ARM目标机
============================

1、 下载源码。
2、 解压。
3、 cd db-6.0.30
	mkdir  build_arm
	cd build_arm
	../dist/configure CC=arm-linux-gcc --host=arm 
	生成的db.h  libdb.a 就是我们需要的交叉编译文件。

4、   ret = db_env_create(&dbenv,0);
	  if(ret != 0)
	    goto db_open_failed;

	  /* 打开数据库环境 */
	  flags = DB_INIT_CDB | DB_INIT_MPOOL | DB_CREATE | DB_USE_ENVIRON;
	  ret = dbenv->open(dbenv,NULL,flags,0);
	  if(ret != 0)
	    goto db_open_failed;

	  /* 在环境中创建数据库句柄 */
	  ret = db_create(&pdb,dbenv,0);
	  if(ret != 0)
	    goto db_open_failed;

	  flags = DB_CREATE;
	  ret = pdb->open(pdb,NULL,db_name,NULL,DB_BTREE,flags,0);
	  if(ret != 0)
	    goto db_open_failed;

	  Sum = 0;
	  *Exsit = 0;
	  data.flags = DB_DBT_USERMEM;
	  while(Num)
	  {
	    ret = pdb->get(pdb,NULL,&key,&data,0);
	    if(ret != 0)
	      goto db_open_failed;

	    Num--;
	    Sum++;
	    *Exsit += 1;
	    key.data += data.size;
	    data.data += data.size;
	  }
	  
	  if(pdb != NULL)
	    ret = pdb->close(pdb, 0);
	  if(dbenv != NULL)
	    ret = dbenv->close(dbenv, 0);
	  
	  return Sum;


你可能感兴趣的:(Liunx)