什么是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>

最低0.47元/天 解锁文章
2584





