在fedora里面安装BerkeleyDB数据库

已转到:http://www.iteblog.com/archives/179 

        一、首先到oracle的官网下载Berkeley db数据库源文件

下载地址http://download.oracle.com/otn/berkeley-db/db-5.3.15.tar.gz

         二、下载之后的文件是一个打包好的文件,需要在命令行里面利用tar来解压(当然你也可以利用一些可视化工具来解压),步骤如下

在命令行里面输入 tar -zxvf  db-5.3.15.tar.gz

解压之后进入db-5.3.15目录有以下文件及文件夹

进入build_unix目录

cd build_unix

之后运行../dist/configure

configure工具检查环境之后,并产生编译程序所需要的文件,当它成功运行之后,接着在命令行里面输入

make

当编译结束之后,你需要运行“make install(需要root权限)”,之后库文件和所需要的开发文件将会安装到你的系统中去。

这时安装好的文件将会默认放在系统的/usr/local/BerkeleyDB.5.3目录里面,为了能够在编程环境中利用它,你需要在/etc/ld.so.conf文件中加入/usr/local/BerkeleyDB.5.3/lib,这样你的程序才能正确找到这个库文件,最后运行ldconfig命令更新你的系统。好了,现在你就可以编写DB数据库代码了。

#include <stdio.h>
#include <db.h>
#include<string.h>
#define DATABASE "employees.db"

int main()
{
   DBT key, data;
   DB *dbp;
   int ret;
   struct data_struct {
      int empid;
      char lastname[50];
      char firstname[50];
      float salary;
   } emp;

   ret = db_create(&dbp, NULL, 0);
   if (ret != 0)
   {
      perror("create");
      return 1;
   }

   ret = dbp->open(dbp, NULL, DATABASE, NULL, DB_BTREE, DB_CREATE, 0);
   if (ret != 0)
   {
      perror("open: ");
      return 1;
   }

   while(1)
   {
      printf("Enter Employee ID: ");
      scanf("%d", &emp.empid);
      if (emp.empid == 0)
         break;
      printf("Enter Last name: ");
      scanf("%s", &emp.lastname);
      printf("Enter First name: ");
      scanf("%s", &emp.firstname);
      printf("Enter Salary: ");
      scanf("%f", &emp.salary);

      memset(&key, 0, sizeof(DBT));
      memset(&data, 0, sizeof(DBT));

      key.data = &(emp.empid);
      key.size = sizeof(emp.empid);
      data.data = &emp;
      data.size = sizeof(emp);

      ret = dbp->put(dbp, NULL, &key, &data, DB_NOOVERWRITE);
      if (ret != 0)
      {
         printf("Employee ID exists\n");
      }
   }

   dbp->close(dbp, 0);
   return 0;
}

编译代码

gcc -I/usr/local/BerkeleyDB.5.3/include -o newemployee newemployee.c -L/usr/local/BerkeleyDB.5.3 -ldb 

按照上面的编译将会出现一个错误

/usr/bin/ld: cannot find -ldb
collect2: ld 返回 1 

这时在命令行里面输入下面的语言问题就可以解决

ln -s /usr/local/BerkeleyDB.5.3/lib/libdb.so /usr/lib/libdb.so 
再编译

gcc -I/usr/local/BerkeleyDB.5.3/include -o newemployee newemployee.c -L/usr/local/BerkeleyDB.5.3 -ldb 

好了,最后代码编译成功。

转载请注明: 转载自过往记忆(http://www.iteblog.com/)

本文链接地址: 在fedora里面安装BerkeleyDB数据库(http://www.iteblog.com/archives/179)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
BDB 专业版 v3.6 -- 索引 1. 关于BDB 2. 系统要求 3. 如何购买 4. 联系我们 5. 感谢 1.关于BDB __________________________________________________________ BDB是贝恩软件(www.bainsoft.com)发布的数据库设计和数据库部署软件, 支持Oracle,MS SQLServer,Access,MySQL,SQLAnyWhere和Sybase数据库。 您可以通过BDB来简化软件开发和部署过程: 1,数据库设计。 通过BDB快速建立数据库模型。支持正向工程和反向工程, 以及数据库模型和实体数据库之间的比对更新和双向同步。 2,数据库部署。 通过BDB创建数据库部署程序。 除了常规调用外,在BDB中还提供了外部命令行调用数据库自动安装支持, 您可以通过该功能把数据库部署集成到您的安装程序中。 3,数据库自动升级。 可在不影响原有数据表数据的前提下进行数据库自动升级。 此外,可方便快捷进行数据库自动升级部署,只需更新BDB自动生成的资源文件即可。 4,数据库迁移。 提供了完整的数据库迁移方案,可进行跨数据库平台迁移。可迁移的数据对象包括: 数据表,索引,约束,缺省值,触发器,视图,存储过程,函数以及数据表数据。 5,查询分析 数据库快速查询分析功能。可进行数据表数据查询,编辑及导出操作: A,提供专用的SQL编辑器。支持语法高亮,脚本预定义。 B,支持脚本快速选择输入。 C,提供了不同数据库平台下统一的快速查询语法支持(如“DESC”)。 D,数据表数据和Excel文件之间的双向导入导出操作。 E,提供特定的数据文件格式,用于不同数据库之间的数据导入,导出。 6,SQL脚本预输出 数据库模型或实体数据库有所改动时,可预输出更新SQL脚本,同时还可以 进行数据库重建SQL脚本预览。 7,支持跨数据库平台。 您只需按熟悉的数据库平台进行数据库设计,在部署到其他数据库平台时, 系统会进行数据类型转换及不同数据库平台下的语法差异处理。 8,采用方案模式。 支持同时进行多个数据库管理。 9,支持可重用属性定义及同步。 10,开发语言支持。 开放的数据库物理结构文件格式(XML标准格式),并提供了外部调用数据库结构源程序 (包含C#/Delphi/JAVA三个版本)。 11,支持多语言。 可根据需要增加新的语言包。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值