C++使用occi连接oracle数据库

什么是OCCI?

occi就是Oracle C++ Call Interface。

安装和使用

下载

去到oracle的官网,到下载页:https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html

在这里插入图片描述
然后网页往下拉,这个对应的sdk包就有相关头文件和使用例子等。
在这里插入图片描述

配项目属性

我把对应头文件和lib库放到了我的计算机的这里:
在这里插入图片描述
(1) 然后用使用的项目(VS2019下)属性配置相关的头文件引用和lib库引用,D:\usinglibs我配了环境变量LIBS_ROOT:
在这里插入图片描述
(2)静态库
在这里插入图片描述
在这里插入图片描述
debug版本的库一般是名字后面有一个d的。 oraocci19d.lib.

写代码

(1)DatabaseManager.h头文件

#pragma once
#include <Utils/ExportDefine.h>
#include <Utils/LogUtil.h>
#include <Utils/Config.h>
#include <occi.h>

using namespace utils;
using namespace oracle::occi;

namespace datacenter
{
   
   
    class DATACENTER_EXPORT DatabaseManager
    {
   
   
    public:
        DatabaseManager() {
   
   };
        ~DatabaseManager();
        //eg.connStr= "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.97)(PORT=1521))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = MyDb)))"
        int connect(const std::string& user, const std::string& passwd, const std::string& connStr);
        void getSecutityCodesFromDB(map<int, map<string, string> >& codeToNameMap, const string& sql, int date);
    private:
        //boost::shared_ptr<Environment> m_envPtr;
        //boost::shared_ptr<Connection> m_connPtr;
        Environment* m_envPtr;
        Connection* m_connPtr;
    };
}

(2)对应的cpp文件,DatabaseManager.cpp

#include <DataCenter\DatabaseManager.h>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值