首页 | 博客群 | 公社 | 专栏 | 论坛 | 图片 | 资讯 | 注册 | 帮助 | 博客联播 | 随机访问
一段很有用的话- -| 回首页 | 2007年索引 | - -Micronovae C++ Server Pages 服务器环境设置备忘录

SOCI:一个有趣的C++通用数据库访问库

关键词C++    SOCI    数据库                                          

今天在 sf.net 上发现了一个有趣的C++数据库访问库:SOCI,它对数据库的封装是我从来没有见过的。它独特在哪里呢?请看下面的代码:

SOCI示范调用代码

怎么样,很有意思吧,看起来就好像SQL语句被内嵌在C++代码里一样。

学习了一下这个库的代码,它的结构非常巧妙。具体的实现大家可以去它的网站(http://soci.sourceforge.net)上下载源代码仔细研究,我在这里把它的结构图贴出来,从这图里也能初步地一窥端倪:

 SOCI结构框图

SOCI封装了对Oracle、Postgresql、MySQL、ODBC数据源、SQLite 3、Firebird的访问。

不过很遗憾,它对主流数据库特性的支持略有不足,这一点成为小小的遗憾:

Supported Features

OraclePostgreSQLMySQLSQLite3FirebirdODBC
Binding by NameYESYES (>=8.0)YESYESYESYES
Dynamic BindingYESYESYESYESYESYES
Bulk OperationsYESYESYESYESYESYES
TransactionsYESYESYES (with servers that support them, usually >= 4.0)YESYESYES
BLOB Data TypeYESYESNONOYESNO
RowID Data TypeYESYESNONONONO
Nested StatementsYESNONONONONO
Stored ProceduresYESYESNO (but stored functions, YES)NOYESNO

我正在尝试借鉴它的结构,在它的基础上加强对SQL Server 2000、SQLite特性的支持,做一个对我来说更实用的库。

【作者: 辛亚平】【访问统计:】【2007年01月31日 星期三 05:21】【注册】【打印

搜索

Google

Trackback

你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=6079854

回复

- 评论人:逆火   2007-01-31 06:07:25   

呵呵,这么早还上线创作阿? 跟你做个交换链接:http://www.blogtop100.cn/tech/

俺新作的一个小玩艺.

验证码:   
评论内容: