📄 oraapi.h
字号:
// ora8API.h////////////////////////////////////////////////////////////////////////#if !defined(__ORA8API_H__)#define __ORA8API_H__#include "SQLAPI.h"// API header(s)#include <oci.h>extern long g_nORA8DLLVersionLoaded;extern bool CanBeLoadedOCI8();extern void AddORA8Support();extern void ReleaseORA8Support();// 8.0.x callstypedef sword (*OCIInitialize_t)(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) );typedef sword (*OCIHandleAlloc_t)(CONST dvoid *parenth, dvoid **hndlpp, CONST ub4 type, CONST size_t xtramem_sz, dvoid **usrmempp);typedef sword (*OCIHandleFree_t)(dvoid *hndlp, CONST ub4 type);typedef sword (*OCIDescriptorAlloc_t)(CONST dvoid *parenth, dvoid **descpp, CONST ub4 type, CONST size_t xtramem_sz, dvoid **usrmempp);typedef sword (*OCIDescriptorFree_t)(dvoid *descp, CONST ub4 type);typedef sword (*OCIEnvInit_t)(OCIEnv **envp, ub4 mode, size_t xtramem_sz, dvoid **usrmempp);typedef sword (*OCIServerAttach_t)(OCIServer *srvhp, OCIError *errhp, CONST text *dblink, sb4 dblink_len, ub4 mode);typedef sword (*OCIServerDetach_t)(OCIServer *srvhp, OCIError *errhp, ub4 mode);typedef sword (*OCISessionBegin_t)(OCISvcCtx *svchp, OCIError *errhp, OCISession *usrhp, ub4 credt, ub4 mode);typedef sword (*OCISessionEnd_t)(OCISvcCtx *svchp, OCIError *errhp, OCISession *usrhp, ub4 mode);typedef sword (*OCILogon_t)(OCIEnv *envhp, OCIError *errhp, OCISvcCtx **svchp, CONST text *username, ub4 uname_len, CONST text *password, ub4 passwd_len, CONST text *dbname, ub4 dbname_len);typedef sword (*OCILogoff_t)(OCISvcCtx *svchp, OCIError *errhp);typedef sword (*OCIPasswordChange_t)(OCISvcCtx *svchp, OCIError *errhp, CONST text *user_name, ub4 usernm_len, CONST text *opasswd, ub4 opasswd_len, CONST text *npasswd, ub4 npasswd_len, ub4 mode);typedef sword (*OCIStmtPrepare_t)(OCIStmt *stmtp, OCIError *errhp, CONST text *stmt, ub4 stmt_len, ub4 language, ub4 mode);typedef sword (*OCIBindByPos_t)(OCIStmt *stmtp, OCIBind **bindp, OCIError *errhp, ub4 position, dvoid *valuep, sb4 value_sz, ub2 dty, dvoid *indp, ub2 *alenp, ub2 *rcodep, ub4 maxarr_len, ub4 *curelep, ub4 mode);typedef sword (*OCIBindByName_t)(OCIStmt *stmtp, OCIBind **bindp, OCIError *errhp, CONST text *placeholder, sb4 placeh_len, dvoid *valuep, sb4 value_sz, ub2 dty, dvoid *indp, ub2 *alenp, ub2 *rcodep, ub4 maxarr_len, ub4 *curelep, ub4 mode);typedef sword (*OCIBindObject_t)(OCIBind *bindp, OCIError *errhp, CONST OCIType *type, dvoid **pgvpp, ub4 *pvszsp, dvoid **indpp, ub4 *indszp);typedef sword (*OCIBindDynamic_t)(OCIBind *bindp, OCIError *errhp, dvoid *ictxp, OCICallbackInBind icbfp, dvoid *octxp, OCICallbackOutBind ocbfp);typedef sword (*OCIBindArrayOfStruct_t)(OCIBind *bindp, OCIError *errhp, ub4 pvskip, ub4 indskip, ub4 alskip, ub4 rcskip);typedef sword (*OCIStmtGetPieceInfo_t)(OCIStmt *stmtp, OCIError *errhp, dvoid **hndlpp, ub4 *typep, ub1 *in_outp, ub4 *iterp, ub4 *idxp, ub1 *piecep);typedef sword (*OCIStmtSetPieceInfo_t)(dvoid *hndlp, ub4 type, OCIError *errhp, CONST dvoid *bufp, ub4 *alenp, ub1 piece, CONST dvoid *indp, ub2 *rcodep);typedef sword (*OCIStmtExecute_t)(OCISvcCtx *svchp, OCIStmt *stmtp, OCIError *errhp, ub4 iters, ub4 rowoff, CONST OCISnapshot *snap_in, OCISnapshot *snap_out, ub4 mode);typedef sword (*OCIDefineByPos_t)(OCIStmt *stmtp, OCIDefine **defnp, OCIError *errhp, ub4 position, dvoid *valuep, sb4 value_sz, ub2 dty, dvoid *indp, ub2 *rlenp, ub2 *rcodep, ub4 mode);typedef sword (*OCIDefineObject_t)(OCIDefine *defnp, OCIError *errhp, CONST OCIType *type, dvoid **pgvpp, ub4 *pvszsp, dvoid **indpp, ub4 *indszp);typedef sword (*OCIDefineDynamic_t)(OCIDefine *defnp, OCIError *errhp, dvoid *octxp, OCICallbackDefine ocbfp);typedef sword (*OCIDefineArrayOfStruct_t)(OCIDefine *defnp, OCIError *errhp, ub4 pvskip, ub4 indskip, ub4 rlskip, ub4 rcskip);typedef sword (*OCIStmtFetch_t)(OCIStmt *stmtp, OCIError *errhp, ub4 nrows, ub2 orientation, ub4 mode);typedef sword (*OCIStmtGetBindInfo_t)(OCIStmt *stmtp, OCIError *errhp, ub4 size, ub4 startloc, sb4 *found, text *bvnp[], ub1 bvnl[], text *invp[], ub1 inpl[], ub1 dupl[], OCIBind *hndl[]);typedef sword (*OCIDescribeAny_t)(OCISvcCtx *svchp, OCIError *errhp, dvoid *objptr, ub4 objnm_len, ub1 objptr_typ, ub1 info_level, ub1 objtyp, OCIDescribe *dschp);typedef sword (*OCIParamGet_t)(CONST dvoid *hndlp, ub4 htype, OCIError *errhp, dvoid **parmdpp, ub4 pos);typedef sword (*OCIParamSet_t)(dvoid *hdlp, ub4 htyp, OCIError *errhp, CONST dvoid *dscp, ub4 dtyp, ub4 pos);typedef sword (*OCITransStart_t)(OCISvcCtx *svchp, OCIError *errhp, uword timeout, ub4 flags );typedef sword (*OCITransDetach_t)(OCISvcCtx *svchp, OCIError *errhp, ub4 flags );typedef sword (*OCITransCommit_t)(OCISvcCtx *svchp, OCIError *errhp, ub4 flags);typedef sword (*OCITransRollback_t)(OCISvcCtx *svchp, OCIError *errhp, ub4 flags);typedef sword (*OCITransPrepare_t)(OCISvcCtx *svchp, OCIError *errhp, ub4 flags);typedef sword (*OCITransForget_t)(OCISvcCtx *svchp, OCIError *errhp, ub4 flags);typedef sword (*OCIErrorGet_t)(dvoid *hndlp, ub4 recordno, text *sqlstate, sb4 *errcodep, text *bufp, ub4 bufsiz, ub4 type);typedef sword (*OCILobAppend_t)(OCISvcCtx *svchp, OCIError *errhp, OCILobLocator *dst_locp, OCILobLocator *src_locp);typedef sword (*OCILobAssign_t)(OCIEnv *envhp, OCIError *errhp, CONST OCILobLocator *src_locp, OCILobLocator **dst_locpp);typedef sword (*OCILobCharSetForm_t)(OCIEnv *envhp, OCIError *errhp, CONST OCILobLocator *locp, ub1 *csfrm);typedef sword (*OCILobCharSetId_t)(OCIEnv *envhp, OCIError *errhp, CONST OCILobLocator *locp, ub2 *csid);typedef sword (*OCILobCopy_t)(OCISvcCtx *svchp, OCIError *errhp, OCILobLocator *dst_locp, OCILobLocator *src_locp, ub4 amount, ub4 dst_offset, ub4 src_offset);typedef sword (*OCILobDisableBuffering_t)(OCISvcCtx *svchp, OCIError *errhp, OCILobLocator *locp);typedef sword (*OCILobEnableBuffering_t)(OCISvcCtx *svchp, OCIError *errhp, OCILobLocator *locp);typedef sword (*OCILobErase_t)(OCISvcCtx *svchp, OCIError *errhp, OCILobLocator *locp, ub4 *amount, ub4 offset);typedef sword (*OCILobFileClose_t)(OCISvcCtx *svchp, OCIError *errhp, OCILobLocator *filep);typedef sword (*OCILobFileCloseAll_t)(OCISvcCtx *svchp, OCIError *errhp);typedef sword (*OCILobFileExists_t)(OCISvcCtx *svchp, OCIError *errhp, OCILobLocator *filep, boolean *flag);typedef sword (*OCILobFileGetName_t)(OCIEnv *envhp, OCIError *errhp, CONST OCILobLocator *filep, text *dir_alias, ub2 *d_length, text *filename, ub2 *f_length);typedef sword (*OCILobFileIsOpen_t)(OCISvcCtx *svchp, OCIError *errhp, OCILobLocator *filep, boolean *flag);typedef sword (*OCILobFileOpen_t)(OCISvcCtx *svchp, OCIError *errhp, OCILobLocator *filep, ub1 mode);typedef sword (*OCILobFileSetName_t)(OCIEnv *envhp, OCIError *errhp, OCILobLocator **filepp, CONST text *dir_alias, ub2 d_length, CONST text *filename, ub2 f_length);typedef sword (*OCILobFlushBuffer_t)(OCISvcCtx *svchp, OCIError *errhp, OCILobLocator *locp, ub4 flag);typedef sword (*OCILobGetLength_t)(OCISvcCtx *svchp, OCIError *errhp, OCILobLocator *locp, ub4 *lenp);typedef sword (*OCILobIsEqual_t)(OCIEnv *envhp, CONST OCILobLocator *x, CONST OCILobLocator *y, boolean *is_equal);typedef sword (*OCILobLoadFromFile_t)(OCISvcCtx *svchp, OCIError *errhp, OCILobLocator *dst_locp, OCILobLocator *src_filep, ub4 amount, ub4 dst_offset, ub4 src_offset);typedef sword (*OCILobLocatorIsInit_t)(OCIEnv *envhp, OCIError *errhp, CONST OCILobLocator *locp, 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,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -