?? occicontrol.h
字號:
/* 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 + -