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

📄 occicontrol.h

📁 SQLAPI C/C++ 连接Oracle 数据库!
💻 H
📖 第 1 页 / 共 3 页
字号:
 /* Copyright  Oracle Corporation 2000, 2001. All Rights Reserved. */  /*    NAME      occiControl.h - header file for OCCI control classes   DESCRIPTION      Class definitions for MetaData,SQLException,Environment,     Connection,Session,Statement   RELATED DOCUMENTS      <note any documents related to this facility>    EXPORT FUNCTION(S)      <external functions declared for use outside package - one-line descriptions>   INTERNAL FUNCTION(S)     <other external functions declared - one-line descriptions>   EXAMPLES   NOTES     <other useful comments, qualifications, etc.>   MODIFIED   (MM/DD/YY)   rvallam     05/03/01 - added const to the vector parameter in setVector                          of Statement for Ref<T>   rratnam     04/10/01 - removed references to wstring   kmohan      04/04/01 - include math.h for WIN32COMMON   rvallam     04/02/01 - fixed linux porting bug 1654670   gayyappa    03/27/01 - add code for templated getVector on stmt for objects.   rvallam     03/20/01 - passed dummy parameter for Type in getVector for                          void * in statement and ResultSet   rratnam     03/15/01 - fixed set and getRef / get and setVector for NULL Refs   rkasamse    03/19/01 - 1676579: HP compilation errors   rratnam     03/07/01 - derived SQLException from exception, added what()   chliang     03/05/01 - disable olint   rvallam     02/23/01 - made getReadSQL/getWriteSQL methods const   rratnam     01/29/01 - add closeStream() to Statement/ResultSet    rvallam     01/30/01 - added private method getListType() to                          MetaData   rratnam     01/03/01 - removed preTruncationLength() and isTruncated(),                          added setBinary/CharacterStreamMode()   rratnam     01/03/01 - added new method setErrorOnBusy in ConnectionPool    rratnam     12/29/00 - added a createProxyConnection without roles   gayyappa    12/14/00 - add virtual functions getStatement/getConnection                          to resultset and statement (fix bug# 1529888)   gayyappa    12/13/00 - remove setErrorOnTruncate from Statement/resultset.   rvallam     11/30/00 - removed #define NEVER   gayyappa    11/17/00 - split get method in Map to getReadSQL                          and getWriteSQL       rvallam     10/20/00 - modify cacheflush() to flushCache()                          added enums to MetaData   rvallam     09/14/00 - uncomment result set getMetaData method                          rename it to getColumnListMetaData.                          add get/set interval methods to stmt.                          add getinterval methods to resultset.   gayyappa    08/30/00 - added virtual destructor to occiconnection.                          add default values to registerOutParam in                          occistatement.                          removed get/set vector and anydata in statement.                          removed Stream header in ifdef directive.   rvallam     08/10/00 - uncomment gets(), update occiConnection, update                          Stream   slari       08/06/00 - add statement stream methods   slari       08/04/00 - add Statement::getXXX methods   slari       08/02/00 - add Stream   rratnam     08/04/00 - put in connection-cloning, proxy connections   rvallam     08/04/00 - changed metadata header - method signatures   rkasamse    08/04/00 - add setObject,setRef methods on Statement   slari       07/27/00 - add Statement::setNull   slari       07/26/00 - disable getBytes   slari       07/25/00 - enable getBytes and getRowid   rratnam     07/25/00 - Conn Pooling changes - added ConnectionPool,                          Connection, removed Session                          modified Environment (made getOCIEnvironment(),                          getMap() and getMode() const,                          added create/terminateConnectionPool(),                          added userName and password to createConnection() )   rkasamse    07/26/00 - uncomment getObject methods   slari       07/10/00 - enable getString   slari       07/05/00 - add result set methods   rkasamse    07/17/00 - add get function to Map   rratnam     06/16/00 - updated Session::getMetaData() to take the                          parameter type   rvallam     06/13/00 - updated MetaData   rratnam     06/13/00 - added getRef() to Statement                           and ResultSet,                           made getOCIError(), getOCIEnvironment()                           and getOCIServiceContext() in                           Connection const   kmohan      05/31/00 - Datamember Session * changed to                           SessionImpl *			  in the class MetaData			  change ORASTRINGSTL to ORASTRING   slari       05/26/00 - change ORAVECTOR to ORAVECTORSTL   slari       05/22/00 - add initial Statement class methods   slari       05/10/00 - enable Connection and Session methods   slari       04/21/00 - provide trivial implementation for                           ~Connection   slari       04/17/00 - make Environment methods abstract   slari       04/13/00 - add Environment   gayyappa    04/18/00 - changed defn of SQLException   kmohan      04/11/00 - added class definitions   rkasamse    04/03/00 - header (interface) files for OCCI                           control classes.   rkasamse    04/03/00 - Creation*/#ifndef _olint   /* disable olint check */#ifndef OCCICONTROL_ORACLE# define OCCICONTROL_ORACLE#ifdef WIN32COMMON#ifndef ORAMATH#define ORAMATH#include <math.h>#endif#endif#ifndef OCCICOMMON_ORACLE#include <occiCommon.h>#endif#ifndef ORAEXCEPTION#define ORAEXCEPTION#include <exception>#endifnamespace oracle {namespace occi {/*---------------------------------------------------------------------------                     PUBLIC TYPES AND CONSTANTS  ---------------------------------------------------------------------------*/class MetaData{  public :          enum AttrId       {ATTR_PTYPE = OCI_ATTR_PTYPE,      ATTR_TIMESTAMP = OCI_ATTR_TIMESTAMP,       ATTR_OBJ_ID = OCI_ATTR_OBJ_ID,      ATTR_OBJ_NAME = OCI_ATTR_OBJ_NAME,       ATTR_OBJ_SCHEMA = OCI_ATTR_OBJ_SCHEMA,      ATTR_OBJID = OCI_ATTR_OBJID,      ATTR_NUM_COLS = OCI_ATTR_NUM_COLS,      ATTR_LIST_COLUMNS = OCI_ATTR_LIST_COLUMNS,      ATTR_REF_TDO = OCI_ATTR_REF_TDO,      ATTR_IS_TEMPORARY = OCI_ATTR_IS_TEMPORARY,      ATTR_IS_TYPED = OCI_ATTR_IS_TYPED,      ATTR_DURATION = OCI_ATTR_DURATION,      ATTR_COLLECTION_ELEMENT = OCI_ATTR_COLLECTION_ELEMENT,      ATTR_RDBA = OCI_ATTR_RDBA,      ATTR_TABLESPACE = OCI_ATTR_TABLESPACE,      ATTR_CLUSTERED = OCI_ATTR_CLUSTERED,      ATTR_PARTITIONED = OCI_ATTR_PARTITIONED,      ATTR_INDEX_ONLY = OCI_ATTR_INDEX_ONLY,      ATTR_LIST_ARGUMENTS = OCI_ATTR_LIST_ARGUMENTS,      ATTR_IS_INVOKER_RIGHTS = OCI_ATTR_IS_INVOKER_RIGHTS,      ATTR_LIST_SUBPROGRAMS = OCI_ATTR_LIST_SUBPROGRAMS,      ATTR_NAME = OCI_ATTR_NAME,      ATTR_OVERLOAD_ID = OCI_ATTR_OVERLOAD_ID,      ATTR_TYPECODE = OCI_ATTR_TYPECODE,      ATTR_COLLECTION_TYPECODE = OCI_ATTR_COLLECTION_TYPECODE,      ATTR_VERSION = OCI_ATTR_VERSION,      ATTR_IS_INCOMPLETE_TYPE = OCI_ATTR_IS_INCOMPLETE_TYPE,      ATTR_IS_SYSTEM_TYPE = OCI_ATTR_IS_SYSTEM_TYPE,      ATTR_IS_PREDEFINED_TYPE = OCI_ATTR_IS_PREDEFINED_TYPE,      ATTR_IS_TRANSIENT_TYPE = OCI_ATTR_IS_TRANSIENT_TYPE,      ATTR_IS_SYSTEM_GENERATED_TYPE =               OCI_ATTR_IS_SYSTEM_GENERATED_TYPE,      ATTR_HAS_NESTED_TABLE = OCI_ATTR_HAS_NESTED_TABLE,      ATTR_HAS_LOB = OCI_ATTR_HAS_LOB,      ATTR_HAS_FILE = OCI_ATTR_HAS_FILE,      ATTR_NUM_TYPE_ATTRS = OCI_ATTR_NUM_TYPE_ATTRS,      ATTR_LIST_TYPE_ATTRS = OCI_ATTR_LIST_TYPE_ATTRS,      ATTR_NUM_TYPE_METHODS = OCI_ATTR_NUM_TYPE_METHODS,       ATTR_LIST_TYPE_METHODS = OCI_ATTR_LIST_TYPE_METHODS,      ATTR_MAP_METHOD = OCI_ATTR_MAP_METHOD,      ATTR_ORDER_METHOD = OCI_ATTR_ORDER_METHOD,      ATTR_DATA_SIZE = OCI_ATTR_DATA_SIZE,      ATTR_DATA_TYPE = OCI_ATTR_DATA_TYPE,      ATTR_PRECISION = OCI_ATTR_PRECISION,      ATTR_SCALE = OCI_ATTR_SCALE,      ATTR_TYPE_NAME = OCI_ATTR_TYPE_NAME,      ATTR_SCHEMA_NAME = OCI_ATTR_SCHEMA_NAME,      ATTR_CHARSET_ID = OCI_ATTR_CHARSET_ID,      ATTR_CHARSET_FORM = OCI_ATTR_CHARSET_FORM,      ATTR_ENCAPSULATION = OCI_ATTR_ENCAPSULATION,      ATTR_IS_CONSTRUCTOR = OCI_ATTR_IS_CONSTRUCTOR,      ATTR_IS_DESTRUCTOR = OCI_ATTR_IS_DESTRUCTOR,      ATTR_IS_OPERATOR = OCI_ATTR_IS_OPERATOR,      ATTR_IS_SELFISH = OCI_ATTR_IS_SELFISH,      ATTR_IS_MAP = OCI_ATTR_IS_MAP,      ATTR_IS_ORDER = OCI_ATTR_IS_ORDER,      ATTR_IS_RNDS = OCI_ATTR_IS_RNDS,      ATTR_IS_RNPS = OCI_ATTR_IS_RNPS,      ATTR_IS_WNDS = OCI_ATTR_IS_WNDS,      ATTR_IS_WNPS = OCI_ATTR_IS_WNPS,      ATTR_NUM_ELEMS = OCI_ATTR_NUM_ELEMS,      ATTR_LINK = OCI_ATTR_LINK,      ATTR_MIN = OCI_ATTR_MIN,      ATTR_MAX = OCI_ATTR_MAX,      ATTR_INCR = OCI_ATTR_INCR,      ATTR_CACHE = OCI_ATTR_CACHE,      ATTR_ORDER = OCI_ATTR_ORDER,      ATTR_HW_MARK  = OCI_ATTR_HW_MARK,      ATTR_IS_NULL = OCI_ATTR_IS_NULL,      ATTR_POSITION = OCI_ATTR_POSITION,      ATTR_HAS_DEFAULT =  OCI_ATTR_HAS_DEFAULT,      ATTR_LEVEL = OCI_ATTR_LEVEL,      ATTR_IOMODE = OCI_ATTR_IOMODE,      ATTR_RADIX = OCI_ATTR_RADIX,      ATTR_SUB_NAME = OCI_ATTR_SUB_NAME,      ATTR_LIST_OBJECTS = OCI_ATTR_LIST_OBJECTS,      ATTR_NCHARSET_ID = OCI_ATTR_NCHARSET_ID,      ATTR_LIST_SCHEMAS = OCI_ATTR_LIST_SCHEMAS,      ATTR_MAX_PROC_LEN = OCI_ATTR_MAX_PROC_LEN,      ATTR_MAX_COLUMN_LEN = OCI_ATTR_MAX_COLUMN_LEN,      ATTR_CURSOR_COMMIT_BEHAVIOR =           OCI_ATTR_CURSOR_COMMIT_BEHAVIOR,      ATTR_MAX_CATALOG_NAMELEN = OCI_ATTR_MAX_CATALOG_NAMELEN,      ATTR_CATALOG_LOCATION = OCI_ATTR_CATALOG_LOCATION,      ATTR_SAVEPOINT_SUPPORT =  OCI_ATTR_SAVEPOINT_SUPPORT,      ATTR_NOWAIT_SUPPORT =  OCI_ATTR_NOWAIT_SUPPORT,      ATTR_AUTOCOMMIT_DDL =  OCI_ATTR_AUTOCOMMIT_DDL,      ATTR_LOCKING_MODE =  OCI_ATTR_LOCKING_MODE,      ATTR_IS_FINAL_TYPE = OCI_ATTR_IS_FINAL_TYPE,      ATTR_IS_INSTANTIABLE_TYPE = OCI_ATTR_IS_INSTANTIABLE_TYPE,      ATTR_IS_SUBTYPE = OCI_ATTR_IS_SUBTYPE,      ATTR_SUPERTYPE_SCHEMA_NAME = OCI_ATTR_SUPERTYPE_SCHEMA_NAME,      ATTR_SUPERTYPE_NAME = OCI_ATTR_SUPERTYPE_NAME,      ATTR_FSPRECISION = OCI_ATTR_FSPRECISION,      ATTR_LFPRECISION = OCI_ATTR_LFPRECISION,      ATTR_IS_FINAL_METHOD = OCI_ATTR_IS_FINAL_METHOD,      ATTR_IS_INSTANTIABLE_METHOD = OCI_ATTR_IS_INSTANTIABLE_METHOD,      ATTR_IS_OVERRIDING_METHOD = OCI_ATTR_IS_OVERRIDING_METHOD,      ATTR_CHAR_USED = OCI_ATTR_CHAR_USED,      ATTR_CHAR_SIZE = OCI_ATTR_CHAR_SIZE     };     enum ParamType         {            PTYPE_TABLE = OCI_PTYPE_TABLE          ,PTYPE_VIEW = OCI_PTYPE_VIEW          ,PTYPE_PROC = OCI_PTYPE_PROC          ,PTYPE_FUNC = OCI_PTYPE_FUNC          ,PTYPE_PKG = OCI_PTYPE_PKG          ,PTYPE_TYPE = OCI_PTYPE_TYPE          ,PTYPE_TYPE_ATTR = OCI_PTYPE_TYPE_ATTR          ,PTYPE_TYPE_COLL = OCI_PTYPE_TYPE_COLL          ,PTYPE_TYPE_METHOD = OCI_PTYPE_TYPE_METHOD          ,PTYPE_SYN = OCI_PTYPE_SYN          ,PTYPE_SEQ = OCI_PTYPE_SEQ          ,PTYPE_COL = OCI_PTYPE_COL          ,PTYPE_ARG = OCI_PTYPE_ARG          ,PTYPE_TYPE_ARG = OCI_PTYPE_TYPE_ARG          ,PTYPE_TYPE_RESULT = OCI_PTYPE_TYPE_RESULT          ,PTYPE_SCHEMA = OCI_PTYPE_SCHEMA          ,PTYPE_DATABASE = OCI_PTYPE_DATABASE          ,PTYPE_UNK = OCI_PTYPE_UNK         };     enum { DURATION_SESSION = OCI_DURATION_SESSION          ,DURATION_TRANS = OCI_DURATION_TRANS          ,DURATION_NULL = OCI_DURATION_NULL          ,TYPEENCAP_PRIVATE = OCI_TYPEENCAP_PRIVATE          ,TYPEENCAP_PUBLIC = OCI_TYPEENCAP_PUBLIC          ,TYPEPARAM_IN = OCI_TYPEPARAM_IN          ,TYPEPARAM_OUT = OCI_TYPEPARAM_OUT          ,TYPEPARAM_INOUT = OCI_TYPEPARAM_INOUT          ,CURSOR_OPEN = OCI_CURSOR_OPEN          ,CURSOR_CLOSED = OCI_CURSOR_CLOSED          ,CL_START = OCI_CL_START          ,CL_END = OCI_CL_END          ,SP_SUPPORTED = OCI_SP_SUPPORTED          ,SP_UNSUPPORTED = OCI_SP_UNSUPPORTED          ,NW_SUPPORTED = OCI_NW_SUPPORTED          ,NW_UNSUPPORTED = OCI_NW_UNSUPPORTED          ,AC_DDL = OCI_AC_DDL          ,NO_AC_DDL = OCI_NO_AC_DDL          ,LOCK_IMMEDIATE = OCI_LOCK_IMMEDIATE          ,LOCK_DELAYED = OCI_LOCK_DELAYED           };       MetaData(const MetaData &omd);      unsigned int getAttributeCount() const       ;      AttrId getAttributeId(unsigned int attributenum) const       ;      Type getAttributeType(unsigned int attributenum) const       ;      int getInt(MetaData::AttrId attrid) const       ;      bool getBoolean(MetaData::AttrId attrid) const       ;      unsigned int getUInt(MetaData::AttrId attrid) const       ;      OCCI_STD_NAMESPACE::string getString(MetaData::AttrId attrid) const       ;      Number getNumber(MetaData::AttrId attrid) const      ;      RefAny getRef(MetaData::AttrId attrid) const       ;      Timestamp getTimestamp(MetaData::AttrId attrid) const       ;      MetaData getMetaData(MetaData::AttrId attrid) const      ;      OCCI_STD_NAMESPACE::vector<MetaData> getVector(MetaData::AttrId attrid)      const ;      void  operator  =(const MetaData &omd);        private:  enum ociAttrType { OCI_UB1,                          OCI_UB2,                          OCI_UB4,                         OCI_SB1,                          OCI_WORD,                         OCI_UB1_BOOL,                              OCI_UB1PTR_TIMESTAMP,                         OCI_UB1PTR_NUMBER,                         OCI_TEXTPTR,                         OCI_DVOIDPTR_PARAM,                         OCI_DVOIDPTR_PARAMLIST,                         OCI_OCIREFPTR,                         OCI_OCIDURATION,                         OCI_OCITYPECODE,                         OCI_OCITYPEENCAP,                         OCI_OCITYPEPARAMMODE,                         OCI_OCIPRECISION                      };  enum AttrCount {COMMON_ATTR_COUNT = 5,        TABLE_ATTR_COUNT = 12,        VIEW_ATTR_COUNT = 7,         FUNCPROC_ATTR_COUNT = 4,        PKG_ATTR_COUNT = 2,        TYP_ATTR_COUNT = 27,         TYPEATTR_ATTR_COUNT = 13,        TYPEMTHD_ATTR_COUNT = 16,        COLL_ATTR_COUNT = 12,        SYN_ATTR_COUNT = 4,        SEQ_ATTR_COUNT = 7,        COL_ATTR_COUNT = 13,        ARG_TYPARG_TYPRES_ATTR_COUNT = 20,         SCHEMA_ATTR_COUNT = 1,        DATABASE_ATTR_COUNT = 13,        UNK_ATTR_COUNT = 0        };  static const AttrId commonAttrId[COMMON_ATTR_COUNT];  static const ociAttrType commonAttrType[COMMON_ATTR_COUNT];  static const AttrId tableAttrId[TABLE_ATTR_COUNT];  static const ociAttrType tableAttrType[TABLE_ATTR_COUNT];  static const AttrId viewAttrId[VIEW_ATTR_COUNT];  static const ociAttrType viewAttrType[VIEW_ATTR_COUNT];  static const AttrId funcprocAttrId[FUNCPROC_ATTR_COUNT];  static const ociAttrType funcprocAttrType[FUNCPROC_ATTR_COUNT];  static const AttrId pkgAttrId[PKG_ATTR_COUNT];  static const ociAttrType pkgAttrType[PKG_ATTR_COUNT];  static const AttrId typAttrId[TYP_ATTR_COUNT];  static const ociAttrType typAttrType[TYP_ATTR_COUNT];  static const AttrId typeattrAttrId[TYPEATTR_ATTR_COUNT];  static const ociAttrType typeattrAttrType[TYPEATTR_ATTR_COUNT];  static const AttrId typmethdAttrId[TYPEMTHD_ATTR_COUNT];  static const ociAttrType typemthdAttrType[TYPEMTHD_ATTR_COUNT];  static const AttrId collAttrId[COLL_ATTR_COUNT];  static const ociAttrType collAttrType[COLL_ATTR_COUNT];  static const AttrId synAttrId[SYN_ATTR_COUNT];  static const ociAttrType synAttrType[SYN_ATTR_COUNT];  static const AttrId seqAttrId[SEQ_ATTR_COUNT];  static const ociAttrType seqAttrType[SEQ_ATTR_COUNT];  static const AttrId colAttrId[COL_ATTR_COUNT];  static const ociAttrType colAttrType[COL_ATTR_COUNT];  static const AttrId argtargtresAttrId[ARG_TYPARG_TYPRES_ATTR_COUNT];  static const ociAttrType argtargtresAttrType[                   ARG_TYPARG_TYPRES_ATTR_COUNT];  static const AttrId schemaAttrId[SCHEMA_ATTR_COUNT];  static const ociAttrType schemaAttrType[SCHEMA_ATTR_COUNT];

⌨️ 快捷键说明

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