Oracle傻瓜化高性能C++访问组件(求精华)

CUCmehp 2014-12-26 10:00:58
C++傻瓜化高性能访问Oralce组件

  occiwrapper是一个开源的、跨平台的Oracle访问组件, 方便C++开发者们灵活地操作oracle数据库。为了方便使用,组件中的接口形式参考的POCO库的使用方式。occiwrapper采用如下的形式执行SQL语句:
occiwrapper::Session s = SessionInstance( connection );
s << "truncate table TBL_TEST ", now;

  通过session对象维护一个到oracle的会话。类似于流的操作方式,向session中传入SQL语句,并执行。
  在oracle参数绑定方面,Occiwrapper可以直接将C++变量绑定到oracle参数中。
occiwrapper::Session s = SessionInstance( info );
struct tm tm_value;
s << "insert into TBL_TEST( date_value ) values ( :1 )", use( tm_value ), now;

同时,对于vector等容量变量,可以灵活地直接绑定到oracle的绑定变量上,同时也可以灵活的将select语句返回的结果绑定到容器中,而且对于使用者来讲,并不用关心类型的对应关系。为了提高存取的性能,写入和读取都采入批量操作的方式,同时采用智能指针自动管理内存缓冲池,最大限度地解放了oracle开发者。
occiwrapper::Session s = SessionInstance( info );
vector< int > vec1;
s << "select A from tbl_test2 t", into( vec1 ), now;

组件中使用的很多技术都是在工作中一些经验的积累与总结,由于自己认识oracle不够深刻,对C++的理解也可能不够深入,希望大家多多讨论。对于大家发现的Bug,我也会尽快修改,同时热情欢迎大家积极参与库的修改。
  源代码地址:https://github.com/CUCmehp/occiwrapper
详细说明请见我的博客:http://www.cnblogs.com/CUCmehp/p/4185236.html
...全文
395 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
CUCmehp 2015-01-03
  • 打赏
  • 举报
回复
版主支持下呗~
bw555 2014-12-26
  • 打赏
  • 举报
回复

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧