在Windows平台上应用BerkeleyDB 11gR2 SQL Shell
1 前言
应嵌入式平台对SQL支持的需求, 利用自身在数据存储上的优势, Oracle BerkeleyDB在最新发布的11gR2中添加了对SQL的支持,极大的增强了其在嵌入式平台上的易用性。
本文通过一个简单的例子介绍如何在Windows平台上编译(使用Microsoft Visual C++2005)并运行Oracle BerkeleyDB 11gR2提供的sql shell 。
2 下载Oracle Berkeley DB 11gR2。
Oracle Berkeley DB 11gR2可以从此处下载:http://www.oracle.com/technology/software/products/berkeley-db/index.html
点击Berkeley DB 5.0.21.zip,由于本文有描述如何从源代码编译出Berkeley DB sql shell,故而不选择下载Windows安装程序。下载完成后,解压该文件,解压后进入db-5.0.21,我们可以发现该文件夹具有如下内容:
3 编译sql shell
进入build_windows目录,双击Berkeley_DB.sln(请确保已经使用安装程序安装了Microsoft Visual C++2005或更高版本)。
而后选择编译类型(本文是Debug Win32),鼠标右键单击db_sql_shell, 选择build,就开始了编译过程:
db_sql_shell编译默认会编译BerkeleyDB C程序库, BerkeleyDB SQL程序库以及sql shell。
编译完成后,可以看到build_windows底下多了一个Win32目录,进入Win32后再进入Debug,我们可以看到编译出来的文件:
这里,db_sql.exe 就是编译出来的sql shell程序.
4 使用sql shell
本处将使用sql shell创建一个数据库(person), 插入3条记录, 而后显示他们:
5 总结
本文简单介绍了如何使用Microsoft Visual C++2005编译Oracle BerkeleyDB sql shell,并通过一个简单的示例介绍了sql shell的使用, 希望对大家有所帮助。




问个问题,我的java 版本 4.0,掉电崩溃了,怎么恢复文件
尝试用RecoveryManager没效果
下面的错误消息
Caused by: com.sleepycat.je.log.ChecksumException: Read invalid log entry type: 0
@小草
本文介绍的是C语言版的BDB,你用的是Java语言版的(叫BDB-JE,又称为JE)。请将你问题的具体描述(包括你使用的JE版本,JDK版本、错误发生场景,等)发邮件给我:chao.huang[at]oracle.com。
您好:
我下载了一个db-5.0.21.msi,安装完成后.用vs2008 打工安装目录下的BDB_dotNet_examples.sln,在编译、运行ex_access的时候,出现下面的异常。请问下是什么原因?
Error opening access.db.
“BerkeleyDB.Internal.libdb_csharpPINVOKE”的类型初始值设定项引发异常。
请按任意键继续. . .
Johnny,你好,
通常情况下,你描述的问题来源于BDB C#库调用了不匹配的BDB库。请检查你的运行目录或者环境变量,确定实例中使用的BDB库和C#的库为最新安装的版本。
有支持bdb sql的python库么?