C++操作Oracle的几种方法

luoye 2018-03-15 11:40:02
希望在 VS2015 上通过 C++ 操作 Oracle,程序发布时最好不要安装额外的客户端,并支持 windows XP,目前了解了几种技术:

1、ODAC,通过 COM 的形式调用 Oracle,缺点是需要装 ODAC 客户端,而且体积不小
2、OCCI,通过动态库调用 Oracle, 不需要安装客户端,只需要几个 DLL 即可,问题是 Oracle 12.2 开始支持 VS2015,但不支持 XP
3、OCI,C语言的 API,调用起来稍显复杂
4、ODPI-C,也是C语言的 API,在 OCI 基础上做了一层封装,对比前两者,仍然不够简洁
5、cx_Oracle,Python 的第三方库,各方面都满足要求,但是甲方禁止使用 Python
6、ODBC,效率估计最低了吧
7、Pro*C,个人比较反感这种方案,不多说了
8、OTL,基于模板和流的 C++ 库,依赖 OCI


总体来说我倾向于前两种方案,但是不知道 ODAC 能否有绿色的使用方式,就像 OCCI 那样,免安装能否使用
另外 能否有什么办法使 OCCI 同时支持 VS2015 和 windows XP

当然,大家如果有更好的方案也请不吝赐教,多谢了!
...全文
1173 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wnwnwnwn 2019-11-12
  • 打赏
  • 举报
回复
引用 3 楼 ckc 的回复:
看你的要求应该odbc是最合适的了,oracle客户端自带驱动,windows也有驱动,兼容性好不同版本都能用 性能差的问题你可以测试下,odbc仅在交互环节可能性能差了一点,处理在服务端,并不会差
您好,请问OCCI会存在oracle版本不兼容的问题?还是系统不兼容的问题?
ckc 2018-03-17
  • 打赏
  • 举报
回复
看你的要求应该odbc是最合适的了,oracle客户端自带驱动,windows也有驱动,兼容性好不同版本都能用 性能差的问题你可以测试下,odbc仅在交互环节可能性能差了一点,处理在服务端,并不会差
@风轻云淡_ 2018-03-15
  • 打赏
  • 举报
回复
我现在也想在用C++操作一下oracle数据库,我找到的是occi,数据库是11g IDE是vs2015 包含库文件 头文件之后,数据库可以连接并查询数据,但是有问题,就是获取列的值的时候 getint() 是可以的 getstring()就不行了 我感觉可以换一种方式来取出里面的值,插入是没问题的,而且我看中的也是他的简洁高效,你可以尝试一下这个。
luoye 2018-03-15
  • 打赏
  • 举报
回复
引用 1 楼 qq_39850605 的回复:
我现在也想在用C++操作一下oracle数据库,我找到的是occi,数据库是11g IDE是vs2015 包含库文件 头文件之后,数据库可以连接并查询数据,但是有问题,就是获取列的值的时候 getint() 是可以的 getstring()就不行了 我感觉可以换一种方式来取出里面的值,插入是没问题的,而且我看中的也是他的简洁高效,你可以尝试一下这个。
请问你用的 instant client 是哪个版本的?

17,140

社区成员

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

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