惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
有赞技术团队
有赞技术团队
人人都是产品经理
人人都是产品经理
月光博客
月光博客
美团技术团队
博客园 - 聂微东
阮一峰的网络日志
阮一峰的网络日志
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园_首页
爱范儿
爱范儿
G
Google Developers Blog
aimingoo的专栏
aimingoo的专栏
T
The Blog of Author Tim Ferriss
MongoDB | Blog
MongoDB | Blog
小众软件
小众软件
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
I
InfoQ
B
Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
大猫的无限游戏
大猫的无限游戏
T
Tailwind CSS Blog
F
Fortinet All Blogs

博客园 - ph580

国外大牛开发者创造出Siri第三方服务器 HTML5 开发者需要了解的技巧你要知道的知识 VS2008几大新功能描述如下 VS2008和.NET Framework 3.5功能与区别特性 竞争情报的战略与战术运用会让公司得利 为何中国企业在同一个问题上跌倒 开发嵌入式WEB的网络视频监控系统,设计思路 LightSwitch数据源开发小例 Amoeba新版本如何与MYSQL读写分离配置 SQL server 2005 master数据库进行轻型的恢复备份操作 C#多线程窗体控件安全访问实现方法 安全、简单的Windows Forms多线程编程实现 如何下手进行高效的c#线程池设计 装箱和拆箱(什么是装箱和拆箱) C#基础 WCF中使用SoapHeader进行验证实现方法总结 JavaScript 正则表达式解析常用方法 C#正则表达式无法识别双引号解决 ASP.NET服务器控件开发之实现事件分析 Asp.net控件开发学习之数据回传小节
C#编程开发 Berkeley DB SQL使用方法
ph580 · 2011-07-16 · via 博客园 - ph580

Berkeley DB来自于Oracle,是一个高性能、嵌入式的数据库。Berkeley DB支持多种语言操作如c、c++、c#、java、perl、python、tcl等。支持同时数千线程访问操作数据库,最大256TB存储数据,广泛应用于linux、window以及其他平台。

传统的Berkeley DB只支持键/值对的存储方式,而不支持关系数据库。这在一定程度上限制了Berkeley DB的应用范围,虽然Berkeley DB依然很优秀,但是也要与时俱进嘛。

Berkeley DB在最新的版本中加入了对SQL语言的支持。全面兼容SQLite3的语法,这就为广大编程人员提供了更丰富的选择。因为,简单与复杂总是并存的,一款简单与复杂查询都支持的数据库产品,想必很受亲睐。

鉴于网上对于如何使用Berkeley DB SQL的介绍少之又少,笔者在摸索后,将自己的一点点心得写成博文,与各位读者分享。

编译

使用vs2008编译Berkeley DB毫无悬念,注意编译平台即可,笔者不再赘述。源码下载地址: http://download.oracle.com/otn/berkeley-db/db-5.1.19.zip

在C#中使用Berkeley DB SQL的方式

默认的Berkeley DB SQL使用c语言编写,与c#的托管平台不兼容,使用的方法有两种:ODBC和ADO.NET。

推荐使用ADO.NET的调用方式,因为ODBC的操作效率实在不敢恭维^_^。

如何调用

之前笔者提到过,Berkeley DB SQL全兼容SQLite3pdf语法。因此,我们设置可以把生成的libdb-sql.dll 直接命名为sqlite3.dll,然后在其他sqlite的环境中使用^_^.

因此,使用http://sqlite.phxsoftware.com/的 System.Data.SQLite+sqlite3.dll即可在c#中完美使用 Berkeley DB SQL的全部功能,很不错吧^_^。

  1. 从phxsoftware下载SQLite-1.0.66.0-binaries.zippdf,比提取manage only文件夹下的System.Data.SQLite.dll
  2. 从刚刚编译的Berkeley DB中提取libdb51.dll 和libdb_sql51.dllpdf
  3. 将libdb_sql51.dll改名为sqlite3.dll。以及其他两个文件copy到同一目录下
  4. 运行SQLite-1.0.66.0-binaries.zip中的test.exe
  5. 完成测试