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

📄 ocilib_defs.h

📁 oci的源码,可以在任何平台上编译,相当方便实用
💻 H
📖 第 1 页 / 共 2 页
字号:
#define OCI_IPC_LIST_ITEM        33
#define OCI_IPC_BIND_ARRAY       34
#define OCI_IPC_DEFINE           35
#define OCI_IPC_DEFINE_ARRAY     36
#define OCI_IPC_HASHENTRY        37
#define OCI_IPC_HASHENTRY_ARRAY  38
#define OCI_IPC_HASHVALUE        39
#define OCI_IPC_THREADKEY        40
#define OCI_IPC_OCIDATE          41
#define OCI_IPC_TM               42
#define OCI_IPC_RESULTSET_ARRAY  43
#define OCI_IPC_PLS_SIZE_ARRAY   44
#define OCI_IPC_PLS_RCODE_ARRAY  45
#define OCI_IPC_SERVER_OUPUT     46
#define OCI_IPC_INDICATOR_ARRAY  47
#define OCI_IPC_LEN_ARRAY        48
#define OCI_IPC_BUFF_ARRAY       49
#define OCI_IPC_LONG_BUFFER      50
#define OCI_IPC_TRACE_INFO       51
#define OCI_IPC_DP_COL_ARRAY     52

/* ------------------------------------------------------------------------ *
 * Oracle conditionnal features 
 * ------------------------------------------------------------------------ */

#define OCI_FEATURE_UNICODE_USERDATA    1
#define OCI_FEATURE_TIMESTAMP           2
#define OCI_FEATURE_DIRPATH_DATE_CACHE  3
#define OCI_FEATURE_SCROLLABLE_CURSOR   4

/* ------------------------------------------------------------------------ *
 * Oracle conditionnal features 
 * ------------------------------------------------------------------------ */

#define OCI_HDLE_HANDLE                 1
#define OCI_HDLE_DESCRIPTOR             2
#define OCI_HDLE_OBJECT                 3

/* ------------------------------------------------------------------------ *
 * statement status
 * ------------------------------------------------------------------------ */

#define OCI_STMT_CLOSED                 1
#define OCI_STMT_PREPARED               2
#define OCI_STMT_EXECUTED               3

/* ------------------------------------------------------------------------ *
 * connection states
 * ------------------------------------------------------------------------ */

#define OCI_CONN_ALLOCATED              1
#define OCI_CONN_ATTACHED               2
#define OCI_CONN_LOGGED                 3

/* ------------------------------------------------------------------------ *
 * objects status
 * ------------------------------------------------------------------------ */

#define OCI_OBJECT_ALLOCATED            1
#define OCI_OBJECT_FETCHED_CLEAN        2
#define OCI_OBJECT_FETCHED_DIRTY        3

/* ------------------------------------------------------------------------ *
 * bind type
 * ------------------------------------------------------------------------ */

#define OCI_BIND_INPUT                  1
#define OCI_BIND_OUTPUT                 2

/* ------------------------------------------------------------------------ *
 * Type of schema describing
 * ------------------------------------------------------------------------ */

#define OCI_DESC_RESULTSET              1
#define OCI_DESC_COLUMN                 2
#define OCI_DESC_TABLE                  3
#define OCI_DESC_TYPE                   4
#define OCI_DESC_COLLECTION             5

/* ------------------------------------------------------------------------ *
 * Direct path object status
 * ------------------------------------------------------------------------ */

#define OCI_DPS_NOT_PREPARED            1
#define OCI_DPS_PREPARED                2
#define OCI_DPS_CONVERTED               3
#define OCI_DPS_TERMINATED              4

/* ------------------------------------------------------------------------ *
 * internal statement fetch direction
 * ------------------------------------------------------------------------ */

#define OCI_SFD_NEXT                    0x02
#define OCI_SFD_FIRST                   0x04
#define OCI_SFD_LAST                    0x08
#define OCI_SFD_PREV                    0x10

/* ------------------------------------------------------------------------ *
 * internal direct path column types
 * ------------------------------------------------------------------------ */

#define OCI_DDT_TEXT                    1
#define OCI_DDT_BINARY                  2
#define OCI_DDT_NUMBER                  3
#define OCI_DDT_OTHERS                  4

/* ------------------------------------------------------------------------ *
 * internal integer types
 * ------------------------------------------------------------------------ */

#define OCI_NUM_UNSIGNED               2
#define OCI_NUM_SHORT                  4
#define OCI_NUM_INT                    8
#define OCI_NUM_BIGINT                 16
#define OCI_NUM_NUMBER                 32
#define OCI_NUM_DOUBLE                 64

#define OCI_NUM_USHORT                 (OCI_NUM_SHORT  | OCI_NUM_UNSIGNED)
#define OCI_NUM_UINT                   (OCI_NUM_INT    | OCI_NUM_UNSIGNED)
#define OCI_NUM_BIGUINT                (OCI_NUM_BIGINT | OCI_NUM_UNSIGNED)

/* ------------------------------------------------------------------------ *
 *  output buffer server line size
 * ------------------------------------------------------------------------ */

#define OCI_OUPUT_LSIZE                 255
#define OCI_OUPUT_LSIZE_10G             32767

/* ------------------------------------------------------------------------ *
 *  string functions mapping
 * ------------------------------------------------------------------------ */

#ifdef OCI_METADATA_UNICODE
  #define mttoupper           towupper
  #define mtisdigit           iswdigit
  #define mtsscanf            swscanf
#else
  #define mttoupper           toupper
  #define mtisdigit           isdigit
  #define mtsscanf            sscanf
#endif

/* ------------------------------------------------------------------------ *
 *  Unicode constants
 * ------------------------------------------------------------------------ */

/* OCI unicode flag */

#ifndef OCI_UTF16ID
  #define OCI_UTF16ID                   OCI_UCS2ID
#endif

/* unicode constants */

#define UNI_SHIFT             ((int) 10 )
#define UNI_BASE              ((unsigned int) 0x0010000UL)
#define UNI_MASK              ((unsigned int) 0x3FFUL)
#define UNI_REPLACEMENT_CHAR  ((unsigned int) 0x0000FFFD)
#define UNI_MAX_BMP           ((unsigned int) 0x0000FFFF)
#define UNI_MAX_UTF16         ((unsigned int) 0x0010FFFF)
#define UNI_MAX_UTF32         ((unsigned int) 0x7FFFFFFF)
#define UNI_MAX_LEGAL_UTF32   ((unsigned int) 0x0010FFFF)
#define UNI_SUR_HIGH_START    ((unsigned int) 0xD800)
#define UNI_SUR_HIGH_END      ((unsigned int) 0xDBFF)
#define UNI_SUR_LOW_START     ((unsigned int) 0xDC00)
#define UNI_SUR_LOW_END       ((unsigned int) 0xDFFF)

/* ------------------------------------------------------------------------ *
 * Local helper macros
 * ------------------------------------------------------------------------ */

/* check OCI status */

#define OCI_NO_ERROR(res)   (((res) == OCI_SUCCESS) ||  \
                             ((res) == OCI_SUCCESS_WITH_INFO))


/* memory management helpers */

#define OCI_FREE(ptr)                   OCI_MemFree(ptr), ptr = NULL;

/* indicator and nullity handlers */

#define OCI_IND(exp)                    (sb2) ((exp) ? 0 : -1)

#define OCI_NOT_NULL(def)                                   \
    ((def != NULL) &&                                       \
     (rs->row_cur > 0) &&                                   \
     ((sb2) ((sb2*)def->buf.inds)[rs->row_cur-1] != -1))

#define OCI_NOT_USED(p)                 (p) = (p);

/* miscellaneaous */

#define OCI_NB_ARG_VERSION              3

#define OCI_LIB_THREADED                (OCILib.env_mode & OCI_ENV_THREADED)

#define OCI_LIB_CONTEXT                 (OCILib.env_mode & OCI_ENV_CONTEXT)


#define OCI_RESULT(res)                                                        \
                                                                               \
        if (OCI_LIB_CONTEXT)                                                   \
            OCI_SetStatus(res);                                                \

#ifdef _WINDOWS
  #define OCI_CVT_CHAR 1
#else
  #define OCI_CVT_CHAR 0
#endif

#endif    /* OCILIB_OCILIB_DEFS_H_INCLUDED */

⌨️ 快捷键说明

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