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

📄 oro.h

📁 SQLAPI C/C++ 连接Oracle 数据库!
💻 H
📖 第 1 页 / 共 3 页
字号:
 * OCIObjectMarkStatus - OCI Object Mark Status * Status of the object - new or updated or deleted *//* macros to test the object mark status */ #define OCI_OBJECT_IS_UPDATED(flag) bit((flag), OCI_OBJECT_UPDATED)#define OCI_OBJECT_IS_DELETED(flag) bit((flag), OCI_OBJECT_DELETED)#define OCI_OBJECT_IS_NEW(flag) bit((flag), OCI_OBJECT_NEW)#define OCI_OBJECT_IS_DIRTY(flag) \  bit((flag), OCI_OBJECT_UPDATED|OCI_OBJECT_NEW|OCI_OBJECT_DELETED)/*---------------------------------------------------------------------------*//*                               TYPE MANAGER                                *//*---------------------------------------------------------------------------*//*------------------------------ TYPE CODE ----------------------------------*//* * Type manager typecodes * * These are typecodes designed to be used with the type manager; * they also include longer, more readable versions of existing SQLT names. * Those types that are directly related to existing SQLT types are #define'd * to their SQLT equivalents. * * The type manager typecodes are designed to be useable for all OCI calls. * They are in the range from 192 to 320 for typecodes, so as not to conflict * with existing OCI SQLT typecodes (see ocidfn.h). */#define OCI_TYPECODE_REF         SQLT_REF        /* SQL/OTS OBJECT REFERENCE */#define OCI_TYPECODE_DATE        SQLT_DAT              /* SQL DATE  OTS DATE */#define OCI_TYPECODE_SIGNED8     27     /* SQL SIGNED INTEGER(8)  OTS SINT8 */#define OCI_TYPECODE_SIGNED16    28    /* SQL SIGNED INTEGER(16)  OTS SINT16 */#define OCI_TYPECODE_SIGNED32    29    /* SQL SIGNED INTEGER(32)  OTS SINT32 */#define OCI_TYPECODE_REAL        21                /* SQL REAL  OTS SQL_REAL */#define OCI_TYPECODE_DOUBLE      22  /* SQL DOUBLE PRECISION  OTS SQL_DOUBLE */#define OCI_TYPECODE_FLOAT       SQLT_FLT      /* SQL FLOAT(P)  OTS FLOAT(P) */#define OCI_TYPECODE_NUMBER      SQLT_NUM/* SQL NUMBER(P S)  OTS NUMBER(P S) */#define OCI_TYPECODE_DECIMAL     SQLT_PDN                                       /* SQL DECIMAL(P S)  OTS DECIMAL(P S) */#define OCI_TYPECODE_UNSIGNED8   SQLT_BIN                                       /* SQL UNSIGNED INTEGER(8)  OTS UINT8 */#define OCI_TYPECODE_UNSIGNED16  25  /* SQL UNSIGNED INTEGER(16)  OTS UINT16 */#define OCI_TYPECODE_UNSIGNED32  26  /* SQL UNSIGNED INTEGER(32)  OTS UINT32 */#define OCI_TYPECODE_OCTET       245                   /* SQL ???  OTS OCTET */#define OCI_TYPECODE_SMALLINT    246           /* SQL SMALLINT  OTS SMALLINT */#define OCI_TYPECODE_INTEGER     SQLT_INT        /* SQL INTEGER  OTS INTEGER */#define OCI_TYPECODE_RAW         SQLT_LVB          /* SQL RAW(N)  OTS RAW(N) */#define OCI_TYPECODE_PTR         32              /* SQL POINTER  OTS POINTER */#define OCI_TYPECODE_VARCHAR2    SQLT_VCS                                     /* SQL VARCHAR2(N)  OTS SQL_VARCHAR2(N) */#define OCI_TYPECODE_CHAR        SQLT_AFC    /* SQL CHAR(N)  OTS SQL_CHAR(N) */#define OCI_TYPECODE_VARCHAR     SQLT_CHR                                       /* SQL VARCHAR(N)  OTS SQL_VARCHAR(N) */#define OCI_TYPECODE_MLSLABEL    SQLT_LAB                    /* OTS MLSLABEL */#define OCI_TYPECODE_VARRAY      247         /* SQL VARRAY  OTS PAGED VARRAY */#define OCI_TYPECODE_TABLE       248              /* SQL TABLE  OTS MULTISET */#define OCI_TYPECODE_OBJECT      SQLT_NTY       /* SQL/OTS NAMED OBJECT TYPE */#define OCI_TYPECODE_OPAQUE       58                /*  SQL/OTS Opaque Types */#define OCI_TYPECODE_NAMEDCOLLECTION  SQLT_NCO                                            /* SQL/OTS NAMED COLLECTION TYPE */#define OCI_TYPECODE_BLOB        SQLT_BLOB    /* SQL/OTS BINARY LARGE OBJECT */#define OCI_TYPECODE_BFILE       SQLT_BFILE    /* SQL/OTS BINARY FILE OBJECT */#define OCI_TYPECODE_CLOB        SQLT_CLOB /* SQL/OTS CHARACTER LARGE OBJECT */#define OCI_TYPECODE_CFILE       SQLT_CFILE /* SQL/OTS CHARACTER FILE OBJECT *//* the following are ANSI datetime datatypes added in 8.1 */#define OCI_TYPECODE_TIME        SQLT_TIME                   /* SQL/OTS TIME */#define OCI_TYPECODE_TIME_TZ     SQLT_TIME_TZ             /* SQL/OTS TIME_TZ */#define OCI_TYPECODE_TIMESTAMP   SQLT_TIMESTAMP         /* SQL/OTS TIMESTAMP */#define OCI_TYPECODE_TIMESTAMP_TZ  SQLT_TIMESTAMP_TZ /* SQL/OTS TIMESTAMP_TZ */#define OCI_TYPECODE_TIMESTAMP_LTZ  SQLT_TIMESTAMP_LTZ /* TIMESTAMP_LTZ */#define OCI_TYPECODE_INTERVAL_YM SQLT_INTERVAL_YM   /* SQL/OTS INTRVL YR-MON */#define OCI_TYPECODE_INTERVAL_DS SQLT_INTERVAL_DS  /* SQL/OTS INTRVL DAY-SEC */#define OCI_TYPECODE_OTMFIRST    228     /* first Open Type Manager typecode */#define OCI_TYPECODE_OTMLAST     320                    /* last OTM typecode */#define OCI_TYPECODE_SYSFIRST    228     /* first OTM system type (internal) */#define OCI_TYPECODE_SYSLAST     235      /* last OTM system type (internal) *//* the following are PL/SQL-only internal. They should not be used */#define OCI_TYPECODE_ITABLE      SQLT_TAB             /* PLSQL indexed table */#define OCI_TYPECODE_RECORD      SQLT_REC                    /* PLSQL record */#define OCI_TYPECODE_BOOLEAN     SQLT_BOL                   /* PLSQL boolean *//* To indicate absence of typecode being specified */#define OCI_TYPECODE_NONE          0/* The OCITypeCode type is interchangeable with the existing SQLT type   which is a ub2 */typedef ub2 OCITypeCode;/*----------------------- GET OPTIONS FOR TDO  ------------------------------*/enum OCITypeGetOpt{  OCI_TYPEGET_HEADER,                /* load only the header portion of the TDO when getting type */  OCI_TYPEGET_ALL       /* load all attribute and method descriptors as well */};typedef enum OCITypeGetOpt OCITypeGetOpt;/* * OCITypeGetOpt * * This is the flag passed to OCIGetTypeArray() to indicate how the TDO is * going to be loaded into the object cache. * OCI_TYPEGET_HEADER implies that only the header portion is to be loaded * initially, with the rest loaded in on a 'lazy' basis. Only the header is * needed for PL/SQL and OCI operations. OCI_TYPEGET_ALL implies that ALL * the attributes and methods belonging to a TDO will be loaded into the * object cache in one round trip. Hence it will take much longer to execute, * but will ensure that no more loading needs to be done when pinning ADOs * etc. This is only needed if your code needs to examine and manipulate * attribute and method information. * * The default is OCI_TYPEGET_HEADER. *//*------------------------ TYPE ENCAPSULTATION LEVEL ------------------------*/enum OCITypeEncap{  /* 0 = uninitialized */  OCI_TYPEENCAP_PRIVATE,                /* private: only internally visible */  OCI_TYPEENCAP_PUBLIC /* public: visible to both internally and externally */};typedef enum OCITypeEncap OCITypeEncap;/* * OCITypeEncap - OCI Encapsulation Level *//*---------------------------- TYPE METHOD FLAGS ----------------------------*/enum OCITypeMethodFlag{  OCI_TYPEMETHOD_INLINE = 0x0001,                                  /* inline */  OCI_TYPEMETHOD_CONSTANT = 0x0002,                              /* constant */  OCI_TYPEMETHOD_VIRTUAL = 0x0004,                                /* virtual */  OCI_TYPEMETHOD_CONSTRUCTOR = 0x0008,                        /* constructor */  OCI_TYPEMETHOD_DESTRUCTOR = 0x0010,                          /* destructor */  OCI_TYPEMETHOD_OPERATOR  = 0x0020,                             /* operator */  OCI_TYPEMETHOD_SELFISH = 0x0040,     /* selfish method (generic otherwise) */  OCI_TYPEMETHOD_MAP = 0x0080,                    /* map (relative ordering) */  OCI_TYPEMETHOD_ORDER  = 0x0100,               /* order (relative ordering) */  /* OCI_TYPEMETHOD_MAP and OCI_TYPEMETHOD_ORDER are mutually exclusive */  OCI_TYPEMETHOD_RNDS= 0x0200,               /* Read no Data State (default) */  OCI_TYPEMETHOD_WNDS= 0x0400,                        /* Write no Data State */  OCI_TYPEMETHOD_RNPS= 0x0800,                      /* Read no Process State */  OCI_TYPEMETHOD_WNPS= 0x1000,                     /* Write no Process State */  OCI_TYPEMETHOD_ABSTRACT = 0x2000,    /* abstract (not instantiable) method */  OCI_TYPEMETHOD_OVERRIDING = 0x4000,                   /* overriding method */  OCI_TYPEMETHOD_PIPELINED = 0x8000                   /* method is pipelined */};typedef enum OCITypeMethodFlag OCITypeMethodFlag;/* macros to test the type method flags */#define OCI_METHOD_IS_INLINE(flag) bit((flag), OCI_TYPEMETHOD_INLINE)#define OCI_METHOD_IS_CONSTANT(flag) bit((flag), OCI_TYPEMETHOD_CONSTANT)#define OCI_METHOD_IS_VIRTUAL(flag) bit((flag), OCI_TYPEMETHOD_VIRTUAL)#define OCI_METHOD_IS_CONSTRUCTOR(flag) bit((flag), OCI_TYPEMETHOD_CONSTRUCTOR)#define OCI_METHOD_IS_DESTRUCTOR(flag) bit((flag), OCI_TYPEMETHOD_DESTRUCTOR)#define OCI_METHOD_IS_OPERATOR(flag) bit((flag), OCI_TYPEMETHOD_OPERATOR)#define OCI_METHOD_IS_SELFISH(flag) bit((flag), OCI_TYPEMETHOD_SELFISH)#define OCI_METHOD_IS_MAP(flag) bit((flag), OCI_TYPEMETHOD_MAP)#define OCI_METHOD_IS_ORDER(flag) bit((flag), OCI_TYPEMETHOD_ORDER)#define OCI_METHOD_IS_RNDS(flag) bit((flag), OCI_TYPEMETHOD_RNDS)#define OCI_METHOD_IS_WNDS(flag) bit((flag), OCI_TYPEMETHOD_WNDS)#define OCI_METHOD_IS_RNPS(flag) bit((flag), OCI_TYPEMETHOD_RNPS)#define OCI_METHOD_IS_WNPS(flag) bit((flag), OCI_TYPEMETHOD_WNPS)#define OCI_METHOD_IS_ABSTRACT(flag) bit((flag), OCI_TYPEMETHOD_ABSTRACT)#define OCI_METHOD_IS_OVERRIDING(flag) bit((flag), OCI_TYPEMETHOD_OVERRIDING)#define OCI_METHOD_IS_PIPELINED(flag) bit((flag), OCI_TYPEMETHOD_PIPELINED)#define OCI_TYPEMETHOD_IS_INLINE(flag) bit((flag), OCI_TYPEMETHOD_INLINE)#define OCI_TYPEMETHOD_IS_CONSTANT(flag) bit((flag), OCI_TYPEMETHOD_CONSTANT)#define OCI_TYPEMETHOD_IS_VIRTUAL(flag) bit((flag), OCI_TYPEMETHOD_VIRTUAL)#define OCI_TYPEMETHOD_IS_CONSTRUCTOR(flag) \  bit((flag), OCI_TYPEMETHOD_CONSTRUCTOR)#define OCI_TYPEMETHOD_IS_DESTRUCTOR(flag) \  bit((flag), OCI_TYPEMETHOD_DESTRUCTOR)#define OCI_TYPEMETHOD_IS_OPERATOR(flag) bit((flag), OCI_TYPEMETHOD_OPERATOR)#define OCI_TYPEMETHOD_IS_SELFISH(flag) bit((flag), OCI_TYPEMETHOD_SELFISH)#define OCI_TYPEMETHOD_IS_MAP(flag) bit((flag), OCI_TYPEMETHOD_MAP)#define OCI_TYPEMETHOD_IS_ORDER(flag) bit((flag), OCI_TYPEMETHOD_ORDER)#define OCI_TYPEMETHOD_IS_RNDS(flag) bit((flag), OCI_TYPEMETHOD_RNDS)#define OCI_TYPEMETHOD_IS_WNDS(flag) bit((flag), OCI_TYPEMETHOD_WNDS)#define OCI_TYPEMETHOD_IS_RNPS(flag) bit((flag), OCI_TYPEMETHOD_RNPS)#define OCI_TYPEMETHOD_IS_WNPS(flag) bit((flag), OCI_TYPEMETHOD_WNPS)#define OCI_TYPEMETHOD_IS_ABSTRACT(flag) bit((flag), OCI_TYPEMETHOD_ABSTRACT)#define OCI_TYPEMETHOD_IS_OVERRIDING(flag) bit((flag), OCI_TYPEMETHOD_OVERRIDING)#define OCI_TYPEMETHOD_IS_PIPELINED(flag) bit((flag), OCI_TYPEMETHOD_PIPELINED)/* macros to set the type method flags */#define OCI_TYPEMETHOD_SET_INLINE(flag) bis((flag), OCI_TYPEMETHOD_INLINE)#define OCI_TYPEMETHOD_SET_CONSTANT(flag) bis((flag), OCI_TYPEMETHOD_CONSTANT)#define OCI_TYPEMETHOD_SET_VIRTUAL(flag) bis((flag), OCI_TYPEMETHOD_VIRTUAL)#define OCI_TYPEMETHOD_SET_CONSTRUCTOR(flag) \  bis((flag), OCI_TYPEMETHOD_CONSTRUCTOR)#define OCI_TYPEMETHOD_SET_DESTRUCTOR(flag) \  bis((flag), OCI_TYPEMETHOD_DESTRUCTOR)#define OCI_TYPEMETHOD_SET_OPERATOR(flag) bis((flag), OCI_TYPEMETHOD_OPERATOR)#define OCI_TYPEMETHOD_SET_SELFISH(flag) bis((flag), OCI_TYPEMETHOD_SELFISH)#define OCI_TYPEMETHOD_SET_MAP(flag) bis((flag), OCI_TYPEMETHOD_MAP)#define OCI_TYPEMETHOD_SET_ORDER(flag) bis((flag), OCI_TYPEMETHOD_ORDER)#define OCI_TYPEMETHOD_SET_RNDS(flag) bis((flag), OCI_TYPEMETHOD_RNDS)#define OCI_TYPEMETHOD_SET_WNDS(flag) bis((flag), OCI_TYPEMETHOD_WNDS)#define OCI_TYPEMETHOD_SET_RNPS(flag) bis((flag), OCI_TYPEMETHOD_RNPS)#define OCI_TYPEMETHOD_SET_WNPS(flag) bis((flag), OCI_TYPEMETHOD_WNPS)/* macros to clear the type method flags */#define OCI_TYPEMETHOD_CLEAR_INLINE(flag) bic((flag), OCI_TYPEMETHOD_INLINE)#define OCI_TYPEMETHOD_CLEAR_CONSTANT(flag) \  bic((flag), OCI_TYPEMETHOD_CONSTANT)#define OCI_TYPEMETHOD_CLEAR_VIRTUAL(flag) bic((flag), OCI_TYPEMETHOD_VIRTUAL)#define OCI_TYPEMETHOD_CLEAR_CONSTRUCTOR(flag) \  bic((flag), OCI_TYPEMETHOD_CONSTRUCTOR)#define OCI_TYPEMETHOD_CLEAR_DESTRUCTOR(flag) \  bic((flag), OCI_TYPEMETHOD_DESTRUCTOR)#define OCI_TYPEMETHOD_CLEAR_OPERATOR(flag) \  bic((flag), OCI_TYPEMETHOD_OPERATOR)#define OCI_TYPEMETHOD_CLEAR_SELFISH(flag) bic((flag), OCI_TYPEMETHOD_SELFISH)#define OCI_TYPEMETHOD_CLEAR_MAP(flag) bic((flag), OCI_TYPEMETHOD_MAP)#define OCI_TYPEMETHOD_CLEAR_ORDER(flag) bic((flag), OCI_TYPEMETHOD_ORDER)#define OCI_TYPEMETHOD_CLEAR_RNDS(flag) bic((flag), OCI_TYPEMETHOD_RNDS)#define OCI_TYPEMETHOD_CLEAR_WNDS(flag) bic((flag), OCI_TYPEMETHOD_WNDS)#define OCI_TYPEMETHOD_CLEAR_RNPS(flag) bic((flag), OCI_TYPEMETHOD_RNPS)#define OCI_TYPEMETHOD_CLEAR_WNPS(flag) bic((flag), OCI_TYPEMETHOD_WNPS)/*--------------------------- TYPE PARAMETER MODE ---------------------------*/enum OCITypeParamMode{  /* PL/SQL starts this from 0 */  OCI_TYPEPARAM_IN = 0,                                                /* in */  OCI_TYPEPARAM_OUT,                                                  /* out */  OCI_TYPEPARAM_INOUT,                                             /* in-out */  OCI_TYPEPARAM_BYREF,              /* call by reference (implicitly in-out) */  OCI_TYPEPARAM_OUTNCPY,                         /* OUT with NOCOPY modifier */  OCI_TYPEPARAM_INOUTNCPY                     /* IN OUT with NOCOPY modifier */};typedef enum OCITypeParamMode OCITypeParamMode;/*-------------------------------- DEFAULTS ---------------------------------*//* default binary and decimal precision and scale */#define OCI_NUMBER_DEFAULTPREC ((ub1)0)            /* no precision specified */#define OCI_NUMBER_DEFAULTSCALE ((sb1)MAXSB1MINVAL)                                        /* no binary/decimal scale specified *//* default maximum length for varrays and vstrings (used in sql.bsq) */#define OCI_VARRAY_MAXSIZE 4000                          /* default maximum number of elements for a varray */#define OCI_STRING_MAXLEN  4000     /* default maximum length of a vstring *//*---------------------------------------------------------------------------*//* This set of macro is used only in beta2. They should be removed as soon as * PLSQL has made the changes of not using these macros. */ /* Special duration for allocating memory only. No instance can be allocated * given these durations. */#define OCICoherency OCIRefreshOpt#define OCI_COHERENCY_NONE   (OCIRefreshOpt)2#define OCI_COHERENCY_NULL   (OCIRefreshOpt)4#define OCI_COHERENCY_ALWAYS (OCIRefreshOpt)5#endif /* ORO_ORACLE */

⌨️ 快捷键说明

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