📄 oraapi.h
字号:
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 + -