📄 orabase.h
字号:
// OraBase.h: interface for the COraBase class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_ORABASE_H__6E314B74_8C4E_4C05_85D9_9A38CE825B42__INCLUDED_)
#define AFX_ORABASE_H__6E314B74_8C4E_4C05_85D9_9A38CE825B42__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <oci.h>
#include <ctype.h>
#include <oratypes.h>
#include <ocidfn.h>
#include <ocikpr.h>
#include <ociapr.h>
#include "Error.h"
//ORACLE的访问句柄
typedef struct _OCI_HANDLE
{
Lda_Def *pLdaDef; //用于7.0以上版本的与oracle数据库打交道的指针。
OCIEnv *phEnv; //环境句柄,要使用oracle数据库,必须首先获得环境句柄
OCISvcCtx *phService; //oracle的服务句柄,也可以说是连接句柄。
OCIError *phErr; //oracle的错误句柄
OCIStmt *phStmt; //oracle的语句描述句柄
OCIServer *phServer; //Oracle的服务器句柄
OCISession *phSession; //Oracle会话句柄
bool bLdaDefInit; //pLdaDef是否已经存在,有效
bool bEnvInit; //环境句柄是否有效
bool bSvcInit; //服务句柄是否有效
bool bErrInit; //错误句柄是否有效
bool bStmtInit; //语句描述句柄是否有效
bool bSrvInit; //服务器句柄是否有效
bool bSessionInit; //会话句柄是否有效,不是会话是否有效
}OCIHANDLE, *LPOCIHANDLE;
//Oracle的基类,只包含oracle的登录信息,oracle的版本
class COraBase
{
public:
COraBase();
virtual ~COraBase();
public:
int OCILogout(OCIHANDLE hOCI);
//获取Oracle的错误信息
int GetOCIErrInfo(OCIError *phOCIErr, int &nErrCode, char *pszOCIErrInfo, int nOCIErrInfoLen);
//释放OCI的句柄空间,但是共享内存依然存在
void OCIFree(OCIHANDLE hOCI);
//使一个OCI进程与共享内存分离,也是结束该进程
int OCITerminateProcMemory();
//8I版本以上的初始化函数
int OCIInit();
//登录函数,分7.3.3、8I以上的版本
int OCILogin(char* pszHost, char* pszPort, char* pszUID, char* pszPWD, bool bVersion);
OCIHANDLE m_hOCI;
char m_szOCIErrInfoArr[ERRINFO_MAX_LEN]; //错误信息
int m_nErrCode; //错误号
protected:
//登录函数,针对7.3.3以上的版本
int OCILogin(char* pszHost, char* pszUserName, char* pszPassWord);
//登录函数,针对8.0.4以上的数据库
int OCILogin(char* pszHost, char* pszPort, char* pszUserName, char* pszPassWord);
private:
bool m_bOCIInit; //看看OCI的环境是否已经被初始化
};
#endif // !defined(AFX_ORABASE_H__6E314B74_8C4E_4C05_85D9_9A38CE825B42__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -