国产福利在线播放|久久精品福利网站免费|国产呻吟视频在线观看|日韩一区二区三区免费高清|久996视频精品免费观看|欧美日本在线一区二区三区|在线最新无码经典无码免費資訊|国产午夜亚洲精品国产成人最大

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁(yè) > 幫助中心>文章內(nèi)容

在Fedora里面安裝BerkeleyDB數(shù)據(jù)庫(kù)

發(fā)布時(shí)間:  2012/9/3 17:17:32

一、首先到Oracle的官網(wǎng)下載Berkeley db數(shù)據(jù)庫(kù)源文件

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

二、下載之后的文件是一個(gè)打包好的文件,需要在命令行里面利用tar來(lái)解壓(當(dāng)然你也可以利用一些可視化工具來(lái)解壓),步驟如下-
 


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

解壓之后進(jìn)入db-5.3.15目錄有以下文件及文件夾

 

進(jìn)入build_unix目錄

cd build_unix

之后運(yùn)行../dist/configure

configure工具檢查環(huán)境之后,并產(chǎn)生編譯程序所需要的文件,當(dāng)它成功運(yùn)行之后,接著在命令行里面輸入

make

當(dāng)編譯結(jié)束之后,你需要運(yùn)行“make install(需要root權(quán)限)”,之后庫(kù)文件和所需要的開(kāi)發(fā)文件將會(huì)安裝到你的系統(tǒng)中去。

這時(shí)安裝好的文件將會(huì)默認(rèn)放在系統(tǒng)的/usr/local/BerkeleyDB.5.3目錄里面,為了能夠在編程環(huán)境中利用它,你需要在/etc/ld.so.conf文件中加入/usr/local/BerkeleyDB.5.3/lib,這樣你的程序才能正確找到這個(gè)庫(kù)文件,最后運(yùn)行l(wèi)dconfig命令更新你的系統(tǒng)。好了,現(xiàn)在你就可以編寫(xiě)DB數(shù)據(jù)庫(kù)代碼了。

#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

按照上面的編譯將會(huì)出現(xiàn)一個(gè)錯(cuò)誤

/usr/bin/ld: cannot find -ldb

collect2: ld 返回 1

這時(shí)在命令行里面輸入下面的語(yǔ)言問(wèn)題就可以解決

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

好了,最后代碼編譯成功。


本文出自:億恩科技【www.riomediacenter.com】

服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問(wèn):河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      0
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線