OO4O専用の共通モジュール

OO4O for Visual Basic 6 (+SP5)で使用する共通モジュール。

定数はオラクル9i(R2)インストール後にインストールされる「ORACONST.TXT」をそのまま使用。


 

「basOO4O.bas」内に定義

非同期ストアドプロシージャを使わない場合は下3つの宣言は不要です。

 

‘グローバル変数宣言——————————————–
‘OraSessionオブジェクト
‘アプリケーション内で使用されるOraDatabase、OraConnection
‘およびOraDynasetオブジェクトのコレクションを管理する
Public poraSess As OraSessionClass

‘OraDatabaseオブジェクト変数
‘SQLまたはPL/SQLを実行するメソッドを提供する
Public poraDb As OraDatabase

‘OraSessionオブジェクト
‘アプリケーション内で使用されるOraDatabase、OraConnection
‘およびOraDynasetオブジェクトのコレクションを管理する
‘【注】非同期ストアドプロシージャ専用
Public poraSessW As OraSessionClass

‘OraDatabaseオブジェクト変数
‘SQLまたはPL/SQLを実行するメソッドを提供する
‘【注】非同期ストアドプロシージャ専用
Public poraDbW As OraDatabase

‘オラクルのOraSqlStmtオブジェクト変数
‘【注】非同期ストアドプロシージャ専用
Public poraSQLW As OraSqlStmt

 






「ORACONST.TXT」ファイルの内容

オラクルをインストールしたフォルダ「[ドライブ]:¥oracle¥ora92¥oo4o¥」にある。

注意

以下は内容は使わずに必ずオラクルをインストールしたフォルダから 「ORACONST.TXT」ファイルをVBにインクルードして下さい。

以下は参考内容です。

実際は日本語「【...】」のコメントは付いていない。

 

 

””””””””””””””
‘ Oracle Objects for OLE global constant file.
‘ This file can be loaded into a code module.
””””””””””””””

‘Editmode property values
‘ These are intended to match similar constants in the
‘ Visual Basic file CONSTANT.TXT
Global Const ORADATA_EDITNONE = 0
Global Const ORADATA_EDITMODE = 1
Global Const ORADATA_EDITADD  = 2

‘ Field Data Types
‘ These are intended to match similar constants in the
‘ Visual Basic file DATACONS.TXT
‘【バインド変数のデータ型】
Global Const ORADB_BOOLEAN    = 1  ‘【BOOLEAN型】
Global Const ORADB_BYTE       = 2  ‘【バイト型】
Global Const ORADB_INTEGER    = 3  ‘【整数型】
Global Const ORADB_LONG       = 4  ‘【長整数型】
Global Const ORADB_CURRENCY   = 5  ‘【通貨型】
Global Const ORADB_SINGLE     = 6  ‘【型】
Global Const ORADB_DOUBLE     = 7  ‘【型】
Global Const ORADB_DATE       = 8  ‘【日付型】
Global Const ORADB_OBJECT     = 9  ‘【オブジェクト型】
Global Const ORADB_TEXT       = 10 ‘【テキスト型】
Global Const ORADB_LONGBINARY = 11 ‘【型】
Global Const ORADB_MEMO       = 12 ‘【メモ型】

‘Parameter Types
‘【バインド変数の入出力型】
Global Const ORAPARM_INPUT    = 1  ‘【入力型】
Global Const ORAPARM_OUTPUT   = 2  ‘【出力型】
Global Const ORAPARM_BOTH     = 3  ‘【入出力型】

‘Parameter Status
Global Const ORAPSTAT_INPUT       = &H1&
Global Const ORAPSTAT_OUTPUT      = &H2&
Global Const ORAPSTAT_AUTOENABLE  = &H4&
Global Const ORAPSTAT_ENABLE      = &H8&

‘CreateDynaset Method Options
‘【データベースの検索モード/★重要です/パフォーマンスに影響大】
Global Const ORADYN_DEFAULT       = &H0&  ‘【デフォルト:パフォーマンス大】
Global Const ORADYN_NO_AUTOBIND   = &H1&  ‘【】
Global Const ORADYN_NO_BLANKSTRIP = &H2&  ‘【】
Global Const ORADYN_READONLY      = &H4&  ‘【読み込みのみ】
Global Const ORADYN_NOCACHE       = &H8&  ‘【キャッシュを持たない】
Global Const ORADYN_ORAMODE       = &H10& ‘【オラクルモード】
Global Const ORADYN_NO_REFETCH    = &H20& ‘【】
Global Const ORADYN_NO_MOVEFIRST  = &H40& ‘【】
Global Const ORADYN_DIRTY_WRITE   = &H80& ‘【】   

‘OpenDatabase Method Options
‘【データベースのオープンモード】
Global Const ORADB_DEFAULT        = &H0&  ‘【デフォルト:更新可能】
Global Const ORADB_ORAMODE        = &H1&  ‘【オラクルモード:通常はこれを指定する】
Global Const ORADB_NOWAIT         = &H2&  ‘【NOWAITモード:SQL等の終了を待たない】
Global Const ORADB_DBDEFAULT      = &H4&  ‘【】
Global Const ORADB_DEFERRED       = &H8&  ‘【】
Global Const ORADB_ENLIST_IN_MTS  = &H10& ‘【】

‘Oracle type codes
‘【オラクルデータベースの項目データ型】
Global Const ORATYPE_VARCHAR2  = 1  ‘【VARCHAR2型】
Global Const ORATYPE_NUMBER    = 2  ‘【型】
Global Const ORATYPE_SINT      = 3  ‘【型】
Global Const ORATYPE_FLOAT     = 4  ‘【型】
Global Const ORATYPE_STRING    = 5  ‘【型】
Global Const ORATYPE_DECIMAL   = 7  ‘【型】
Global Const ORATYPE_VARCHAR   = 9  ‘【型】
Global Const ORATYPE_DATE      = 12 ‘【型】
Global Const ORATYPE_REAL      = 21 ‘【型】
Global Const ORATYPE_DOUBLE    = 22 ‘【型】
Global Const ORATYPE_UNSIGNED8 = 23 ‘【型】
Global Const ORATYPE_UNSIGNED16= 25 ‘【型】
Global Const ORATYPE_UNSIGNED32= 26 ‘【型】 
Global Const ORATYPE_SIGNED8   = 27 ‘【型】
Global Const ORATYPE_SIGNED16  = 28 ‘【型】
Global Const ORATYPE_SIGNED32  = 29 ‘【型】
Global Const ORATYPE_PTR       = 32 ‘【型】
Global Const ORATYPE_OPAQUE    = 58 ‘【型】
Global Const ORATYPE_UINT      = 68 ‘【型】
Global Const ORATYPE_RAW       = 95 ‘【型】
Global Const ORATYPE_CHAR      = 96 ‘【型】
Global Const ORATYPE_CHARZ     = 97 ‘【型】
Global Const ORATYPE_CURSOR    = 102 ‘【型】
Global Const ORATYPE_ROWID     = 104 ‘【型】
Global Const ORATYPE_MLSLABEL  = 105 ‘【型】
Global Const ORATYPE_OBJECT    = 108 ‘【型】
Global Const ORATYPE_REF       = 110 ‘【型】
Global Const ORATYPE_CLOB      = 112 ‘【型】
Global Const ORATYPE_BLOB      = 113 ‘【型】
Global Const ORATYPE_BFILE     = 114 ‘【型】
Global Const ORATYPE_CFILE     = 115 ‘【型】
Global Const ORATYPE_RSLT      = 116 ‘【型】
Global Const ORATYPE_NAMEDCOLLECTION = 122 ‘【型】
Global Const ORATYPE_COLL      = 122 ‘【型】
Global Const ORATYPE_SYSFIRST  = 228 ‘【型】
Global Const ORATYPE_SYSLAST   = 235 ‘【型】
Global Const ORATYPE_OCTET     = 245 ‘【型】
Global Const ORATYPE_SMALLINT  = 246 ‘【型】
Global Const ORATYPE_VARRAY    = 247 ‘【型】
Global Const ORATYPE_TABLE     = 248 ‘【型】
Global Const ORATYPE_OTMLAST   = 320 ‘【型】
Global Const ORATYPE_RAW_BIN   = 2000 ‘【型】

‘CreateSql Method options
Global Const ORASQL_DEFAULT     = &H0&
Global Const ORASQL_NO_AUTOBIND = &H1&
Global Const ORASQL_FAILEXEC    = &H2&
Global Const ORASQL_NONBLK      = &H4&

‘OraLob operation return codes
Global Const ORALOB_SUCCESS     = 0
Global Const ORALOB_NEED_DATA   = 99
Global Const ORALOB_NODATA      = 100

‘OraLob Write operation chunck  modes
Global Const ORALOB_ONE_PIECE   = 0
Global Const ORALOB_FIRST_PIECE = 1
Global Const ORALOB_NEXT_PIECE  = 2
Global Const ORALOB_LAST_PIECE  = 3

‘OraRef Lock operation
Global Const ORAREF_NO_LOCK        = 1
Global Const ORAREF_EXCLUSIVE_LOCK = 2
Global Const ORAREF_NOWAIT_LOCK    = 3

‘OraRef Pin operaion
Global Const ORAREF_READ_ANY       = 3
Global Const ORAREF_READ_RECENT    = 4
Global Const ORAREF_READ_LATEST    = 5

‘OIP errors returned as part of the OLE Automation error.
Global Const OERROR_ADVISEULINK = 4096 ‘ Invalid advisory connection 
Global Const OERROR_POSITION    = 4098 ‘ Invalid database position 
Global Const OERROR_NOFIELDNAME = 4099 ‘ Field ‘field-name’ not found 
Global Const OERROR_TRANSIP     = 4101 ‘ Transaction already in process 
Global Const OERROR_TRANSNIPC   = 4104 ‘ Commit detected with no active transaction  
Global Const OERROR_TRANSNIPR   = 4105 ‘ Rollback detected with no active transaction 
Global Const OERROR_NODSET      = 4106 ‘ No such set attached to connection
Global Const OERROR_INVROWNUM   = 4108 ‘ Invalid row reference 
Global Const OERROR_TEMPFILE    = 4109 ‘ Error creating temporary file 
Global Const OERROR_DUPSESSION  = 4110 ‘ Duplicate session name 
Global Const OERROR_NOSESSION   = 4111 ‘ Session not found during detach
Global Const OERROR_NOOBJECTN   = 4112 ‘ No such object named ‘object-name’ 
Global Const OERROR_DUPCONN     = 4113 ‘ Duplicate connection name 
Global Const OERROR_NOCONN      = 4114 ‘ No such connection during detach 
Global Const OERROR_BFINDEX     = 4115 ‘ Invalid field index
Global Const OERROR_CURNREADY   = 4116 ‘ Cursor not ready for I/O 
Global Const OERROR_NOUPDATES   = 4117 ‘ Not an updatable set
Global Const OERROR_NOTEDITING  = 4118 ‘ Attempt to update without edit or add operation 
Global Const OERROR_DATACHANGE  = 4119 ‘ Data has been modified 
Global Const OERROR_NOBUFMEM    = 4120 ‘ No memory for data transfer buffers 
Global Const OERROR_INVBKMRK    = 4121 ‘ Invalid bookmark
Global Const OERROR_BNDVNOEN    = 4122 ‘ Bind variable not fully enabled
Global Const OERROR_DUPPARAM    = 4123 ‘ Duplicate parameter name 
Global Const OERROR_INVARGVAL   = 4124 ‘ Invalid argument value 
Global Const OERROR_INVFLDTYPE  = 4125 ‘ Invalid field type 
Global Const OERROR_TRANSFORUP  = 4127 ‘ For Update detected with no active transaction 
Global Const OERROR_NOTUPFORUP  = 4128 ‘ For Update detected but not updatable set
Global Const OERROR_TRANSLOCK   = 4129 ‘ Commit/Rollback with SELECT FOR UPDATE in progress
Global Const OERROR_CACHEPARM   = 4130 ‘ Invalid cache parameter
Global Const OERROR_FLDRQROWID  = 4131 ‘ Field processing requires ROWID
Global Const OERROR_OUTOFMEMORY = 4132 ‘ Internal Error
Global Const OERROR_MAXSIZE     = 4135 ‘ Element size specified in AddTable exceeds the maximum allowed size for that variable type. See AddTable Method for more details.
Global Const OERROR_INVDIMENSION = 4136 ‘ Dimension specified in AddTable is invalid (i.e. negative). See AddTable Method for more details.
Global Const OERROR_MAXBUFFER   = 4137 ‘ Buffer size for parameter array variable exceeds 32512 bytes (OCI limit).
Global Const OERROR_ARRAYSIZ    = 4138 ‘ Dimensions of array parameters used in insert/update/delete statements are not equal.
Global Const OERROR_ARRAYFAILP  = 4139 ‘ Error processing arrays. For details refer to OO4OERR.LOG in the windows directory.
Global Const OERROR_CREATEPOOL  = 4147 ‘ Database Pool Already exists for this session.
Global Const OERROR_GETDB       = 4148 ‘ Unable to obtain a free database object from the pool.

Global Const OERROR_NOOBJECT      = 4796 ‘Creating Oracle object instance in client side object cache is failed
Global Const OERROR_BINDERR       = 4797 ‘Binding  Oracle object instance to the SQL statement  is failed
Global Const OERROR_NOATTRNAME    = 4798 ‘Getting attribute name of Oracle object instance is failed
Global Const OERROR_NOATTRINDEX   = 4799 ‘Getting attribute index of Oracle object instance is failed
Global Const OERROR_INVINPOBJECT  = 4801 ‘Invalid input object type for binding operation
Global Const OERROR_BAD_INDICATOR = 4802 ‘Fetched Oracle Object instance comes with invalid indicator structure
Global Const OERROR_OBJINSTNULL   = 4803 ‘Operation on NULL Oracle object instance is failed. See IsNull property on OraObject
Global Const OERROR_REFNULL       = 4804 ‘Pin Operation on NULL  Ref value is failed. See IsRefNull property on OraRef

Global Const OERROR_INVPOLLPARAMS = 4896 ‘Invalid  polling amount and chunksize specified for LOB read/write operation.
Global Const OERROR_INVSEEKPARAMS = 4897 ‘Invalid seek value is specified for LOB read/write operation.
Global Const OERROR_LOBREAD       = 4898 ‘Read operation failed
Global Const OERROR_LOBWRITE      = 4899 ‘Write operation failure
Global Const OERROR_INVCLOBBUF    = 4900 ‘Input buffer type is not string for CLOB write operation
Global Const OERROR_INVBLOBBUF    = 4901 ‘Input buffer type is not bytes for BLOB write operation
Global Const OERROR_INVLOBLEN     = 4902 ‘Invalid buffer length for LOB write operation
Global Const OERROR_NOEDIT        = 4903 ‘Write,Trim ,Append,Copy operation is allowed outside the dynaset edit
Global Const OERROR_INVINPUTLOB   = 4904 ‘Invalid input LOB for bind operation
Global Const OERROR_NOEDITONCLONE = 4905 ‘Write,Trim,Append,Copy is not allowed for clone LOB object
Global Const OERROR_LOBFILEOPEN   = 4906 ‘Specified file could not be opened in LOB operation
Global Const OERROR_LOBFILEIOERR  = 4907 ‘File Read or Write failed in LOB Operation.
Global Const OERROR_LOBNULL       = 4908 ‘Operation on NULL LOB has failed.

Global Const OERROR_AQCREATEERR    = 4996 ‘Error creating AQ object
Global Const OERROR_MSGCREATEERR   = 4997 ‘Error creating AQMsg object
Global Const OERROR_PAYLOADCREATEERR = 4998 ‘Error creating Payload object
Global Const OERROR_MAXAGENTS      = 4998 ‘Maximum number of subscribers exceeded.
Global Const OERROR_AGENTCREATEERR = 5000 ‘Error creating AQ Agent

Global Const OERROR_COLLINSTNULL   = 5196 ‘Operation on NULL Oracle collection is  failed. See IsNull property on OraCollection
Global Const OERROR_NOELEMENT      = 5197 ‘Element does not exist for given index
Global Const OERROR_INVINDEX       = 5198 ‘Invalid collection index is specified
Global Const OERROR_NODELETE       = 5199 ‘Delete operation is not supported for VARRAY collection type
Global Const OERROR_SAFEARRINVELEM = 5200 ‘Variant SafeArray cannot be created from the collection having non scalar element types

Global Const OERROR_NULLNUMBER     = 5296 ‘Operation on NULL Oracle Number  is  failed.

‘ meta data type, OraMetaData.type returns one of the following
Global Const ORAMD_TABLE        = 1
Global Const ORAMD_VIEW        = 2
Global Const ORAMD_COLUMN        = 3
Global Const ORAMD_COLUMN_LIST    = 4
Global Const ORAMD_TYPE        = 5
Global Const ORAMD_TYPE_ATTR    = 6
Global Const ORAMD_TYPE_ATTR_LIST    = 7
Global Const ORAMD_TYPE_METHOD    = 8
Global Const ORAMD_TYPE_METHOD_LIST    = 9
Global Const ORAMD_TYPE_ARG        = 10
Global Const ORAMD_TYPE_RESULT    = 11
Global Const ORAMD_PROC        = 12
Global Const ORAMD_FUNC        = 13
Global Const ORAMD_ARG        = 14
Global Const ORAMD_ARG_LIST        = 15
Global Const ORAMD_PACKAGE        = 16
Global Const ORAMD_SUBPROG_LIST    = 17
Global Const ORAMD_COLLECTION    = 18
Global Const ORAMD_SYNONYM        = 19
Global Const ORAMD_SEQENCE        = 20
Global Const ORAMD_SCHEMA        = 21
Global Const ORAMD_OBJECT_LIST    = 22
Global Const ORAMD_SCHEMA_LIST    = 23
Global Const ORAMD_DATABASE        = 24

‘ AQ Options
‘ AQ Visible options
Global Const ORAAQ_ENQ_IMMEDIATE = 1
Global Const ORAAQ_ENQ_ON_COMMIT = 2

‘ AQ MessageID options
Global Const ORAAQ_NULL_MSGID    = NULL

‘ Selection Criteria for filtering messages
Global Const  ORAAQ_ANY          = 0
Global Const  ORAAQ_CONSUMER     = 1
Global Const  ORAAQ_MSGID        = 2

‘ Locking behaviour while dequeueing messages
Global Const ORAAQ_DQ_BROWSE     = 1
Global Const ORAAQ_DQ_LOCKED     = 2
Global Const ORAAQ_DQ_REMOVE     = 3

‘ Message Position criteria for dequeuing
Global Const ORAAQ_DQ_FIRST_MSG  = 1
Global Const ORAAQ_DQ_NEXT_TRANS = 2
Global Const ORAAQ_DQ_NEXT_MSG   = 3

‘ Wait options for a dequeue operation
Global Const ORAAQ_DQ_WAIT_FOREVER = –1
Global Const ORAAQ_DQ_NOWAIT       = 0

‘ Values of various OraAQMsg properties

‘ Number of Seconds to delay a newly enqueued message
‘ before it is available for dequeueing
Global Const ORAAQ_MSG_NO_DELAY    = 0
‘ Prioirity values for messages
Global Const ORAAQ_MSG_PRIORITY_NORMAL = 0
Global Const ORAAQ_MSG_PRIORITY_HIGH   = –10
Global Const ORAAQ_MSG_PRIORITY_LOW    = 10

‘ Message Expiration in seconds
Global Const ORAAQ_MSG_NO_EXPIRE    = 0
Global Const ORAAQ_MAX_AGENTS       = 10

‘Non Blocking return values
Global Const ORASQL_STILL_EXECUTING = –3123
Global Const ORASQL_SUCCESS         = 0

 

初期登録日: 2003年11月09日
最終更新日: 2008年01月26日

< Home ヘ戻る >


キーボード

ブラウザ画面の文字サイズを変更するショートカットキー

  1. [ CTRL ] + [ + ]  :  文字を大きく
  2. [ CTRL ] + [ ]  :  文字を小さく

Shortcut Keys

  1. [ CTRL ] + [ + ]  :  Up the font size
  2. [ CTRL ] + [ ]  :  Down the font size