📄 oraapi.h
字号:
// ora8API.h
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_ORA8API_H__11EAA72A_EFF5_4944_8B1F_44973D30EF73__INCLUDED_)
#define AFX_ORA8API_H__11EAA72A_EFF5_4944_8B1F_44973D30EF73__INCLUDED_
#include "SQLAPI.h"
// API header(s)
#ifdef LINUX
#include "./ora_linux/oci.h"
#endif
#ifdef WIN32
#include "./ora_win32/oci.h"
#endif
extern long g_nORA8DLLVersionLoaded;
extern bool CanBeLoadedOCI8();
extern void AddORA8Support();
extern void ReleaseORA8Support();
// 8.0.x calls
typedef 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, ub4 type,
size_t xtramem_sz, dvoid **usrmempp);
typedef sword (*OCIHandleFree_t)(dvoid *hndlp, ub4 type);
typedef sword (*OCIDescriptorAlloc_t)(CONST dvoid *parenth, dvoid **descpp, ub4 type,
size_t xtramem_sz, dvoid **usrmempp);
typedef sword (*OCIDescriptorFree_t)(dvoid *descp, 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,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -