⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oraapi.h

📁 能够连接各种数据库的API
💻 H
📖 第 1 页 / 共 2 页
字号:
                             boolean *is_initialized);

typedef sword   (*OCILobRead_t)(OCISvcCtx *svchp, OCIError *errhp, OCILobLocator *locp,
                     ub4 *amtp, ub4 offset, dvoid *bufp, ub4 bufl, 
                     dvoid *ctxp, sb4 (*cbfp)(dvoid *ctxp, 
                                              CONST dvoid *bufp, 
                                              ub4 len, 
                                              ub1 piece),
                     ub2 csid, ub1 csfrm);

typedef sword   (*OCILobTrim_t)(OCISvcCtx *svchp, OCIError *errhp, OCILobLocator *locp,
                     ub4 newlen);

typedef sword   (*OCILobWrite_t)(OCISvcCtx *svchp, OCIError *errhp, OCILobLocator *locp,
                      ub4 *amtp, ub4 offset, dvoid *bufp, ub4 buflen, 
                      ub1 piece, dvoid *ctxp, 
                      sb4 (*cbfp)(dvoid *ctxp, 
                                  dvoid *bufp, 
                                  ub4 *len, 
                                  ub1 *piece),
                      ub2 csid, ub1 csfrm);

typedef sword   (*OCIBreak_t)(dvoid *hndlp, OCIError *errhp);

typedef sword   (*OCIReset_t)(dvoid *hndlp, OCIError *errhp);

typedef sword   (*OCIServerVersion_t)(dvoid *hndlp, OCIError *errhp, text *bufp, 
                           ub4 bufsz,
                           ub1 hndltype);


typedef sword   (*OCIAttrGet_t)(CONST dvoid *trgthndlp, ub4 trghndltyp, 
                    dvoid *attributep, ub4 *sizep, ub4 attrtype, 
                    OCIError *errhp);

typedef sword   (*OCIAttrSet_t)(dvoid *trgthndlp, ub4 trghndltyp, dvoid *attributep,
                    ub4 size, ub4 attrtype, OCIError *errhp);

typedef sword   (*OCISvcCtxToLda_t)(OCISvcCtx *svchp, OCIError *errhp, Lda_Def *ldap);

typedef sword   (*OCILdaToSvcCtx_t)(OCISvcCtx **svchpp, OCIError *errhp, Lda_Def *ldap);

typedef sword   (*OCIResultSetToStmt_t)(OCIResult *rsetdp, OCIError *errhp);


// 8.1.x (8i) calls
typedef sword   (*OCIEnvCreate_t)(OCIEnv **envp, ub4 mode, dvoid *ctxp,
                 dvoid *(*malocfp)(dvoid *ctxp, size_t size),
                 dvoid *(*ralocfp)(dvoid *ctxp, dvoid *memptr, size_t newsize),
                 void   (*mfreefp)(dvoid *ctxp, dvoid *memptr),
                 size_t xtramem_sz, dvoid **usrmempp);

typedef sword (*OCIDurationBegin_t)(    OCIEnv *env, OCIError *err, CONST OCISvcCtx *svc, 
                           OCIDuration parent, OCIDuration *dur    );

typedef sword (*OCIDurationEnd_t)(    OCIEnv *env, OCIError *err, CONST OCISvcCtx *svc, 
                         OCIDuration duration    );

typedef sword (*OCILobCreateTemporary_t)(OCISvcCtx          *svchp,
                            OCIError           *errhp,
                            OCILobLocator      *locp,
                            ub2                 csid,
                            ub1                 csfrm,
                            ub1                 lobtype,
                            boolean             cache,
                            OCIDuration         duration);

typedef sword (*OCILobFreeTemporary_t)(OCISvcCtx          *svchp,
                          OCIError           *errhp,
                          OCILobLocator      *locp);

typedef sword (*OCILobIsTemporary_t)(OCIEnv            *envp,
                        OCIError          *errhp,
                        OCILobLocator     *locp,
                        boolean           *is_temporary);

typedef sword (*OCIAQEnq_t)(OCISvcCtx *svchp, OCIError *errhp, OraText *queue_name,
		 OCIAQEnqOptions *enqopt, OCIAQMsgProperties *msgprop,
		 OCIType *payload_tdo, dvoid **payload, dvoid **payload_ind, 
		 OCIRaw **msgid, ub4 flags); 

typedef sword (*OCIAQDeq_t)(OCISvcCtx *svchp, OCIError *errhp, OraText *queue_name,
		 OCIAQDeqOptions *deqopt, OCIAQMsgProperties *msgprop,
		 OCIType *payload_tdo, dvoid **payload, dvoid **payload_ind, 
		 OCIRaw **msgid, ub4 flags); 

typedef sword (*OCIAQListen_t)(OCISvcCtx *svchp, OCIError *errhp, 
		      OCIAQAgent **agent_list, ub4 num_agents,
		      sb4 wait, OCIAQAgent **agent,
		      ub4 flags);

//--------------- Begin OCI Client Notification Interfaces ------------------

typedef sword (*OCISubscriptionRegister_t)(OCISvcCtx *svchp, OCISubscription **subscrhpp, 
			      ub2 count, OCIError *errhp, ub4 mode);

typedef sword (*OCISubscriptionPost_t)(OCISvcCtx *svchp, OCISubscription **subscrhpp, 
			      ub2 count, OCIError *errhp, ub4 mode);

typedef sword (*OCISubscriptionUnRegister_t)(OCISvcCtx *svchp, OCISubscription *subscrhp, 
			      OCIError *errhp, ub4 mode);

typedef sword (*OCISubscriptionDisable_t)(OCISubscription *subscrhp, 
			   OCIError *errhp, ub4 mode);

typedef sword (*OCISubscriptionEnable_t)(OCISubscription *subscrhp, 
			  OCIError *errhp, ub4 mode);

//------------------- End OCI Publish/Subscribe Interfaces ------------------




// API declarations
class SQLAPI_API ora8API : public saAPI
{
public:
	ora8API();

	// 8.0.x calls
	OCIInitialize_t	OCIInitialize;
	OCIHandleAlloc_t	OCIHandleAlloc;
	OCIHandleFree_t	OCIHandleFree;
	OCIDescriptorAlloc_t	OCIDescriptorAlloc;
	OCIDescriptorFree_t	OCIDescriptorFree;
	OCIEnvInit_t	OCIEnvInit;
	OCIServerAttach_t	OCIServerAttach;
	OCIServerDetach_t	OCIServerDetach;
	OCISessionBegin_t	OCISessionBegin;
	OCISessionEnd_t	OCISessionEnd;
	OCILogon_t	OCILogon;
	OCILogoff_t	OCILogoff;
	OCIPasswordChange_t	OCIPasswordChange;
	OCIStmtPrepare_t	OCIStmtPrepare;
	OCIBindByPos_t	OCIBindByPos;
	OCIBindByName_t	OCIBindByName;
	OCIBindObject_t	OCIBindObject;
	OCIBindDynamic_t	OCIBindDynamic;
	OCIBindArrayOfStruct_t	OCIBindArrayOfStruct;
	OCIStmtGetPieceInfo_t	OCIStmtGetPieceInfo;
	OCIStmtSetPieceInfo_t	OCIStmtSetPieceInfo;
	OCIStmtExecute_t	OCIStmtExecute;
	OCIDefineByPos_t	OCIDefineByPos;
	OCIDefineObject_t	OCIDefineObject;
	OCIDefineDynamic_t	OCIDefineDynamic;
	OCIDefineArrayOfStruct_t	OCIDefineArrayOfStruct;
	OCIStmtFetch_t	OCIStmtFetch;
	OCIStmtGetBindInfo_t	OCIStmtGetBindInfo;
	OCIDescribeAny_t	OCIDescribeAny;
	OCIParamGet_t	OCIParamGet;
	OCIParamSet_t	OCIParamSet;
	OCITransStart_t	OCITransStart;
	OCITransDetach_t	OCITransDetach;
	OCITransCommit_t	OCITransCommit;
	OCITransRollback_t	OCITransRollback;
	OCITransPrepare_t	OCITransPrepare;
	OCITransForget_t	OCITransForget;
	OCIErrorGet_t	OCIErrorGet;
	OCILobAppend_t	OCILobAppend;
	OCILobAssign_t	OCILobAssign;
	OCILobCharSetForm_t	OCILobCharSetForm;
	OCILobCharSetId_t	OCILobCharSetId;
	OCILobCopy_t	OCILobCopy;
	OCILobDisableBuffering_t	OCILobDisableBuffering;
	OCILobEnableBuffering_t	OCILobEnableBuffering;
	OCILobErase_t	OCILobErase;
	OCILobFileClose_t	OCILobFileClose;
	OCILobFileCloseAll_t	OCILobFileCloseAll;
	OCILobFileExists_t	OCILobFileExists;
	OCILobFileGetName_t	OCILobFileGetName;
	OCILobFileIsOpen_t	OCILobFileIsOpen;
	OCILobFileOpen_t	OCILobFileOpen;
	OCILobFileSetName_t	OCILobFileSetName;
	OCILobFlushBuffer_t	OCILobFlushBuffer;
	OCILobGetLength_t	OCILobGetLength;
	OCILobIsEqual_t	OCILobIsEqual;
	OCILobLoadFromFile_t	OCILobLoadFromFile;
	OCILobLocatorIsInit_t	OCILobLocatorIsInit;
	OCILobRead_t	OCILobRead;
	OCILobTrim_t	OCILobTrim;
	OCILobWrite_t	OCILobWrite;
	OCIBreak_t	OCIBreak;
	OCIReset_t	OCIReset;
	OCIServerVersion_t	OCIServerVersion;
	OCIAttrGet_t	OCIAttrGet;
	OCIAttrSet_t	OCIAttrSet;
	OCISvcCtxToLda_t	OCISvcCtxToLda;
	OCILdaToSvcCtx_t	OCILdaToSvcCtx;
	OCIResultSetToStmt_t	OCIResultSetToStmt;

	// 8.1.x (8i) calls
	OCIEnvCreate_t	OCIEnvCreate;
	OCIDurationBegin_t	OCIDurationBegin;
	OCIDurationEnd_t	OCIDurationEnd;
	OCILobCreateTemporary_t	OCILobCreateTemporary;
	OCILobFreeTemporary_t	OCILobFreeTemporary;
	OCILobIsTemporary_t	OCILobIsTemporary;

	OCIAQEnq_t	OCIAQEnq;
	OCIAQDeq_t	OCIAQDeq;
	OCIAQListen_t	OCIAQListen;
	OCISubscriptionRegister_t	OCISubscriptionRegister;
	OCISubscriptionPost_t	OCISubscriptionPost;
	OCISubscriptionUnRegister_t	OCISubscriptionUnRegister;
	OCISubscriptionDisable_t	OCISubscriptionDisable;
	OCISubscriptionEnable_t	OCISubscriptionEnable;
};

class SQLAPI_API ora8ConnectionHandles : public saConnectionHandles
{
public:
	ora8ConnectionHandles();

	OCIEnv		*m_pOCIEnv;
	OCIError	*m_pOCIError;
	OCISvcCtx	*m_pOCISvcCtx;
	OCIServer	*m_pOCIServer;
	OCISession	*m_pOCISession;
};

class SQLAPI_API ora8CommandHandles : public saCommandHandles
{
public:
	ora8CommandHandles();

	OCIStmt			*m_pOCIStmt;
	OCIError		*m_pOCIError;	// cursor owned error handle
};

extern ora8API g_ora8API;

#endif // !defined(AFX_ORA8API_H__11EAA72A_EFF5_4944_8B1F_44973D30EF73__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -