导航:首页 > 源码编译 > berkeleydb源码

berkeleydb源码

发布时间:2022-01-25 00:18:21

① C# BerkeleyDB报错.

在vs2008 mfc工程中编译BerkeleyDB时,在db.h文件会出现编译错误,错误的原因是DB_TYPE,DB_UNKNOWN已经在其它系统头文件中被定义过,解决办法之一是在db.h中,定义DB_TYPE,DB_UNKNOWN之前加上如下语句,即可。
#ifdef DB_UNKNOWN
#undef DB_UNKNOWN
#endif
#ifdef DBTYPE
#undef DBTYPE
#else
#define DBTYPE BDBTYPE
#endif

② Firebird好不好

你好,很高兴为你解答

关于Firebird好不好,以下源于有经验的网友总结:(供参考)
1.FireBird不是新手想象的那么弱,要想数据完整性好,速度快,连接数容量大,数据库大而不慢,还是FireBird是首选,用MSSQL是下策,至少目前MSSQL还达不到海量数据库标准。
2.SQLite还是很鸡肋,真的不如全功能的嵌入式FireBird,网上的测试都是太简单,循环读写最简单的记录,我的测试是SQL语句只要稍复杂点,SQLite的速度可以说是慢,抛开复杂SQL语句不说,仅仅是循环插入BLOB字段,SQLite跟狗带了差不多,而Firebird依然是很欢快的。看来SQLite还是主要依赖操作系统,还不能叫做数据库。
3.单单是为了速度的话,还是建议用BerkeleyDB,我做网络管理程序和数据库管理程序时,主程序都是用BerkeleyDB保存各种数据,它也能全编译进C++Builder,速度没得说。而服务器端数据库的用户信息、单位信息、产品型号标准等等变动少的表,我也是用BerkeleyDB做数据库的缓存表,一有客户端连接认证,直接查询发出即可,开发者更容易控制程序的运行稳定性,维护很少。
希望对你有帮助

③ Berkeley DB安装之后,没有服务是如何编译到程序中的

Berkeley DB (DB)是一个高性能的,嵌入数据库编程库,和C语言,C++,java,Perl,Python,PHP,Tcl以及其他很多语言都有绑定。Berkeley DB可以保存任意类型的键/值对,而且可以为一个键保存多个数据。Berkeley DB可以支持数千的并发线程同时操作数据库,支持最大256TB的数据,广泛用于各种操作系统包括大多数Unix类操作系统和Windows操作系统以及实时操作系统。 2.0版本或以上的Berkeley DB由Sleepycat Software公司开发,并使用基于自由软件许可协议/私有许可协议的双重授权方式提供[1],附有源代码。开发者如果想把Berkeley DB嵌入在私有软件内需要得到Sleepycat公司的许可,若将软件同样遵循GPL发布,则不需许可即可使用。而2.0版本以下的则使用BSD授权,可自由作商业用途。 Berkeley DB最初开发的目的是以新的HASH访问算法来代替旧的hsearch函数和大量的dbm实现(如AT&T的dbm,Berkeley的 ndbm,GNU项目的gdbm),Berkeley DB的第一个发行版在1991年出现,当时还包含了B+树数据访问算法。在1992年,BSD UNIX第4.4发行版中包含了Berkeley DB1.85版。基本上认为这是Berkeley DB的第一个正式版。在1996年中期,Sleepycat软件公司成立,提供对Berkeley DB的商业支持。在这以后,Berkeley DB得到了广泛的应用,成为一款独树一帜的嵌入式数据库系统。2006年Sleepycat公司被Oracle 公司收购,Berkeley DB成为Oracle数据库家族的一员,Sleepycat原有开发者继续在Oracle开发Berkeley DB,Oracle继续原来的授权方式并且加大了对Berkeley DB的开发力度,继续提升了Berkeley DB在软件行业的声誉。Berkeley DB的当前最新发行版本是4.7.25。 值得注意的是DB是嵌入式数据库系统,而不是常见的关系/对象型数据库,对SQL语言不支持,也不提供数据库常见的高级功能,如存储过程,触发器等。 Berkeley DB的体系结构Berkeley DB以拥有比Microsoft SQL Server和Oracle等数据库系统而言更简单的体系结构而着称。例如,它不支持网络访问—程序通过进程内的API访问数据库。 他不支持SQL或者其他的数据库查询语言,不支持表结构和数据列。 访问数据库的程序自主决定数据如何储存在记录里,Berkeley DB不对记录里的数据进行任何包装,每个记录有且只有两部分:键、值,所以在Berkeley DB的背景下通常用key/data pair指代一个记录。记录和它的键都可以达到4G字节的长度。 尽管架构很简单,Berkeley DB却支持很多高级的数据库特性,比如ACID 数据库事务处理,细粒度锁,XA接口,热备份以及同步复制。 Berkeley DB包含有与某些经典Unix数据库编程库兼容的接口,包括:dbm,ndbm和hsearch。Berkeley DB的核心数据结构数据库环境句柄DB_ENV: 每个DB_ENV相当于一个数据库,它包含了数据库全局信息,比如缓冲区大小、以及对事务、日志、锁等子系统的全局配置信息。数据库句柄结构DB:每个DB相当于关系数据库的一个表,其中存储了很多key/data pair。DB句柄代表了一个包含了若干描述数据库表属性的参数,如数据库访问方法类型、逻辑页面大小、数据库名称等;同时,DB结构中包含了大量的数据库处理函数指针,大多数形式为 (*dosomething)(DB *, arg1, arg2, …)。其中最重要的有open,close,put,get等函数。 数据库记录结构DBT:DB中的记录由关键字和数据构成,关键字和数据都用结构DBT表示。实际上完全可以把关键字看成特殊的数据。结构中最重要的两个字段是 void * data和u_int32_t size,分别对应数据本身和数据的长度。 数据库游标结构DBC:游标(cursor)是数据库应用中常见概念,其本质上就是一个关于特定记录的遍历器。注意到DB支持多重记录(plicate records),即多条记录有相同关键字,在对多重记录的处理中,使用游标是最容易的方式。 数据库环境句柄结构DB_ENV:环境在DB中属于高级特性,本质上看,环境是多个数据库的包装器。当一个或多个数据库在环境中打开后,环境可以为这些数据库提供多种子系统服务,例如多线/进程处理支持、事务处理支持、高性能支持、日志恢复支持等。 DB中核心数据结构在使用前都要初始化,随后可以调用结构中的函数(指针)完成各种操作,最后必须关闭数据结构。从设计思想的层面上看,这种设计方法是利用面向过程语言实现面对对象编程的一个典范。 Berkeley DB数据访问算法在数据库领域中,数据访问算法对应了数据在硬盘上的存储格式和操作方法。在编写应用程序时,选择合适的算法可能会在运算速度上提高1个甚至多个数量级。大多数数据库都选用B+树算法,DB也不例外,同时还支持HASH算法、Recno算法和Queue算法。接下来,我们将讨论这些算法的特点以及如何根据需要存储数据的特点进行选择。 B+树算法B+树是一个平衡树,关键字有序存储,并且其结构能随数据的插入和删除进行动态调整。为了代码的简单,DB没有实现对关键字的前缀码压缩。B+树支持对数据查询、插入、删除的常数级速度。关键字可以为任意的数据结构.HASH算法DB中实际使用的是扩展线性HASH算法(extended linear hashing),可以根据HASH表的增长进行适当的调整。关键字可以为任意的数据结构。 要求每一个记录都有一个逻辑纪录号,逻辑纪录号由算法本身生成。实际上,这和关系型数据库中逻辑主键通常定义为int AUTO型是同一个概念。Recho建立在B+树算法之上,提供了一个存储有序数据的接口。记录的长度可以为定长或不定长。 和Recno方式接近, 只不过记录的长度为定长。数据以定长记录方式存储在队列中,插入操作把记录插入到队列的尾部,相比之下插入速度是最快的。 对算法的选择首先要看关键字的类型,如果为复杂类型,则只能选择B+树或HASH算法,如果关键字为逻辑记录号,则应该选择Recno或Queue算法。当工作集关键字有序时,B+树算法比较合适;如果工作集比较大且基本上关键字为随机分布时,选择HASH算法。Queue算法只能存储定长的记录,在高的并发处理情况下,Queue算法效率较高;如果是其它情况,则选择Recno算法,Recno算法把数据存储为平面文件格式。

④ berkeleydb java jdb文件最大支持多少个

随着Crawler抓取的网页越多,我们之前使用Java子带的ArrayList或者HashMap都不够存储,而且速度上也不能够很好满足我们的需要,所以这里推荐使用BerkeleyDB这种基于内存的小型数据库,它是嵌入式数据库,指的是嵌入在应用程序的数据库。

⑤ configure: error: Berkeley db4 not found

配置错误, 后面的是错误信息
db应该是数据库 database
berkeley这个我也不知道,可能文件名
对应的user、里面local的 berkeley 数据库错误,
配置错误, 找不到berkeley里面第四个数据库(db4)
配置失败srclib/apr-util (这个我都不知道什么)
scr应该是screen lib应该是library(库) 后面可能是appearance utilities。估计是显示数据库损坏,或者装载可视化失败

⑥ berkeleydb 生成的数据库文件怎么查看

1 下载 下载Berkeley DB软件包,下面链接中有Berkeley DB的版本历史:
http://www.oracle.com/technology/global/cn/software/procts/berkeley-db/db/index.html
2 解压缩,这个不用说了吧!
3 cd build_unix
4 ../list/configure
5 make
6 make install(三部曲 ,你应该懂的,)
ps:至此应该算是安装成功了,提示一下,最好使用超级权限执行以上命令
7 echo /etc/ld.so.conf /usr/local/BerkeleyDB5.3/lib
8 ldconfig

⑦ 有没有什么工具能浏览Berkeley DB的数据

Berkeley DB (DB)是一个高性能的,嵌入数据库编程库,和C语言,C++,Java,Perl,Python,PHP,Tcl以及其他很多语言都有绑定。Berkeley DB可以保存任意类型的键/值对,而且可以为一个键保存多个数据。Berkeley DB可以支持数千的并发线程同时操作数据库,支持最大256TB的数据,广泛用于各种操作系统包括大多数Unix类操作系统和Windows操作系统以及实时操作系统。 2.0版本或以上的Berkeley DB由Sleepycat Software公司开发,并使用基于自由软件许可协议/私有许可协议的双重授权方式提供[1],附有源代码。开发者如果想把Berkeley DB嵌入在私有软件内需要得到Sleepycat公司的许可,若将软件同样遵循GPL发布,则不需许可即可使用。而2.0版本以下的则使用BSD授权,可自由作商业用途。

⑧ 对于BerkeleyDB数据库,在一个多任务系统中,在一个任务中创建的数据库句柄,可以在其他任务中调用吗

你对连接池是不是理解有误啊?
一个connection只能对应一个线程,用完之后返回给连接池而已,不是共享!!!

⑨ 如何连接到本地安装的OpenLDAP的服务

由于编译安装OpenLDAP 需要数据库支持,因此OpenLDAP 软件后端数据库可采用BerkeleyDBBDB、Oracle、MySQL、MariaDB、GDBM 等数据库软件实现数据的存储。
默认OpenLDAP 采用Berkeley DB 数据库作为后端存储引擎,而且OpenLDAP 对Berkey DB 的版本有一定要求,以OpenLDAP 2.4 软件版本为例,需要Berkeley DB 4.4 版本以上,所以在编译OpenLDAP 源码包时需要先下载Brekeley DB 源码包,并进行编译安装即可。

阅读全文

与berkeleydb源码相关的资料

热点内容
android图片变灰 浏览:268
linuxvi下一个 浏览:973
安卓手机的应用锁怎么解 浏览:735
linux增加路径 浏览:847
sql身份证号最后四位加密 浏览:533
xp系统表格加密 浏览:856
光遇安卓军大衣什么时候上线 浏览:840
android应用商店图标 浏览:341
java计算圆的面积 浏览:643
应用编译优化recovery 浏览:577
域控命令n 浏览:258
php导出文件 浏览:13
谷歌地图网页版无法连接服务器地址 浏览:298
菜鸟工具在线编译python 浏览:858
栅格化命令有何作用 浏览:823
为什么压缩文件不能解压 浏览:311
足球app哪个软件好 浏览:96
产品经理逼疯程序员的一天 浏览:17
修改svn服务器ip地址 浏览:584
下列关于编译说法正确的是 浏览:246