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

📄 occicontrol.h

📁 oci函数批量插入数据
💻 H
📖 第 1 页 / 共 4 页
字号:
 /* 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)
   vvinay      02/21/02 - operator= added for SQLException
   gayyappa    12/27/01 - add set/getDatabaseNCharParam 
   gayyappa    11/22/01 - modify interface to use strings for CharSet
   gayyappa    10/01/01 - call reserve() on vector in set/getVector 
   rkasamse    07/30/01 - 
   rkasamse    07/26/01 - add env handle attrs - cache max/opt size
   rvallam     07/23/01 - bug 1891228 - added throw() in destructor
                          of SQLException
   rvallam     06/14/01 - replace call to get(set)VectorOfRefs in 
                          get(set)Vector for Ref<T> with code in 
                          get(set)VectorOfRefs
   rvallam     11/06/01 - renamed internal methods in get/setVector to
                          get(set)VectorOfPObjects/get(set)VectorOfOCIRefs
                          as part of NT porting fix
                          added destructors to SQLException and MetaData
   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>
#endif

namespace 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);

      ~MetaData();  
     
   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,

⌨️ 快捷键说明

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