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

推荐订阅源

Help Net Security
Help Net Security
G
Google Developers Blog
雷峰网
雷峰网
WordPress大学
WordPress大学
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Engineering at Meta
Engineering at Meta
Security Latest
Security Latest
T
Threat Research - Cisco Blogs
AWS News Blog
AWS News Blog
F
Full Disclosure
C
Cybersecurity and Infrastructure Security Agency CISA
T
The Exploit Database - CXSecurity.com
J
Java Code Geeks
U
Unit 42
C
Cyber Attacks, Cyber Crime and Cyber Security
V
V2EX
C
Cisco Blogs
博客园 - 司徒正美
Project Zero
Project Zero
L
LINUX DO - 热门话题
阮一峰的网络日志
阮一峰的网络日志
Blog — PlanetScale
Blog — PlanetScale
Scott Helme
Scott Helme
A
About on SuperTechFans
Hugging Face - Blog
Hugging Face - Blog
S
Securelist
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
S
Schneier on Security
G
GRAHAM CLULEY
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyberwarzone
Cyberwarzone
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
T
Threatpost
Recorded Future
Recorded Future
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
N
News and Events Feed by Topic
人人都是产品经理
人人都是产品经理
The Register - Security
The Register - Security
S
Security Archives - TechRepublic
博客园 - Franky
N
News | PayPal Newsroom
Simon Willison's Weblog
Simon Willison's Weblog
S
SegmentFault 最新的问题
W
WeLiveSecurity
A
Arctic Wolf
B
Blog

博客园 - ph580

国外大牛开发者创造出Siri第三方服务器 HTML5 开发者需要了解的技巧你要知道的知识 VS2008几大新功能描述如下 VS2008和.NET Framework 3.5功能与区别特性 竞争情报的战略与战术运用会让公司得利 为何中国企业在同一个问题上跌倒 开发嵌入式WEB的网络视频监控系统,设计思路 LightSwitch数据源开发小例 Amoeba新版本如何与MYSQL读写分离配置 SQL server 2005 master数据库进行轻型的恢复备份操作 C#多线程窗体控件安全访问实现方法 安全、简单的Windows Forms多线程编程实现 如何下手进行高效的c#线程池设计 装箱和拆箱(什么是装箱和拆箱) C#基础 - ph580 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. 完成测试