VS2013下C++调用ocilib访问oracle

本文介绍了在VS2013环境下,如何使用C++调用ocilib库访问Oracle数据库,包括ocilib的特点、配置步骤、测试程序的开发过程以及遇到的问题和解决方案。ocilib是一个强大的开源项目,提供丰富的API,支持所有Oracle平台,并以纯ISO C编写,兼容Unicode。文章总结了ocilib的初始化、连接和释放操作,并推荐在C/C++项目中使用ocilib代替ADO访问Oracle。
摘要由CSDN通过智能技术生成

项目中一直用MFC调ADO访问oracle
* ADO是一个COM组件,封装了对常用数据库的一般操作。
* 允许开发人员编写访问数据的代码而不用关心数据源是如何实现与访问驱动的,而只用关心到数据库的连接。
* 访问数据库的时候,关于SQL的知识不是必要的,但是特定数据库支持的SQL命令仍可以通过ADO中的命令对象(Command)来执行。
* 点我查看ADO
* 发现ADO编写的程序在(x86,64)和(xp,win7,winserver…)兼容方面不好,个人也不是很喜欢com(也许是个人水平有限–!)


因此找到一种替代工具ocilib
* ocilib是一个开源项目点我查看ocilib github
* ocilib特点如下(原汁原味官方介绍)
1. offers a rich, full featured and easy to use API
2. runs on all Oracle platforms
3. is written in pure ISO C code with native ISO C Unicode support
4. encapsulates OCI (Oracle Call Interface)
5. is the most complete available OCI wrapper


测试程序开发步骤如下

环境介绍:win7(64),vs2013,oracle11g client

配置ocilib:
1. 首先从网上下载ocilib,我使用的是3.12.1-windows版本,解压后目录如下,工程中需要使用include目录和lib[]目录,根据自己平台选择,这里使用lib[64]

这里写图片描述

  1. 配置步骤
    • 将include目录下的ocilib.h拷入到项目文件目录
    • 将lib[64]目录下的ociliba.lib拷到项目文件目录中,(注意后缀是a,原因最后解释),编码时头文件中使用预编译#pragma comment(lib, “ociliba.lib”) 导入静态库
    • 将lib[64]目录下ociliba.dll拷到发布目录debug/release下
  2. demo编码
    类OraclTools 继承 DBInterface接口,这里我定义了DBEntity类和DBInterface接口,主要是为了方便项目后续扩展其他数据库,只需给DBEntity对象设定对应参数,接口保持统一。

头文件DBTools.h

#pragma once

#define  SUCC  1
#define  FAIL  0

#include"DBInterface.h"
#include "ocilib.h"

#pragma comment(lib, "ociliba.lib") 

class OraclTools : public DBInterface{

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值