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

📄 oci_api.h

📁 ORACLE编程的好东西,纯C写的OCI封装.很好用,支持数据池.
💻 H
📖 第 1 页 / 共 3 页
字号:
(
    dvoid *hndl,
    OCIError *err,
    CONST OCIDateTime *date,
    CONST OraText *fmt,
    ub1 fmt_length,
    ub1 fsprec,
    CONST OraText *lang_name,
    size_t lang_length,
    ub4 *buf_size,
    OraText *buf 
);

typedef sword (*OCIDATETIMEGETDATE) 
( 
    dvoid *hndl,
    OCIError *err,
    CONST OCIDateTime *datetime,
    sb2 *year,
    ub1 *month,
    ub1 *day
);

typedef sword (*OCIDATETIMEGETTIME) 
( 
    dvoid *hndl,
    OCIError *err,
    OCIDateTime *datetime,
    ub1 *hour,
    ub1 *min,
    ub1 *sec,
    ub4 *fsec 
);

typedef sword (*OCIDATETIMEGETTIMEZONENAME)
(
    dvoid *hndl,
    OCIError *err,
    CONST OCIDateTime *datetime,
    ub1 *buf,
    ub4 *buflen
);

typedef sword (*OCIDATETIMEGETTIMEZONEOFFSET) 
(
    dvoid *hndl,
    OCIError *err,
    CONST OCIDateTime *datetime,
    sb1 *hour,
    sb1 *min
);

typedef sword (*OCIDATETIMEINTERVALADD)
( 
    dvoid *hndl,
    OCIError *err,
    OCIDateTime *datetime,
    OCIInterval *inter,
    OCIDateTime *outdatetime 
);

typedef sword (*OCIDATETIMEINTERVALSUB) 
(
    dvoid *hndl,
    OCIError *err,
    OCIDateTime *datetime,
    OCIInterval *inter,
    OCIDateTime *outdatetime
);

typedef sword (*OCIDATETIMESUBTRACT) 
(	
    dvoid *hndl,
    OCIError *err,
    OCIDateTime *indate1,
    OCIDateTime *indate2,
    OCIInterval *inter 
);

typedef sword (*OCIDATETIMESYSTIMESTAMP)
(
    dvoid *hndl,
    OCIError *err,
    OCIDateTime *sys_date
);

/* Oracle 10g test */

typedef void (*OCICLIENTVERSION)
(
    sword *major_version,
    sword *minor_version,
    sword *update_num,
    sword *patch_num,
    sword *port_update_num
);

/* Oracle 11g test */

typedef sword (*OCIARRAYDESCRIPTORFREE)
(
    void  **descp, 
    const ub4 type
);

typedef sword (*OCITYPEBYNAME)
( 
    OCIEnv *env,
    OCIError *err, 
    CONST OCISvcCtx *svc, 
    CONST text *schema_name,
    ub4 s_length, 
    CONST text *type_name, 
    ub4 t_length, 
    CONST text *version_name,
    ub4 v_length,
    OCIDuration pin_duration,
    OCITypeGetOpt get_option,
    OCIType **tdo
);

typedef sword (*OCIOBJECTNEW)
(
    OCIEnv *env,
    OCIError *err,
    CONST OCISvcCtx *svc,
    OCITypeCode typecode,
    OCIType *tdo,
    dvoid *table,
    OCIDuration duration,
    boolean value,
    dvoid **instance 
);

typedef sword (*OCIOBJECTFREE)
(
    OCIEnv *env,
    OCIError *err,
    dvoid *instance,
    ub2 flags 
);

typedef sword (*OCIOBJECTGETATTR)
( 
    OCIEnv *env,
    OCIError *err,
    dvoid *instance,
    dvoid *null_struct,
    struct OCIType *tdo,
    CONST text **names,
    CONST ub4 *lengths,
    CONST ub4 name_count,
    CONST ub4 *indexes,
    CONST ub4 index_count,
    OCIInd *attr_null_status,
    dvoid **attr_null_struct,
    dvoid **attr_value,
    struct OCIType **attr_tdo 
);

typedef sword (*OCIOBJECTSETATTR)
(    
    OCIEnv *env, 
    OCIError *err, 
    dvoid *instance, 
    dvoid *null_struct, 
    struct OCIType *tdo, 
    CONST text **names, 
    CONST ub4 *lengths, 
    CONST ub4 name_count,
    CONST ub4 *indexes, 
    CONST ub4 index_count, 
    CONST OCIInd null_status, 
    CONST dvoid *attr_null_struct,
    CONST dvoid *attr_value    
);

typedef sword (*OCINUMBERTOINT)
(
    OCIError *err, 
    CONST OCINumber *number,
    uword rsl_length, 
    uword rsl_flag, 
    dvoid *rsl    
);
    
typedef sword (*OCINUMBERFROMINT)
(
    OCIError *err, 
    CONST dvoid *inum, 
    uword inum_length,
    uword inum_s_flag, 
    OCINumber *number   
);

typedef sword (*OCINUMBERFROMREAL)
(
    OCIError *err, 
    CONST dvoid *rnum,
    uword rnum_length, 
    OCINumber *number    
);

typedef sword (*OCINUMBERTOREAL)  
(
    OCIError *err, 
    CONST OCINumber *number,
    uword rsl_length, 
    dvoid *rsl    
);

typedef sword (*OCINUMBERTOTEXT)  
(
    OCIError *err,
    CONST OCINumber *number, 
    CONST text *fmt,
    ub4 fmt_length,
    CONST text *nls_params,
    ub4 nls_p_length,
    ub4 *buf_size, 
    text *buf  
);

typedef sword (*OCINUMBERFROMTEXT)  
(
    OCIError *err, 
    CONST oratext *str, 
    ub4 str_length, 
    CONST oratext *fmt, 
    ub4 fmt_length,
    CONST oratext *nls_params, 
    ub4 nls_p_length, 
    OCINumber *number    
);

typedef oratext * (*OCISTRINGPTR)
(    
    OCIEnv *env, 
    CONST OCIString *vs
);

typedef sword (*OCISTRINGASSIGNTEXT)
(
    OCIEnv *env, 
    OCIError *err, 
    CONST oratext *rhs,
    ub4 rhs_len, 
    OCIString **lhs
);

typedef ub1 * (*OCIRAWPTR)
(    
    OCIEnv * env, 
    CONST OCIRaw *raw    
);

typedef sword (*OCIRAWASSIGNBYTES)
(    
    OCIEnv *env, 
    OCIError *err, 
    CONST ub1 *rhs,
    ub4 rhs_len, 
    OCIRaw **lhs    
);

typedef sword (*OCIRAWALLOCSIZE)
(    
    OCIEnv *env, 
    OCIError *err, 
    CONST OCIRaw *raw,
    ub4 *allocsize    
);

typedef void (*OCITHREADPROCESSINIT)();

typedef sword (*OCITHREADINIT)
(
    dvoid *hndl, 
    OCIError *err
);

typedef sword (*OCITHREADTERM)
(
    dvoid *hndl, 
    OCIError *err
);

typedef sword (*OCITHREADIDINIT)
(
    dvoid *hndl, 
    OCIError *err, 
    OCIThreadId **tid
);

typedef sword (*OCITHREADIDDESTROY)
(
    dvoid *hndl, 
    OCIError *err, 
    OCIThreadId **tid
);

typedef sword (*OCITHREADHNDINIT)
(
    dvoid *hndl, 
    OCIError *err, 
    OCIThreadHandle **thnd
);

typedef sword (*OCITHREADHNDDESTROY)
(
    dvoid *hndl, 
    OCIError *err, 
    OCIThreadHandle **thnd
);

typedef sword (*OCITHREADCREATE)
(
    dvoid *hndl, 
    OCIError *err,
    void (*start)(dvoid *), 
    dvoid *arg,
    OCIThreadId *tid, 
    OCIThreadHandle *tHnd
);

typedef sword (*OCITHREADJOIN)
(
    dvoid *hndl, 
    OCIError *err, 
    OCIThreadHandle *tHnd
);

typedef sword (*OCITHREADCLOSE)
(
    dvoid *hndl, 
    OCIError *err, 
    OCIThreadHandle *tHnd
);

typedef sword (*OCITHREADMUTEXINIT)
(
    dvoid *hndl, 
    OCIError *err,  
    OCIThreadMutex **mutex
); 

typedef sword (*OCITHREADMUTEXDESTROY)
(
    dvoid *hndl, 
    OCIError *err, 
    OCIThreadMutex **mutex
);

typedef sword (*OCITHREADMUTEXACQUIRE)
(
    dvoid *hndl, 
    OCIError *err,
    OCIThreadMutex *mutex
);

typedef sword (*OCITHREADMUTEXRELEASE)
(
    dvoid *hndl, 
    OCIError *err,
    OCIThreadMutex *mutex
);

typedef sword (*OCITHREADKEYINIT)
(
    dvoid *hndl, 
    OCIError *err, 
    OCIThreadKey **key,
    void (*destFn) (void *)
); 

typedef sword (*OCITHREADKEYDESTROY)
(
    dvoid *hndl, 
    OCIError *err, 
    OCIThreadKey **key
);

typedef sword (*OCITHREADKEYSET)
(
    dvoid *hndl, 
    OCIError *err, 
    OCIThreadKey *key,
    dvoid **pValue
);

typedef sword (*OCITHREADKEYGET)
(
    dvoid *hndl, 
    OCIError *err, 
    OCIThreadKey *key,
    dvoid *value
);

typedef sword (*OCICONNECTIONPOOLCREATE)
(
    OCIEnv *envhp, 
    OCIError *errhp, 
    OCICPool *poolhp,
    OraText **poolName, 
    sb4 *poolNameLen,  
    CONST OraText *dblink, 
    sb4 dblinkLen,
    ub4 connMin, 
    ub4 connMax, 
    ub4 connIncr,
    CONST OraText *poolUserName, 
    sb4 poolUserLen,
    CONST OraText *poolPassword, 
    sb4 poolPassLen,
    ub4 mode
);

typedef sword (*OCICONNECTIONPOOLDESTROY)
(
    OCICPool *poolhp,
    OCIError *errhp, 
    ub4 mode
);

typedef sword (*OCICOLLSIZE)
(
    OCIEnv *env, 
    OCIError *err, 
    CONST OCIColl *coll, 
    sb4 *size 
);

typedef sb4 (*OCICOLLMAX)
(
    OCIEnv *env, 
    CONST OCIColl *coll
);

typedef sword (*OCICOLLGETITEM)
(    
    OCIEnv *env, 
    OCIError *err, 
    CONST OCIColl *coll, 
    sb4 index, 
    boolean *exists, 
    dvoid **elem, 
    dvoid **elemind    
);

typedef sword (*OCICOLLASSIGNELEM)
(
    OCIEnv *env, 
    OCIError *err, 
    sb4 index, 
    CONST dvoid *elem, 
    CONST dvoid *elemind, 
    OCIColl *coll    
);

typedef sword (*OCICOLLASSIGN)
(
    OCIEnv *env, 
    OCIError *err, 
    CONST OCIColl *rhs, 
    OCIColl *lhs    
);

typedef sword (*OCICOLLAPPEND)
(    
    OCIEnv *env, 
    OCIError *err, 
    CONST dvoid *elem, 
    CONST dvoid *elemind, 
    OCIColl *coll    
);

typedef sword (*OCICOLLTRIM)
(
    OCIEnv *env, 
    OCIError *err, 
    sb4 trim_num, 
    OCIColl *coll    
);

typedef sword (*OCIITERCREATE)
(
    OCIEnv *env, 
    OCIError *err, 
    CONST OCIColl *coll, 
    OCIIter **itr    
);

typedef sword (*OCIITERDELETE)
(    
    OCIEnv *env, 
    OCIError *err, 
    OCIIter **itr    
);

typedef sword (*OCIITERINIT)
(
    OCIEnv *env, 
    OCIError *err, 
    CONST OCIColl *coll, 
    OCIIter *itr    
);

typedef sword (*OCIITERNEXT)
(    
    OCIEnv *env, 
    OCIError *err, 
    OCIIter *itr, 
    void **elem, 
    dvoid **elemind, 
    boolean *eoc    
);

typedef sword (*OCIITERPREV)
(
    OCIEnv *env, 
    OCIError *err, 
    OCIIter *itr, 
    dvoid **elem, 
    dvoid **elemind, 
    boolean *boc    
);

#endif /* OCILIB_OCI_API_H_INCLUDED */

⌨️ 快捷键说明

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