この章では、Oracle Objects for OLEのサーバー・プロパティについて説明します。
サーバー・オブジェクトの概要は、「Oracle Objects for OLEインプロセス・オートメーション・サーバー」を参照してください。
内容は次のとおりです。
サーバー・プロパティ: A〜F
サーバー・プロパティ: E〜L
サーバー・プロパティ: M〜O
サーバー・プロパティ: P〜T
サーバー・プロパティ: U〜Z
適用対象
説明
プロトコル固有の受信者アドレスを示す128バイトの文字列を戻します。 書式は、[schema.]queue[@dblink]
です。
使用方法
agent_address = qMsg.AQAgent.Address
データ型
String
適用対象
説明
OraParameter
文字列バッファの配列のサイズ(つまり、配列内の要素数)を指定します。設計時には使用できません。実行時は読取り専用です。
使用方法
OraParamArray.ArraySize
データ型
Integer
備考
ArraySize
はAddTable
で指定します。OraParamArray
オブジェクトのAddTable
メソッドを参照してください。
適用対象
説明
OraDatabase
オブジェクトのAutoCommit
プロパティを取得または設定します。
使用方法
autocommit = OraDatabase.AutoCommit OraDatabase.AutoCommit = [ True | False
データ型
ブール
備考
AutoCommit
プロパティがTRUE
に設定されている場合、データベース内のデータを変更するすべての操作は、その操作を行う文の実行後に自動的にコミットされます。
AutoCommit
プロパティがFALSE
に設定されている場合は、OraDatabase
トランザクション・メソッド(BeginTrans
、CommitTrans
およびRollback
)またはトランザクションを制御するSQL文を使用する必要があります。
例
次の例では、AutoCommit
プロパティをFALSE
に設定した後に、SQL文を使用してトランザクションを制御する方法を示します。
Dim session As OraSession Dim MyDb As OraDatabase Set OraSession = CreateObject("OracleInProcServer.XOraSession") Set MyDb = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0) MyDb.AutoCommit = False MyDb.ExecuteSQL ("update emp set sal = 100000" & _ "where ename = 'JOHN SMITH' ") MyDb.ExecuteSQL ("commit")
適用対象
説明
コレクション・イテレータがコレクションの最初の要素の前に移動した場合はTRUE
になります。
使用方法
boc_flag = OraCollection.BOC
データ型
ブール
例
「例: OraCollectionイテレータ」を参照してください。
適用対象
説明
ダイナセットのカレント・レコードが最初のレコードの前にあるかどうかを戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
bof_status = oradynaset.BOF
データ型
Integer
(ブール)
備考
MovePrevious
メソッドを使用してダイナセットの最初のレコードより前に移動しようとした場合はTRUE
を戻します。それ以外の場合はFALSE
を戻します。
レコードセットが空の場合、BOF
とEOF
は両方ともTRUE
を戻します。
例
この例では、BOF
およびEOF
プロパティを使用して、レコードセットの範囲を検出する方法を示します。このコードをコピーして、フォームの定義セクションに貼り付けてください。次に[F5]を押します。
Sub Form_Load () 'Declare variables Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset As OraDynaset 'Create the OraSession Object Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Create the OraDatabase Object by opening a connection to Oracle Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'Create the OraDynaset Object Set OraDynaset = OraDatabase.CreateDynaset("select empno, ename from emp", 0&) 'Traverse until EOF is reached Do Until OraDynaset.EOF OraDynaset.MoveNext Loop MsgBox "Reached EOF" 'When EOF is True there is no current record. 'The current recordset position is now AFTER the last record. OraDynaset.MoveLast Do Until OraDynaset.BOF OraDynaset.MovePrevious Loop MsgBox "Reached BOF" 'When BOF is True there is no current record. 'The current recordset position is now BEFORE 'AFTER the last record. OraDynaset.MoveFirst 'The recordset is now positioned at the first record. End Sub
適用対象
説明
レコードセットのカレント・レコードを判断します。設計時には使用できません。実行時は読取り/書込みができます。
使用方法
row_bookmark = oradynaset.Bookmark oradynaset.Bookmark = row_bookmark
データ型
値はバイナリ・データの文字列ですが、String
またはVariant
データ型の変数に格納できます。文字列の長さは予測できないため、固定長の文字列は使用しないでください。
備考
使用方法の最初の書式では、現在の行のBookmark
プロパティを戻します。2番目の書式では、ダイナセット内の特定のレコードを参照するように、Bookmark
プロパティの位置を移動します。
Bookmark
オブジェクトは、ダイナセットが有効な間のみ存在し、特定のダイナセットに限定されます。これらのオブジェクトを複数のダイナセットで共有することはできません。ただし、ダイナセットとそのクローン間ではBookmark
オブジェクトを交換できます。
Bookmark
オブジェクトを使用する前に、そのダイナセットのBookMarkable
プロパティをチェックして、ダイナセットがブックマークをサポートしていることを確認してください。
例
この例では、Bookmark
プロパティを使用して、以前の既知レコードに迅速に戻る方法を示します。このコードをコピーして、フォームの定義セクションに貼り付けてください。次に[F5]を押します。
Sub Form_Load () 'Declare variables as OLE Objects. Dim OraClient As OraClient Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset As OraDynaset Dim Bookmark2 As String 'Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Get the client object. Set OraClient = OraSession.Client 'Create the OraDatabase Object by opening a connection to Oracle. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'Create the OraDynaset Object. Set OraDynaset = OraDatabase.CreateDynaset("select * from emp", 0&) 'Move to the second record and display empno. OraDynaset.MoveNext MsgBox "Second Record, Employee #" & OraDynaset.Fields("EMPNO").value Bookmark2 = OraDynaset.Bookmark 'Move to the last record and display empno. OraDynaset.MoveLast MsgBox "Last Record, Employee #" & OraDynaset.Fields("EMPNO").value 'Move back to the second record using the bookmark. OraDynaset.Bookmark = Bookmark2 MsgBox "Second Record, Employee #" & OraDynaset.Fields("EMPNO").value End Sub
適用対象
説明
指定したダイナセットがBookmark
オブジェクトをサポートするかどうかを示します。設計時には使用できません。実行時は読取り専用です。
使用方法
if_bookmarkable = oradynaset.Bookmarkable
データ型
Integer
(ブール)
備考
指定したダイナセットの作成時に非キャッシュ・モードが設定されていないかぎり、このプロパティはTRUE
を戻します。非キャッシュ・モードが設定されている場合はFALSE
を戻します。
適用対象
説明
キャッシュの最大ブロック数を取得または設定します。
使用方法
set blocks = oradynaset.CacheBlocks oradynaset.CacheBlocks = blocks
データ型
Integer
適用対象
説明
キャッシュ・パラメータまたはフェッチ・パラメータが変更されている場合はTRUE
になります。
使用方法
set Changed = oradynaset.CacheChanged
データ型
ブール
適用対象
説明
クライアント側のオブジェクト・キャッシュの最大サイズ(最高水位標)を、最適サイズに対するパーセントで設定します。 デフォルト値は10%です。
使用方法
Oradatabase.CacheMaximumSize maxsize
データ型
Long
備考
キャッシュ内で現在オブジェクトが占有するメモリーが最高水位標(最大オブジェクト・キャッシュ・サイズ)を超えた場合、キャッシュは、マークされていないオブジェクト(確保カウントが0(ゼロ)のオブジェクト)を自動的に解放し始めます。キャッシュ内のメモリー使用が最適サイズになるまで、または解放できるオブジェクトがなくなるまで、このようなオブジェクトの解放が続きます。
適用対象
説明
クライアント側のオブジェクト・キャッシュの最適サイズをバイト単位で設定します。デフォルト値は200
KBです。
使用方法
Oradatabase.CacheOptimalSize optimalsize
データ型
Long
備考
このパラメータは、クライアント側のオブジェクト・キャッシュ・サイズを増加します。キャッシュ内で現在オブジェクトが占有するメモリーが最高水位標(最大オブジェクト・キャッシュ・サイズ)を超えた場合、キャッシュは、マークされていないオブジェクト(確保カウントが0(ゼロ)のオブジェクト)を自動的に解放し始めます。キャッシュ内のメモリー使用が最適サイズになるまで、または解放できるオブジェクトがなくなるまで、このようなオブジェクトの解放が続きます。オブジェクト・キャッシュがOracle Database 10gから取り出したすべてのオブジェクト・インスタンスを格納できるように、このパラメータを適切な値に設定する必要があります。このプロパティは、Oracle Database 10gオブジェクト・インスタンスのアクセス用にパフォーマンスを調整する場合に便利です。
適用対象
説明
キャッシュ・スライス・サイズを取得または設定します。
使用方法
set Slicesize = oradynaset.CacheSliceSize oradynaset.CacheSliceSize = Slicesize
データ型
Integer
適用対象
説明
ブロック当たりのキャッシュ・スライスを取得または設定します。
使用方法
set Perblock = oradynaset.CacheSlicePerBlock oradynaset.CacheSlicePerBlock = Perblock
データ型
Integer
適用対象
説明
指定したセッションに関連付けられているOraClient
オブジェクトを戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
Set oraclient = orasession.Client
データ型
OLEオブジェクト(OraClient
)
備考
各コンピュータは1つのクライアント・オブジェクトのみを保有しているため、このプロパティは同一コンピュータ上のすべてのセッションに対して同じオブジェクトを戻します。
適用対象
説明
接続に関連付けられている接続文字列のユーザー名を戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
connect_string = oraconnection.Connect connect_string = oradatabase.Connect
データ型
String
備考
OraConnection.Connect
接続に関連付けられている接続文字列のユーザー名を戻します。
OraDatabase.Connect
指定したデータベースに関連付けられている接続文字列のユーザー名を戻します。これは、OraDatabase.Connection.Connect
を参照することと同じです。
ユーザー名に関連付けられているパスワードが戻ることはありません。
例
この例では、Connect
およびDatabaseName
プロパティを使用して、接続しているユーザー名とデータベース名を表示する方法を示します。このコードをコピーして、フォームの定義セクションに貼り付けてください。次に[F5]を押します。
Sub Form_Load () 'Declare variables Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset As OraDynaset 'Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Create the OraDatabase Object by opening a connection to Oracle. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'Display the username and database to which we are connected. MsgBox "Connected to " & OraDatabase.Connect & "@" & OraDatabase.DatabaseName End Sub
適用対象
説明
指定したデータベース、ダイナセットまたはOraSQLStmt
オブジェクトに関連付けられているOraConnection
オブジェクトを戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
Set oraconnection = oradatabase.Connection Set oraconnection = oradynaset.Connection Set oraconnection = orasqlstmt.Connection
データ型
OLEオブジェクト(OraConnection
)
備考
OraDatabase.Connection
指定したデータベースに関連付けられている接続オブジェクトを戻します。各データベースは1つの接続オブジェクトに関連付けられていますが、複数のデータベースで同じ接続オブジェクトを共有できます。
OraDynaset.Connection
このダイナセットに関連付けられている接続オブジェクトを戻します。これは、oradynaset.Database.Connection
を参照することと同じです。
OraSQLStmt.Connection
このOraSQLStmt
オブジェクトに関連付けられている接続オブジェクトを戻します。これは、orasqlstmt.Database.Connection
を参照することと同じです。
適用対象
説明
OraConnection
オブジェクトに関連付けられているデータベース接続の状態を示すブール値を戻します。TRUE
が戻る場合は、指定したデータベースに関連付けられている接続オブジェクトの接続が有効であることを示します。接続が切断されている場合、このプロパティはFALSE
を戻します。
設計時には使用できません。実行時は読取り専用です。
使用方法
ConnectionStat = OraDatabase.ConnectionOK ConnectionStat = OraDatabase.Connection.ConnectionOK
データ型
ブール
備考
OraDatabase.ConnectionOK
指定したデータベースに関連付けられている接続オブジェクトの状態を戻します。各データベースは1つの接続オブジェクトに関連付けられていますが、複数のデータベースで同じ接続オブジェクトを共有できます。
OraConnection.ConnectionOK
データベースへの基礎となる接続の状態を戻します。これは、OraDatabase.OraConnection.ConnectionOK
を参照することと同じです。
適用対象
説明
指定したセッションのOraConnections
コレクションを戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
Set oraconnections_collection = orasession.Connections
データ型
OLEオブジェクト(OraParameters
)
備考
このコレクション内の接続には、添字(順序を示す整数)を使用することでアクセスできます。戻されたコレクションのCount
プロパティを使用すると、コレクション内の接続数を取得できます。整数の添字は0
で開始し、Count
- 1
で終了します。範囲外の索引値と無効な名前を指定すると、NULL
のOraConnection
オブジェクトが戻ります。
適用対象
説明
デキュー操作にのみ適用できます。
使用方法
Q.Consumer = consumer_name
データ型
String
備考
値は、コンシューマの名前を表す文字列です。コンシューマ名と一致するメッセージにのみ、アクセスします。
例
Dim DB As OraDatabase Dim Q as OraAQ set Q = DB.CreateAQ("Q_MSG_MULTIPLE") 'Dequeue only message meant for ANDY Q.consumer = "ANDY" 'other processing... Q.Dequeue
適用対象
説明
メッセージのデキュー時に検索する識別子を指定します。
使用方法
Q.Correlate = "RELATIVE_MESSAGE_ID"
データ型
String
備考
デキュー操作にのみ適用できます。
適用対象
説明
メッセージの識別子を指定します。特定のメッセージをデキューする手段として使用できます。
使用方法
Msg.Correlation = my_message
データ型
String
備考
エンキューしているメッセージに対してのみ適用できます。128バイトまでの文字列を戻します。
この識別子を使用してデキューする方法は、Correlateを参照してください。
適用対象
説明
指定したコレクション内のオブジェクトの数を戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
connection_count = oraconnections.Count field_count = orafields.Count parameter_count = oraparameters.Count session_count = orasessions.Count subscriptions_count = OraSubscriptions.Count
データ型
Integer
備考
このプロパティを使用して、指定したコレクションのオブジェクト数を判断します。
例
この例では、Count
プロパティを使用して、OraSessions
、OraConnections
およびOraFields
コレクションにあるオブジェクト数を表示する方法を示します。このコードをコピーして、フォームの定義セクションに貼り付けてください。次に[F5]を押します。
Sub Form_Load () 'Declare variables as OLE Objects. Dim OraClient As OraClient Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset As OraDynaset 'Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Get the client object. Set OraClient = OraSession.Client 'Create the OraDatabase Object by opening a connection to Oracle. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'Create the OraDynaset Object. Set OraDynaset = OraDatabase.CreateDynaset("select * from emp", 0&) MsgBox "You have " & OraClient.Sessions.Count & " OraSession Object(s)." MsgBox "You have " & OraSession.Connections.Count & " OraConnection Object(s)." MsgBox "You have " & OraDynaset.Fields.Count & " OraField Object(s)." End Sub
適用対象
説明
このコレクションに含まれているOraMDAttribute
オブジェクトの数を表す整数を戻します。
使用方法
count = OraMetaData.Count
データ型
Integer
適用対象
説明
コレクション内のOraAttribute
オブジェクトの数を戻します。これは、OraRef
の基礎となる参照可能オブジェクトまたはOraObject
の基礎となる値インスタンスの属性の総数と同じです。実行時は読取り専用です。
使用方法
attrcount = OraRef.Count attrcount = OraObject.Count
データ型
Integer
備考
添字または属性名を使用すると、個々の属性にアクセスできます。OraObject
またはOraRef
属性の索引は1
から開始します。
例
次の例では、Count
プロパティの使用方法を示します。サンプル・コードを実行する前に、必要なデータ型と表がデータベース内にあることを確認してください。「OraObjectおよびOraRefの例で使用されているスキーマ・オブジェクト」を参照してください。
Dim OraSession as OraSession Dim OraDatabase as OraDatabase Dim OraDynaset as OraDynaset Dim Address as OraObject 'Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Create the OraDatabase Object by opening a connection to Oracle. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'create a dynaset object from person_tab set OraDynaset = OraDatabase.CreateDynaset("select * from person_tab",0&) 'retrieve a address column from person_tab. 'Here Value property of OraField object returns Address OraObject set Address = OraDynaset.Fields("Addr").Value 'access the attribute by dot notation msgbox Address.Street 'access the attribute using '!' notation ( early binding application) msgbox Address!Street 'access the attribute by index msgbox Address(1) 'access the attribute by name msgbox Address("Street") 'access all the attributes of Address OraObject in the dynaset Do Until OraDynaset.EOF For index = 1 To Address.Count msgbox Address(index) Next Index OraDynaset.MoveNext Loop
適用対象
説明
指定したダイナセットまたはSQLオブジェクトに関連付けられているOraDatabase
オブジェクトを戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
Set oradatabase = oradynaset.Database Set oradatabase = orasqlstmt.Database
データ型
OLEオブジェクト(OraDatabase
)
備考
OraDynaset.Database
プロパティは、指定したダイナセットが作成される基礎となったOraDatabase
オブジェクトを戻します。
OraSQLStmt.Database
プロパティは、指定したSQLStmt
オブジェクトが作成される基礎となったOraDatabase
オブジェクトを戻します。
適用対象
説明
指定したオブジェクトに関連付けられているデータベースの名前を戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
database_name = oraconnection.DatabaseName database_name = oradatabase.DatabaseName
データ型
String
備考
oraconnection.DatabaseName
OpenDatabase
メソッドで指定されたとおりのデータベース名を戻します。
oradatabase.DatabaseName
接続に関連付けられているデータベース名を戻します。これは、oradatabase.Connection.DatabaseName
を参照することと同じです。
例
この例では、Connect
およびDatabaseName
プロパティを使用して、接続したユーザー名とデータベースを表示する方法を示します。このコードをコピーして、フォームの定義セクションに貼り付けてください。次に[F5]を押します。
Sub Form_Load () 'Declare variables Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset As OraDynaset 'Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Create the OraDatabase Object by opening a connection to Oracle. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'Display the username and database to which you have connected. MsgBox "Connected to " & OraDatabase.Connect & "@" & OraDatabase.DatabaseName End Sub
適用対象
説明
このオブジェクトを使用して確立された全ユーザー・セッションを含むコレクション・インタフェースを戻します。
使用方法
Set myCollection = oraserver.Databases
データ型
OLEオブジェクト(OraCollection
)
適用対象
説明
OraTimeStamp
オブジェクトのDay
属性を取得および設定します。
使用方法
day= OraTimeStampObj.Day OraTimeStampObj.Day= day
引数
引数 | 説明 |
---|---|
[in ] day |
OraTimeStamp オブジェクトのDay 属性。 |
データ型
Integer
適用対象
説明
OraTimeStampTZ
オブジェクトのDay
属性を取得または設定します。
使用方法
day= OraTimeStampTZObj.Day OraTimeStampTZObj.Day= day
引数
引数 | 説明 |
---|---|
[in ] day |
OraTimeStampTZ オブジェクトのDay 属性。 |
データ型
Integer
適用対象
説明
OraIntervalDS
オブジェクトのDays
属性を取得および設定します。
使用方法
days = OraIntervalDSObj.Days OraIntervalDSObj.Days = days
引数
引数 | 説明 |
---|---|
[in ] days |
OraIntervalDS オブジェクトのDays 属性の値を指定するための整数。
|
データ型
Integer
適用対象
説明
プール内で現在アクティブなデータベース・オブジェクトの数が入ります。これは読取り専用のプロパティです。
使用方法
curr_size = OraSession.DbPoolCurrentSize
データ型
Integer
備考
プール内のアクティブなデータベース・オブジェクトには、データベースへの有効な接続も含まれます。
適用対象
説明
プールの初期サイズが入ります。これは読取り専用のプロパティです。
使用方法
init_size = OraSession.DbPoolInitialSize
データ型
Integer
適用対象
説明
最大プール・サイズが入ります。これは読取り専用のプロパティです。
使用方法
max_size = OraSession.DbPoolMaxSize
データ型
Integer
適用対象
説明
エンキューされたメッセージを遅延させる秒数を指定します。メッセージの即時使用を遅延するには、このプロパティを設定します。
使用方法
Msg.Delay = seconds
データ型
Integer
備考
エンキューされているメッセージに対してのみ適用できます。
このプロパティは、メッセージをデキュー可能になった時点から遅延させる秒数を示します。
次の値を指定できます。
有効な正の整数
ORAAQ_MSG_NO_DELAY
デフォルトは0秒です。メッセージはただちに使用可能になります。
適用対象
説明
デキュー操作に関連するロック動作を指定します。
使用方法
Q.DequeueMode = locking_mode
データ型
Integer
備考
次の値を指定できます。
ORAAQ_DQ_BROWSE
(1
)
デキュー時にメッセージをロックしません。
ORAAQ_DQ_LOCKED
(2
)
メッセージを読み込み、そのメッセージの書込みロックを取得します。
ORAAQ_DQ_REMOVE
(3
)(デフォルト)
メッセージを読み込み、そのメッセージを更新または削除します。
適用対象
説明
デキューされるメッセージの識別子を表すRAWバイトの配列を戻します。
使用方法
Q.DequeueMsgid = msg_id
データ型
String
備考
デキュー操作にのみ適用できます。
適用対象
説明
ディレクトリの別名を取得または設定します。
使用方法
diralias = OraBFile.DirectoryName OraBFile.DirectoryName = diralias
引数
引数 | 説明 |
---|---|
[in ] [out ] diralias |
取得または設定するディレクトリ名を指定する文字列。
|
データ型
String
備考
この文字列は、大/小文字が区別されます。
適用対象
説明
PL/SQLカーソルから作成したダイナセットのオプションを指定します。
使用方法
oraparameter.DynasetOption = dyn_opts
備考
このプロパティは、カーソル変数を含むPL/SQLプロシージャの実行前にコールする必要があります。 デフォルトでは、ダイナセットはORADYN_READONLY
オプションで作成されます。
設定できる値は、次のとおりです。
設定可能な値 | 値 | 説明 |
---|---|---|
ORADYN_DEFAULT |
&H0& |
デフォルトの動作を受け入れます。 |
ORADYN_NO_BLANKSTRIP |
&H2& |
データベースから取り出された文字列データから、後続するブランクを削除しません。 |
ORADYN_NOCACHE |
&H8& |
ダイナセット用のローカル・データ・キャッシュを作成しません。ローカル・キャッシュがない場合は、ダイナセットの以前の行は使用できません。ただし、データベースからのデータの取出し(移動操作)と行からのデータの取出し(フィールド操作)のパフォーマンスは向上します。ダイナセットの行を順に取り出すアプリケーションでは、パフォーマンスを向上し、リソースの使用を減らすため、このオプションを使用します。 |
ORADYN_NO_MOVEFIRST |
&H40& |
ダイナセットの作成時にMoveFirst 操作を強制的に実行しません。BOF とEOF は両方ともTRUE です。 |
適用対象
説明
現在の行の編集状態を戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
edit_mode = oradynaset.EditMode
データ型
Integer
備考
EditMode
プロパティの値は、次のとおりです。
定数 | 値 | 説明 |
---|---|---|
ORADATA_EDITNONE |
0 |
編集中ではありません。 |
ORADATA_EDITMODE |
1 |
既存の行を編集しています。 |
ORADATA_EDITADD |
2 |
新しいレコードが追加され、現在、コピー・バッファはデータベースの実際の行を反映していません。 |
これらの値はORACLE_BASE\ORACLE_HOME
\oo4o\oraconst.txt
ファイルにあり、Visual Basicのconstant.txt
ファイルの同じ定数に対応するように作成されています。
このプロパティに影響を与えるメソッドは、Edit
、AddNew
およびUpdate
のみです。
適用対象
説明
PIN操作でオブジェクトをロックするかどうかを指定します。
使用方法
edit_option = OraRef.EditOption OraRef.EditOption = edit_option
引数
引数 | 説明 |
---|---|
[in ] [out ] edit_option |
編集オプションを表す整数 。 |
データ型
Integer
備考
このプロパティは、Ref
値のPIN操作を行う前、つまり、OraRef
オブジェクトで属性に初めてアクセスする前にコールしてください。PIN操作の直後にオブジェクトの属性が変更された場合は、このオプションが有効です。PIN操作でオブジェクト・インスタンスをロックすることで、Edit
(OraRef
)操作全体のデータベースへのラウンドトリップが抑制されます。
edit_option
に指定できる値は、次のとおりです。
定数 | 値 | 説明 |
---|---|---|
ORAREF_NO_LOCK |
1 |
データベースのオブジェクトをロックしません(デフォルト)。 |
ORAREF_EXCLUSIVE_LOCK |
2 |
データベースのオブジェクトを排他ロックします。 |
ORAREF_NOWAIT_LOCK |
3 |
待機なしオプションで、データベースのオブジェクトを排他ロックします。 |
例
次の例では、EditOption
プロパティの使用方法を示します。サンプル・コードを実行する前に、必要なデータ型と表がデータベース内にあることを確認してください。「OraObjectおよびOraRefの例で使用されているスキーマ・オブジェクト」を参照してください。
Dim OraSession as OraSession Dim OraDatabase as OraDatabase Dim OraDynaset as OraDynaset Dim Person as OraRef 'Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Create the OraDatabase Object by opening a connection to Oracle. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'create a dynaset object from customers set OraDynaset = OraDatabase.CreateDynaset("select * from customers", 0&) 'retrieve a aperson column from customers. Here Value property of OraField object 'returns Person OraRef set Person = OraDynaset.Fields("aperson").Value 'set the ORAREF_EXCLUSIVE_LOCK EditOption on the Person object. Person.EditOption = ORAREF_EXCLUSIVE_LOCK 'pin the Person Ref. This operation also locks the underlying 'referenceable 'object in the server MsgBox Person.Name 'call Edit method on Person OraRef. 'This method does not make any network round-trip Person.Edit Person.Name = "Eric" Person.Age = 35 Person.Update
適用対象
説明
要素のサーバー型を表す整数のコードを戻します。このプロパティは、実行時は読取り専用です。
使用方法
elem_type = OraCollection.ElementType
データ型
Integer
備考
コードは、Oracleの外部データ型に対応しています。次に示すOracleの外部データ型がサポートされています。
定数 | 値 | 外部データ型 |
---|---|---|
ORATYPE_VARCHAR2 |
1 |
VARCHAR2 |
ORATYPE_NUMBER |
2 |
NUMBER |
ORATYPE_SINT |
3 |
SIGNED INTEGER |
ORATYPE_FLOAT |
4 |
FLOAT |
ORATYPE_VARCHAR |
9 |
VARCHAR |
ORATYPE_DATE |
12 |
DATE |
ORATYPE_UINT |
68 |
UNSIGNED INTEGER |
ORATYPE_CHAR |
96 |
CHAR |
ORATYPE_CHARZ |
97 |
NULL文字で終了するCHAR |
ORATYPE_BFLOAT |
100 |
BINARY_FLOAT |
ORATYPE_BDOUBLE |
101 |
BINARY_DOUBLE |
ORATYPE_OBJECT |
108 |
Object |
ORATYPE_REF |
110 |
Ref |
適用対象
説明
コレクション・イテレータがコレクションの最後の要素の後に移動した場合はTRUE
を戻します。
使用方法
eoc_flag = OraCollection.EOC
データ型
ブール
例
「例: OraCollectionイテレータ」を参照してください。
適用対象
説明
ダイナセットのカレント・レコードが最後のレコードの後にあるかどうかを示します。設計時には使用できません。実行時は読取り専用です。
使用方法
eof_status = oradynaset.EOF
データ型
Integer
(ブール)
備考
MoveNext
メソッドを使用してダイナセットの最後のレコードより後に移動しようとした場合はTRUE
を戻します。それ以外の場合はFALSE
を戻します。
レコードセットが空の場合、BOF
とEOF
は両方ともTRUE
を戻します。
例
この例では、BOF
およびEOF
プロパティを使用して、レコードセットの範囲を検出する方法を示します。このコードをコピーして、フォームの定義セクションに貼り付けてください。次に[F5]を押します。
Sub Form_Load () 'Declare variables Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset As OraDynaset 'Create the OraSession Object Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Create the OraDatabase Object by opening a connection to Oracle Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'Create the OraDynaset Object Set OraDynaset = OraDatabase.CreateDynaset("select empno, ename from emp", 0&) 'Traverse until EOF is reached Do Until OraDynaset.EOF OraDynaset.MoveNext Loop MsgBox "Reached EOF" 'When EOF is True there is no current record. The current recordset ' position is now AFTER the last record OraDynaset.MoveLast Do Until OraDynaset.BOF OraDynaset.MovePrevious Loop MsgBox "Reached BOF" 'When BOF is True there is no current record. The current recordset 'position is now BEFORE AFTER the last record. OraDynaset.MoveFirst 'The recordset is now positioned at the first record. End Sub
適用対象
説明
正常に実行できない場合に移動するメッセージのキュー名を指定します。
使用方法
Msg.ExceptionQueue queue_name
データ型
String
備考
エンキューしているメッセージに対してのみ適用できます。
次の値を指定できます。
有効なキューの名前を含む文字列
NULL
(デフォルト)
デキューしようとした数がすべて終了している場合、またはデキューしようとした数がDBMS_AQADM.CREATE_QUEUE
コマンドに指定されたmax_retriesを超えた場合、メッセージは例外キューに移動します。
適用対象
説明
OraBFILE
がデータベースにあるBFILE
を指す場合はTRUE
を戻します。
使用方法
exists = OraBFile.Exists
データ型
ブール
備考
このプロパティを使用するには、BFILE
が存在するディレクトリに対する読込み権限が必要です。ユーザーがディレクトリを確実に読込み可能であるためには、そのディレクトリに対してオペレーティング・システム固有の許可が必要です。
事前に適切な権限がデータベースに設定されている必要があります。たとえば、Exists
プロパティを介してユーザー(scott
)がディレクトリ(BfileDirectory
)を読み込むには、次のSQL文を実行する必要があります。
GRANT READ ON DIRECTORY BfileDirectory TO scott;
適用対象
説明
メッセージがデキュー可能になる時間を秒数で指定します。
使用方法
Msg.Expiration = seconds
データ型
Integer
備考
このプロパティは遅延からのオフセットです。エンキューしているメッセージに対してのみ適用できます。
次の値を指定できます。
整数
ORAAQ_MSG_NO_XPIRE
(0)
デフォルトは0
で、メッセージは期限切れになりません。
適用対象
説明
フェッチの配列サイズを取得または設定します。
使用方法
set Limit = oradynaset.FetchLimit oradynaset.FetchLimit = Limit
データ型
Integer
適用対象
説明
フェッチの配列バッファ・サイズを取得または設定します。
使用方法
set Size = oradynaset.FetchSize oradynaset.FetchSize = Size
データ型
Integer
適用対象
説明
field_name
引数が指しているフィールドの索引を戻します。
使用方法
set index = oradynaset.FieldIndex(field_name)
引数
引数 | 説明 |
---|---|
[in ] field_name |
ダイナセットが最近使用したSQL文に出現したフィールド名。 |
データ型
Integer
備考
ダイナセットのフィールドは、名前でアクセスするよりも索引を使用してアクセスしたほうが効率的です。特定のフィールドに複数回アクセスする必要がある場合は、このメソッドを使用して名前を索引に変換します。
適用対象
説明
ダイナセット内のSELECT
文で使用されるフィールド名を戻します。
使用方法
set field_name = oradynaset.FieldName(index)
引数
引数 | 説明 |
---|---|
[in ] index |
SQL文で使用されるとおりのフィールド名の索引。 |
データ型
String
適用対象
説明
ダイナセット内のSELECT
文で使用された元のフィールド名を取得します。
使用方法
set field_name = oradynaset.FieldOriginalName(index)
引数
引数 | 説明 |
---|---|
[in ] index |
SQL文で使用されたとおりの元のフィールド名のフィールド索引を指定するための整数。
|
データ型
String
備考
FieldOriginalName
プロパティは、ダイナセット作成時にSQL文に指定した元の列名を含む文字列を戻します。SQL文に、SCHEMA.TABLE.COL
のフィールド名が含まれている場合に便利です。これにより、重複した列名を参照できるようになります。列の重複を避けるには、SQL文に別名を指定する方法もあります。
適用対象
説明
SQL SELECT
文で使用された元のフィールド名が指しているフィールドの索引を戻します。
使用方法
set index = oradynaset.FieldOriginalNameIndex(name)
引数
引数 | 説明 |
---|---|
[in ] name |
SQL文で使用されたとおりの元のフィールド名。 |
データ型
Integer
備考
ダイナセットのフィールドは、名前でアクセスするよりも索引でアクセスしたほうが効率的です。特定のフィールドに複数回アクセスする必要がある場合は、このメソッドを使用して元の名前を索引に変換します。
適用対象
説明
現在の行に対するフィールドのコレクションを戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
Set orafields_collection = oradynaset.Fields
データ型
OLEオブジェクト(OraFields
)
備考
このコレクションのフィールドには、添字(順序を示す整数)を使用して、またはフィールド(列)名を示す文字列を使用することでアクセスできます。戻されたコレクションのCount
プロパティを使用すると、フィールドの数を取得できます。コレクションの範囲(0
〜Count
- 1
)外の添字を指定すると、NULL
のOraField
オブジェクトが戻ります。
適用対象
説明
ファイル名を取得または設定します。実行時は読取り/書込みができます。
使用方法
filename = OraBFile.FileName OraBFile.FileName = filename
引数
引数 | 説明 |
---|---|
[in ] [out ] filename |
取得または設定するディレクトリ名を指定する文字列。
|
データ型
String
備考
データベースのオペレーティング・システムによっては、この文字列は大/小文字が区別される場合があります。
適用対象
説明
OraNumber
操作で使用する書式文字列を戻します。 書式文字列の詳細は、『Oracle Database SQLクイック・リファレンス』を参照してください。実行時は読取り/書込みができます。
使用方法
OraNumber.Format = formatstring formatstring = OraNumber.Format
引数
引数 | 説明 |
---|---|
[in ] formatstring |
OraNumber 操作に使用する書式文字列。 |
データ型
String
備考
書式文字列に無効な値を設定すると、エラーが戻ります。書式をデフォルトにリセットするには、空の文字列を設定します。
適用対象
説明
OraTimeStamp
オブジェクトを文字列として表示するために使用するTIMESTAMP
書式を取得または設定します。
使用方法
format = OraTimeStampObj.Format OraTimeStampObj.Format = format
引数
引数 | 説明 |
---|---|
[in ] format |
OraTimeStamp オブジェクトを文字列として表示するために使用する書式。 |
データ型
String
備考
Format
プロパティがNULL
の場合は、OraTimeStamp
オブジェクトを文字列として表示する際に、セッションのTIMESTAMP
書式が使用されます。
適用対象
説明
OraTimeStampTZ
オブジェクトを文字列として表示するために使用するTIMESTAMP
WITH
TIME
ZONE
書式を取得または設定します。
使用方法
format = OraTimeStampTZObj.Format OraTimeStampTZObj.Format = format
引数
引数 | 説明 |
---|---|
[in ] format |
OraTimeStampTZ オブジェクトを文字列として表示するために使用する書式。 |
データ型
String
備考
Format
プロパティがNULL
の場合は、OraTimeStampTZ
オブジェクトを文字列として表示する際に、セッションのTIMESTAMP
WITH
TIME
ZONE
書式が使用されます。
適用対象
説明
REF
の16進値を戻します。
使用方法
hexstring = OraRef.HexValue
備考
REF
の16進値は、OraDatabase.FetchOraRef
メソッドで使用されます。
適用対象
説明
OraTimeStamp
オブジェクトのHour
属性を取得または設定します。
使用方法
hour = OraTimeStampObj.Hour OraTimeStampObj.Hour = hour
引数
引数 | 説明 |
---|---|
[in ] hour |
OraTimeStamp オブジェクトのHour 属性。 |
データ型
Integer
適用対象
説明
OraTimeStampTZ
オブジェクトのHour
属性を取得または設定します。
使用方法
hour = OraTimeStampTZObj.Hour OraTimeStampTZObj.Hour = hour
引数
引数 | 説明 |
---|---|
[in ] hour |
OraTimeStampTZ オブジェクトのHour 属性。 |
データ型
Integer
適用対象
説明
OraIntervalDS
オブジェクトのHours
属性を取得および設定します。
使用方法
hours = OraIntervalDSObj.Hours OraIntervalDSObj.Hours = hours
引数
引数 | 説明 |
---|---|
[in ] hours |
OraIntervalDS オブジェクトのHours 属性の値を指定するための整数。
|
データ型
Integer
適用対象
説明
OraCollection
オブジェクトのコレクション・インスタンスがロケータ・ベースの場合はTRUE
を戻します。それ以外の場合はFALSE
を戻します。
使用方法
islocator = OraCollection.IsLocator
データ型
Integer
(ブール)
適用対象
説明
Value
プロパティが別のOraMetaData
オブジェクトの場合はTRUE
を戻します。それ以外の場合はFALSE
を戻します。
使用方法
isobject = OraMDAttribute.IsMDObject
データ型
ブール
適用対象
説明
OraCollection
オブジェクトのコレクション値がNULL
の場合はTRUE
を戻します。
使用方法
isnull = OraObject.IsNull
データ型
Integer
(ブール)
備考
NULL
のコレクション要素にアクセスすると、エラーになります。基礎となるコレクションの要素にアクセスする前に、IsNull
プロパティをチェックしてください。
適用対象
説明
データベース内のLOBまたはBFILE
がNULL
値を参照するとTRUE
、それ以外の場合はFALSE
を戻します。このプロパティは読取り専用です。
使用方法
IsNull = OraBfile.IsNull IsNull = OraBlob.IsNull IsNull = OraClob.IsNull
データ型
ブール
備考
LOBまたはBFILE
の一部のプロパティとメソッドは、LOBまたはBFILE
がNULL
の場合は無効です。このプロパティを使用して、NULL
値かどうかを検証してエラーを回避します。
適用対象
説明
OraObject
オブジェクトの基礎となる値インスタンスがNULL
の場合はTRUE
を戻します。実行時は読取り専用です。
使用方法
isnull = OraObject.IsNull
データ型
Integer
(ブール)
備考
値インスタンスがNULL
の属性にアクセスすると、エラーになります。基礎となる値インスタンスの属性にアクセスする前に、IsNull
プロパティをチェックできます。
例
次の例では、IsNull
プロパティの使用方法を示します。サンプル・コードを実行する前に、必要なデータ型と表がデータベース内にあることを確認してください。「OraObjectおよびOraRefの例で使用されているスキーマ・オブジェクト」を参照してください。
Dim OraSession as OraSession Dim OraDatabase as OraDatabase Dim OraDynaset as OraDynaset Dim Address as OraObject Dim AddressClone as OraObject 'Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Create the OraDatabase Object by opening a connection to Oracle. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'create a dynaset object from person_tab set OraDynaset = OraDatabase.CreateDynaset("select * from person_tab", 0&) ' insert a Null Address value instance in the table OraDynaset.AddNew OraDynaset.Fields("Name").value = "Eric" OraDynaset.Fields("Addr").Value = Null OraDynaset.update 'move to the newly added value instance OraDynaset.MoveLast 'retrieve a address column from person_tab. This Address object points to Null ' value instance set Address = OraDynaset.Fields("Addr").Value 'try to access attributes of Address. the following line will result an error msgbox Address.Street '---------ERROR------------' 'use the IsNull property to check the nullstatus If Address.IsNull = False Then MsgBox Address!Street End if
適用対象
説明
OraBFILE
オブジェクトがオープンしている場合はTRUE
を戻します。
使用方法
IsOpen = OraBFile.IsOpen
データ型
ブール
備考
OraBFILE
オブジェクトがオープンしているかどうかは、そのOraBFILE
オブジェクトに限定されます。データベース内の同じBFILE
を指す2つのOraBFILE
オブジェクトがあり、一方のOraBFILE
オブジェクトはOpen
メソッドをコールしていて他方はコールしていない場合、コールしたOraBFILE
オブジェクトのIsOpen
プロパティはTRUE
を戻します。他方はFALSE
を戻します。
適用対象
説明
OraRef
オブジェクトの基礎となるRef
値がNULL
の場合はTRUE
を戻します。
使用方法
isnull = OraRef.IsRefNull
データ型
Integer
(ブール)
備考
Ref
値がNULL
の属性にアクセスすると、エラーになります。基礎となる参照可能オブジェクトの属性にアクセスする前に、IsRefNull
プロパティをチェックしてください。このプロパティは、実行時は読取り専用です。
適用対象
説明
最後のエラー・メッセージを取得します。設計時には使用できません。実行時は読取り専用です。
使用方法
OraParamArray.LastErrorText
データ型
String
適用対象
説明
Edit
またはAddNew
操作で最後に変更された行のBookmark
オブジェクトを戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
last_modified_bookmark = oradynaset.LastModified
データ型
値はバイナリ・データの文字列ですが、String
またはVariant
データ型の変数に格納できます。文字列の長さは予測できないため、固定長の文字列は使用しないでください。
備考
このプロパティを使用して、最後に変更されたレコードをカレント・レコードにします。
適用対象
説明
指定したオブジェクトに対してOracleデータベース・ファンクションが生成した0(ゼロ)以外の最新のエラー・コードを戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
error_number = oradatabase.LastServerErr error_number = orasession.LastServerErr
データ型
Long Integer
備考
このプロパティは、Oracle Call Interface(OCI)データベース・ファンクションから最後に戻された0(ゼロ)以外の戻り値を示します。最後のLastServerErrReset
要求以降にエラーが発生していない場合は0(ゼロ)を示します。効率を上げるために、0(ゼロ)以外の戻り値のみを戻します。したがって、0(ゼロ)以外の値が戻されても、そのエラー生成が、一番最後にコールされたOCIデータベース・ファンクションによるものとはかぎりません(LastServerErr
メソッドでは0(ゼロ)の値は戻しません)。
Orasession.LastServerErr
OpenDatabase
、BeginTrans
、CommitTrans
、Rollback
およびResetTrans
メソッドでのエラーなど、接続に関連するすべてのエラーを戻します。
Oradatabase.LastServerErr
ダイナセットやExecuteSQL
メソッドでのエラーなど、Oracleカーソルに関連するすべてのエラーを戻します。
例
この例では、LastServerErr
およびLastServerErrText
プロパティを使用して、CreateDynaset
メソッドの使用時にOracleエラーが発生したかどうかを判断し、各エラー・メッセージを表示する方法を示します。このコードをコピーして、フォームの定義セクションに貼り付けてください。次に[F5]を押します。
Sub Form_Load () 'Declare variables as OLE Objects. Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset As OraDynaset 'Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Set up an error handler. On Error GoTo errhandler 'Create the OraDatabase Object by opening a connection to Oracle. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'Attempt to Create the OraDynaset Object. 'Notice that the FROM keyword is missing from the SQL statement. Set OraDynaset = OraDatabase.CreateDynaset("select * emp", 0&) Exit Sub errhandler: 'Check to see if an Oracle error has occurred. If OraDatabase.LastServerErr <> 0 Then MsgBox OraDatabase.LastServerErrText Else 'Must be some non-Oracle error MsgBox "VB:" & Err & " " & Error(Err) End If Exit Sub End Sub
適用対象
説明
SQL文で解析エラーが発生した位置を戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
error_pos = oradatabase.LastServerErrPos
データ型
Integer
備考
LastServerErrPos
プロパティは、SQL文が解析されていない場合は0
、最後の解析が正常に終了した場合は-1
、最後の解析が失敗した場合は0
以上を戻します。実行(CreateDynaset
またはExecuteSQL
メソッドを使用)する前にSQL文が解析されます。
適用対象
説明
指定したオブジェクトの現行のLastServerErr
プロパティに関連付けられているテキスト・メッセージを戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
error_text = orasession.LastServerErrText error_text = oradatabase.LastServerErrText
データ型
String
備考
戻り値は、次の3つの状態のいずれか1つを示します。
NULL
の場合は、Oracle Call Interface(OCI)データベース・ファンクションが、最新のLastServerErrReset
プロパティ以降エラーを戻していないことを示します。
NULL
以外の値は、OCIファンクションがエラー・コードを戻したことを示します。戻された文字列は関連メッセージです。
メッセージが空の場合は、追加情報がないことを示します。
例
この例では、LastServerErr
およびLastServerErrText
プロパティを使用して、CreateDynaset
メソッドの使用時にOracleエラーが発生したかどうかを判断し、エラー・メッセージを表示する方法を示します。このコードをコピーして、フォームの定義セクションに貼り付けてください。次に[F5]を押します。
Sub Form_Load () 'Declare variables as OLE Objects. Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset As OraDynaset 'Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Set up an error handler. On Error GoTo errhandler 'Create the OraDatabase Object by opening a connection to Oracle. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'Attempt to Create the OraDynaset Object. 'Notice that the FROM keyword is missing from the SQL statement. Set OraDynaset = OraDatabase.CreateDynaset("select * emp", 0&) Exit Sub errhandler: 'Check to see if an Oracle error has occurred. If OraDatabase.LastServerErr <> 0 Then MsgBox OraDatabase.LastServerErrText Else 'Must be some non-Oracle error. MsgBox "VB:" & Err & " " & Error(Err) End If Exit Sub End Sub
適用対象
説明
コレクションの最大サイズを戻します。
使用方法
max_size = OraCollection.MaxSize
データ型
Integer
備考
ORATYPE_TABLE
型のOraCollection
オブジェクトの場合、このプロパティは削除した要素を含んだコレクションの現在のサイズを戻します。 ORATYPE_VARRAY
型のOraCollection
オブジェクトの場合、このプロパティはコレクションの最大サイズを戻します。
適用対象
説明
OraParameter
またはOraParamArray
文字列バッファ、またはByteArray
(ORATYPE_RAW_BIN
の場合)の最小サイズを戻します。OraParamArray
オブジェクトの場合、MinimumSizeプロパティは実行時に読取り専用です。OraParameter
オブジェクトの場合、MinimumSizeプロパティは実行時に読取り/書込みができます。
使用方法
oraparameter.MinimumSize oraparamarray.MinimumSize
データ型
Integer
備考
このプロパティを使用して、配列の各要素に割り当てる最小文字数またはバイト数を取得します。OraParamArray
オブジェクトの場合、サイズはAddTable
メソッドを使用して指定されます。
例
注意: この例では、EmployeeLong
.GetEmpName
と呼ばれるPL/SQLプロシージャを実行する必要があります。このプロシージャは、列名ENAME_LONG
を備えた表を使用して、約200文字の長いename
を戻します。
Sub Form_Load () ' Declare variables as OLE Objects. Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset As OraDynaset ' Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") ' Create the OraDatabase Object. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) ' Add EMPNO as an Input/Output parameter and set its initial value. OraDatabase.Parameters.Add "EMPNO", 9999, ORAPARM_INPUT ' Add ENAME as an Output parameter and set its initial value. OraDatabase.Parameters.Add "ENAME_LONG", "foo", ORAPARM_OUTPUT OraDatabase.Parameters("ENAME_LONG").MinimumSize = 201 'Since we require to hold a value of more than 128 bytes ' Execute the Stored Procedure Employee.GetEmpName to retrieve ENAME_LONG. OraDatabase.ExecuteSQL ("Begin EmployeeLong.GetEmpName (:EMPNO," & _ "NAME_LONG); end;")
適用対象
説明
OraTimeStamp
オブジェクトのMinute
属性を取得または設定します。
使用方法
minute = OraTimeStampObj.Minute OraTimeStampObj.Minute = minute
引数
引数 | 説明 |
---|---|
[in ] minute |
OraTimeStamp オブジェクトのMinute 属性。 |
データ型
Integer
適用対象
説明
OraTimeStampTZ
オブジェクトのMinute
属性を取得または設定します。
使用方法
minute = OraTimeStampTZObj.Minute OraTimeStampTZObj.Minute = minute
引数
引数 | 説明 |
---|---|
[in ] minute |
OraTimeStampTZ オブジェクトのMinute 属性。 |
データ型
Integer
適用対象
説明
OraIntervalDS
オブジェクトのMinutes
属性を取得および設定します。
使用方法
minutes = OraIntervalDSObj.Minutes OraIntervalDSObj.Minutes = minutes
引数
引数 | 説明 |
---|---|
[in ] minutes |
OraIntervalDS オブジェクトのMinutes 属性の値を指定するための整数。
|
データ型
Integer
適用対象
説明
OraTimeStamp
オブジェクトのMonth
属性を取得または設定します。
使用方法
month
= OraTimeStampObj.Month OraTimeStampObj.Month =month
引数
引数 | 説明 |
---|---|
[in ] month |
OraTimeStamp オブジェクトのMonth 属性。 |
データ型
Integer
適用対象
説明
OraTimeStampTZ
オブジェクトのMonth
属性を取得または設定します。
使用方法
month = OraTimeStampTZObj.Month OraTimeStampTZObj.Month = month
引数
引数 | 説明 |
---|---|
[in ] month |
OraTimeStampTZ オブジェクトのMonth 属性。 |
データ型
Integer
適用対象
説明
OraIntervalYM
オブジェクトのMonths
属性を取得および設定します。
使用方法
months = OraIntervalYMObj.Months OraIntervalYMObj.Months = months
引数
引数 | 説明 |
---|---|
[in ] month |
OraIntervalYM オブジェクトのMonths 属性の値を指定するための整数。
|
データ型
Integer
適用対象
説明
指定したオブジェクトの識別に使用する名前を戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
client_name = oraclient.Name field_name = orafield.Name parameter_name = oraparameter.Name paramarray_name = oraparamarray.Name session_name = orasession.Name server_name = oraserver.Name subscription_name = orasubscription.Name
データ型
String
備考
oraclient.Name
指定したOraClient
オブジェクトの名前を戻します。この値は常にローカルです。
orafield.Name
指定したOraField
オブジェクトの名前を戻します。これが本当の(別名でない)データベース・フィールドの場合は、データベースで使用されるとおりのフィールド名が戻ります。たとえば、計算済の選択リスト項目や列の別名を指定したSQL文が実行された場合、戻される名前は、SQLのSELECT
文に指定した実際のテキストです。
oraparameter.Name
指定したOraParameter
オブジェクトの名前を戻します。パラメータ名は、パラメータ・コレクション内でパラメータを識別するのみではなく、パラメータをバインドする目的でSQL文およびPL/SQL文のプレースホルダを一致させるためにも使用されます。
oraparamarray.Name
指定したOraParamArray
オブジェクトの名前を戻します。パラメータ名は、パラメータ・コレクション内でパラメータを識別するのみではなく、パラメータをバインドする目的でSQL文およびPL/SQL文のプレースホルダを一致させるためにも使用されます。
orasession.Name
指定したOraSession
オブジェクトの名前を戻します。自動的に作成されたセッションの場合は、システムによって割り当てられた名前(通常は16進数)が戻ります。ユーザーが作成したセッションの場合は、CreateSession
メソッドに当初指定された名前が戻ります。作成後にセッション名を変更することはできません。
oraserver.Name
指定したOraServer
オブジェクトの物理的な接続名を戻します。
orasubscription.Name
サブスクリプションを表すために使用する名前を戻します。 Name
は、シングル・コンシューマ・キューに対する登録の場合は文字列'SCHEMA.QUEUE'
の形式、複数コンシューマ・キューに対する登録の場合は文字列'SCHEMA.QUEUE:CONSUMER_NAME'
の形式のサブスクリプション名です。
適用対象
説明
エージェント名を表す30バイトの文字列を戻します。
使用方法
agent_name = qMsg.AQAgent.Name
データ型
String
適用対象
説明
属性の名前を含む文字列を戻します。
使用方法
name = OraAttribute.Name
データ型
String
備考
実行時は読取り専用です。
適用対象
説明
OraTimeStamp
オブジェクトのNanosecond
属性を取得または設定します。
使用方法
nanosecond = OraTimeStampObj.NanosecondOraTimeStampObj.Nanosecond= nanosecond
引数
引数 | 説明 |
---|---|
[in ] nanosecond |
OraTimeStamp オブジェクトのNanosecond 属性。 |
データ型
Integer
適用対象
説明
OraTimeStampTZ
オブジェクトのNanosecond
属性を取得または設定します。
使用方法
nanosecond = OraTimeStampTZObj.NanosecondOraTimeStampTZObj.Nanosecond= nanosecond
引数
引数 | 説明 |
---|---|
[in ] nanosecond |
OraTimeStampTZ オブジェクトのNanosecond 属性。 |
データ型
Integer
適用対象
説明
OraIntervalDS
オブジェクトのNanoseconds
属性を取得および設定します。
使用方法
nanoseconds = OraIntervalDSObj.NanosecondsOraIntervalDSObj.Nanoseconds = nanoseconds
引数
引数 | 説明 |
---|---|
[in ] nanoseconds |
OraIntervalDS オブジェクトのNanoseconds 属性の値を指定するための整数。
|
データ型
Integer
適用対象
説明
取り出されるメッセージの位置を指定します。
使用方法
Q.Navigation = position
データ型
Integer
備考
次の値を指定できます。
ORAAQ_DQ_FIRST_MSG
(1
)
検索条件に一致した使用可能な最初のメッセージを取り出します。
ORAAQ_DQ_NEXT_TRANS
(2
)
現行のトランザクションの残りをスキップし(残りがある場合)、次のトランザクション・グループの最初のメッセージを取り出します。キューに対するメッセージのグループ化が可能な場合のみ使用できます。
ORAAQ_DQ_NEXT_MSG
(3
)(デフォルト)
検索条件に一致した使用可能な次のメッセージを取り出します。
適用対象
Address(OraAQAgent)プロパティを使用するOraDynasetオブジェクト
説明
FindFirst
、FindLast
、FindNext
またはFindPrevious
メソッドへの最後のコールが失敗した場合はTRUE
を戻します。
使用方法
Set nomatch_status = oradynaset.NoMatch
データ型
ブール
適用対象
ORASQL_NONBLK
オプションを使用して作成された「OraSQLStmtオブジェクト」
説明
現在実行しているSQLの状態を戻します。状態は次のとおりです。
ORASQL_STILL_EXECUTING
これは操作が進行中の場合に戻ります。
ORASQL_SUCCESS
これは操作が正常に完了した場合に戻ります。
エラーは、例外として発生します。
SQL文の実行が正常に完了した後、アプリケーションは、ブロック操作の場合と同様に出力パラメータにアクセスできます(出力パラメータがある場合)。
使用方法
status = OraSQL.NonBlockingState if status = ORASQL_STILL_EXECUTING MsgBox "Still in execution" else MsgBox "Execution completed successfully"
戻り値
ORASQL_STILL_EXECUTING(-3123) or ORASQL_SUCCESS(0)
エラーは、例外として発生します。
適用対象
説明
次回のRead
またはWrite
操作ために、LOBまたはBFILE
に1を基準とするオフセットを取得または設定します。このプロパティは、実行時に読取り/書込みができます。
使用方法
offsetbytes = OraBFile.Offset OraBFile.Offset = offsetbytes offsetbytes = OraBlob.Offset OraBlob.Offset = offsetbytes offsetchars = OraClob.Offset OraClob.Offset = offsetchars
データ型
Integer
備考
この値は、OraBLOB
およびOraBFILE
オブジェクトの場合はバイト数、OraCLOB
オブジェクトの場合は文字数で表されます。デフォルト値は1
です。この値を0
に設定するとエラーになります。PollingAmount
プロパティが0
でない(ポーリング可能な)場合は、最初のRead
またはWrite
操作の前、または現在のポーリング操作が完了した後にのみ、Offset
プロパティを設定できます。
適用対象
説明
Oracle Object for OLEのバージョン番号を戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
version_number = orasession.OIPVersionNumber
データ型
String
備考
このプロパティは、Oracle Object for OLEの各リリースに対して一意の識別子を戻します。
適用対象
説明
指定したオブジェクトに当初渡されたオプションのフラグを戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
options = oradatabase.Options options = oradynaset.Options options = orasqlstmt.Options
データ型
Long
Integer
備考
oradatabase.Options
に指定できる値については、OpenDatabase
メソッドを参照してください。
oradynaset.Options
に指定できる値については、CreateDynaset
メソッドを参照してください。
orasqlstmt.Options
に指定できる値については、CreateSQL
メソッドを参照してください。
適用対象
説明
指定したフィールドに対するOracleの内部データ型のコードを戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
field_idatatype = orafield.OraIDataType
データ型
Long
Integer
備考
次に示すOracleの内部データ型が戻ります。
定数 | 値 | 内部データ型 |
---|---|---|
ORATYPE_VARCHAR2 |
1 |
VARCHAR2 |
ORATYPE_NUMBER |
2 |
NUMBER |
ORATYPE_LONG |
8 |
LONG |
ORATYPE_DATE |
12 |
DATE |
ORATYPE_RAW |
23 |
RAW |
ORATYPE_LONGRAW |
24 |
LONG RAW |
ORATYPE_CHAR |
96 |
CHAR |
ORATYPE_BFLOAT |
100 |
BINARY_FLOAT |
ORATYPE_BDOUBLE |
101 |
BINARY_DOUBLE |
ORATYPE_MLSLABEL |
105 |
MLSLABEL |
ORATYPE_OBJECT |
108 |
OBJECT |
ORATYPE_REF |
110 |
REF |
ORATYPE_CLOB |
112 |
CLOB |
ORATYPE_BLOB |
113 |
BLOB |
ORATYPE_BFILE |
114 |
BFILE |
ORATYPE_TIMESTAMP |
187 |
TIMESTAMP |
ORATYPE_TIMESTAMPTZ |
188 |
TIMESTAMP WITH TIME ZONE |
ORATYPE_INTERVALYM |
189 |
INTERVAL YEAR TO MONTH |
ORATYPE_INTERVALDS |
190 | INTERVAL DAY TO SECOND |
ORATYPE_TIMESTAMPLTZ |
232 |
TIMESTAMP WITH LOCAL TIME ZONE |
ORATYPE_VARRAY |
247 |
VARRAY |
ORATYPE_TABLE |
248 |
NESTED TABLE |
これらの値は、ORACLE_BASE\ORACLE_HOME
\oo4o\oraconst.txt
ファイルにあります。
適用対象
説明
指定したフィールドに対するOracleの最大表示サイズを戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
field_maxdisplaysize = orafield.OraMaxDSize
データ型
Long
Integer
備考
この値は、戻り値が文字列の場合にのみ意味があります。特に、SUBSTR
やTO_CHAR
などのファンクションを使用して列の表現を変更する場合などです。
適用対象
説明
Oracleデータ・ディクショナリに格納されているOracleの最大列サイズを戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
field_maxsize = orafield.OraMaxSize
データ型
Long
Integer
備考
戻り値は、Oracleの内部データ型によって異なります。次の値が戻ります。
Oracleの列の型 | 値 |
---|---|
CHAR 、VARCHAR2 、RAW |
表の列の長さ |
NUMBER |
22 (内部的な長さ) |
DATE |
7 (内部的な長さ) |
LONG 、LONG RAW |
0 |
ROWID |
システムに依存 |
内部データ型1 を戻すファンクション(TO_CHAR() など) |
orafield.MaxDSize と同じ |
適用対象
説明
この列でNULL
値を使用できるかどうかを示します。設計時には使用できません。実行時は読取り専用です。
使用方法
field_nullok = orafield.OraNullOK
データ型
Integer
(ブール)
備考
NULL
値を使用できる場合はTRUE
、それ以外の場合はFALSE
を戻します。
適用対象
説明
数値列の精度を戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
field_precision = orafield.OraPrecision
データ型
Long
Integer
備考
この値は、戻り値が数値の場合にのみ意味があります。精度は、数値の桁数です。
適用対象
説明
数値列の位取りを戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
field_scale = orafield.OraScale
データ型
Long
Integer
備考
この値は、戻り値が数値の場合にのみ意味があります。SQLのREAL
、DOUBLE
PRECISION
、FLOAT
およびFLOAT
(N
)型では、-127
の位取りが戻ります。
適用対象
説明
指定したデータベースのOraParameters
コレクションを戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
Set oraparameters_collection = oradatabase.Parameters
データ型
OLEオブジェクト(OraParameters
)
備考
このコレクションのパラメータにアクセスするには、添字(順序を示す整数)を使用するか、またはそのパラメータの作成時に指定したパラメータ名を使用します。戻されたコレクションのCount
プロパティを使用すると、コレクション内のパラメータ数を取得できます。整数の添字は0
で開始し、Count-1
で終了します。範囲外の索引値と無効な名前を指定すると、NULL
のOraParameter
オブジェクトが戻ります。
コレクションでは、パラメータへアクセスできるほか、Add
メソッドを使用してパラメータを作成したり、Remove
メソッドを使用して破棄することができます。
適用対象
説明
PIN操作での参照可能オブジェクトに対するPin
オプションを取得および設定します。
使用方法
pin_option = OraRef.PinOptionOraRef.PinOption = pin_option
引数
引数 | 説明 |
---|---|
[in ] PinOption |
Pin オプションを表す整数。
|
データ型
Integer
(ブール)
備考
pin_option
プロパティの戻り値は、次のとおりです。
定数 | 値 | 説明 |
---|---|---|
ORAREF_READ_ANY |
3 |
オブジェクトがすでにオブジェクト・キャッシュにある場合はキャッシュから戻し、それ以外の場合はデータベースから取り出します(デフォルト)。 |
ORAREF_READ_RECENT |
4 |
トランザクション中にオブジェクトがキャッシュに取り出される場合は、キャッシュから戻します。それ以外の場合はデータベースからオブジェクトを取り出します。 |
ORAREF_READ_LATEST |
5 | 常にデータベースから最新の値を取り出します。 |
例
次の例では、PinOption
プロパティの使用方法を示します。サンプル・コードを実行する前に、必要なデータ型と表がデータベース内にあることを確認してください。「OraObjectおよびOraRefの例で使用されているスキーマ・オブジェクト」を参照してください。
Dim OraSession as OraSession Dim OraDatabase as OraDatabase Dim OraDynaset as OraDynaset Dim Person as OraRef 'Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Create the OraDatabase Object by opening a connection to Oracle. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'create a dynaset object from customers set OraDynaset = OraDatabase.CreateDynaset("select * from customers", 0&) 'retrieve a aperson column from customers. Here Value 'property of OraField object returns Person OraRef set Person = OraDynaset.Fields("aperson").Value 'set the ORAREF_READ_LATEST read option on the Person object. Person.PinOption = ORAREF_READ_LATEST 'pin the Person Ref and get the latest copy of referenceable 'object for Ref from the database MsgBox Person.Name MsgBox Person.Age
適用対象
説明
Read
およびWrite
操作を複数回に分けて行う場合(ポーリング)の読取り量または書込み量の合計を取得または設定します。0(ゼロ)の値は、ポーリングが使用されないことを意味します。このプロパティは、実行時に読取り/書込みができます。
使用方法
pollamountbytes = OraBFile.PollingAmount OraBfile.PollingAmount = pollamountbytes pollamountbytes = OraBlob.PollingAmount OraBlob.PollingAmount = pollamountbytes pollamountchars= OraClob.PollingAmount OraClob.PollingAmount = pollamountchars
データ型
Integer
備考
この値は、OraBLOB
およびOraBFILE
オブジェクトの場合はバイト数、OraCLOB
オブジェクトの場合は文字数で表されます。複数回の読取りまたは書込み操作を開始する前に、この値を設定します。 この値を設定した後は、LOBのStatus
プロパティによってORALOB_NEED_DATA
が戻らなくなる(PollingAmount
に設定されたバイト数または文字数がすべて処理される)まで、一連のRead
またはWrite
操作を発行する必要があります。ポーリング操作の途中で別のLOB操作を実行しようとすると、エラーになります。
適用対象
説明
メッセージの優先順位を指定します。
使用方法
Msg.Priority = msg_priority
データ型
Integer
備考
番号が小さいほど、優先順位は高くなります。
次の値を指定できます。
整数(負数も可)
ORAAQ_NORMAL
(デフォルト): 0
ORAAQ_HIGH
: -10
ORAAQ_LOW
: 10
このプロパティは、エンキューしているときに設定でき、優先順位に基づいてデキューするために使用されます。
適用対象
説明
OraDynaset
ダイナセット内のレコードの総数を戻します。
OraSQLStmt
INSERT、UPDATEまたはDELETE文で処理されたレコード数を戻します。SQL文の実行でエラーが発生した場合にも処理されたレコード数が戻ります。
設計時には使用できません。実行時は読取り専用です。
使用方法
record_count = oradynaset.RecordCountrecord_count = orasqlstmt.RecordCount
データ型
Long
Integer
備考
このプロパティを参照するときは、レコード数を判断するために、Oracleデータベースから結果表全体をただちにフェッチする必要があります。 この処理はパフォーマンスに深刻な影響を与える可能性があるため、このプロパティを使用せず、かわりにCOUNT(*)
句を使用して別の問合せを実行し、時間的な整合性が保証されているSnapshotID
プロパティを使用してください。使用例は、SnapShot
プロパティを参照してください。
CreateDynaset
メソッドのORADYN_NOCACHE
オプションを使用して、このプロパティを参照すると、暗黙的なMoveLast
操作が発生し、カレント・レコードがダイナセットの最終レコードになります。
例
RecordCountの例(OraDynaset)
この例では、RecordCount
プロパティを使用して、SELECT
文およびOraDynaset
を介して取得したレコード数を判断する方法を示します。このコードをコピーして、フォームの定義セクションに貼り付けてください。次に[F5]を押します。
Sub Form_Load () 'Declare variables as OLE Objects. Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset As OraDynaset 'Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Create the OraDatabase Object by opening a connection to Oracle. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'Create the dynaset. Set OraDynaset = OraDatabase.CreateDynaset("select * from emp", 0&) 'Display the number of records. Note that this causes 'all records to be fetched to ensure an accurate count. MsgBox OraDynaset.RecordCount & " records retrieved." End Sub
RecordCountの例(OraSQLStmt)
次の例では、INSERT
文およびOraSQLStmt
を使用した後に、データベースに挿入されたレコード数を表示する方法を示します。
Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset As OraDynaset Dim OraSqlStmt As OraSQLStmt Dim OraPArray1 As OraParamArray Dim OraPArray2 As OraParamArray Dim I As Integer On Error GoTo ERR_array_sql 'Test case for inserting/updating/deleting multiple rows using parameter arrays 'with SQL statements Set OraSession = CreateObject("OracleInProcServer.XOraSession") Set OraDatabase = OraSession.OpenDatabase("exampledb", "scott/tiger", 0&) 'Create table OraDatabase.ExecuteSQL ("create table part_nos(partno number, description" & _ "char(50), primary key(partno))") OraDatabase.Parameters.AddTable "PARTNO", ORAPARM_INPUT, ORATYPE_NUMBER, 10, 22 OraDatabase.Parameters.AddTable "DESCRIPTION", ORAPARM_INPUT, ORATYPE_CHAR, _ 10, 50 If OraDatabase.LastServerErr <> 0 Or OraDatabase.LastServerErrText <> "" Then MsgBox "Error" End If Set OraPArray1 = OraDatabase.Parameters("PARTNO") Set OraPArray2 = OraDatabase.Parameters("DESCRIPTION") 'Initialize arrays For I = 0 To 9 achar = "Description" + Str(I) OraPArray1.put_Value 1000 + I, I OraPArray2.put_Value achar, I Next I Set OraSqlStmt = OraDatabase.CreateSql("insert into" & _ "part_nos(partno, description) values(:PARTNO,:DESCRIPTION)", 0&) If OraDatabase.LastServerErr <> 0 Or OraDatabase.LastServerErrText <> "" Then MsgBox "Error" End If MsgBox "# of records inserted : " & OraSqlStmt.RecordCount Exit Sub ERR_array_sql: MsgBox Err.Description
適用対象
説明
このプロパティを指定すると、このキュー・オブジェクトのメッセージが、メッセージIDで示したメッセージよりも前にエンキューされます。
使用方法
OraAq.RelMsgid = msg_id
データ型
String
備考
このメソッドは、エンキュー操作に対してのみ適用されます。
次の値を指定できます。
バイト配列で指定される有効なメッセージID
ORAAQ_NULL_MSGID
(デフォルト): メッセージIDの指定なし
このプロパティを設定すると、ORAAQ_ENQ_BEFORE
オプションでエンキューがコールされます。 キューの先頭にメッセージを配置するには、このプロパティをORAAQ_NULL_MSGID
に設定します。
適用対象
説明
ダイナセット内での現在の行の行番号を戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
rownum = OraDynaset.RowPosition
データ型
Integer
適用対象
説明
Variant
型SAFEARRAY
の要素の値を取得または設定します。
使用方法
SafeArray = OraCollection.SafeArrayOraCollection.SafeArray = SafeArray
引数
引数 | 説明 |
---|---|
SafeArray |
SafeArray 形式を表すVariant 。 |
データ型
SafeArray
形式を表すVariant
備考
このプロパティは、VARCHAR2
およびNUMBER
などの単純なスカラー要素型に対してのみ有効です。LOB型、オブジェクト型、REF型などの要素に対してはエラーが発生します。
Variant
型SAFEARRAY
の索引は0
から開始します。SAFEARRAY
形式に変換すると、OraCollection
オブジェクトによって、要素の値が対応するSAFEARRAY
Variant
型に変換されます。次の表に、コレクション要素の型と対応するSAFEARRAY
Variant
型を示します。
コレクション要素の型 | SAFEARRAY |
---|---|
Date |
String |
Number |
String |
CHAR 、VARCHAR2 |
String |
Real |
Real |
Integer |
Integer |
コレクションにSAFEARRAY
を設定する場合、OraCollection
は、SAFEARRAY
要素を最も近いコレクション要素型に変換します。
適用対象
説明
OraTimeStamp
オブジェクトのSecond
属性を取得または設定します。
使用方法
second = OraTimeStampObj.SecondOraTimeStampObj.Second= second
引数
引数 | 説明 |
---|---|
[in ] second |
OraTimeStamp オブジェクトのSecond 属性。 |
データ型
Integer
適用対象
説明
OraTimeStampTZ
オブジェクトのSecond
属性を取得または設定します。
使用方法
second = OraTimeStampTZObj.SecondOraTimeStampTZObj.Second= second
引数
引数 | 説明 |
---|---|
[in ] second |
OraTimeStampTZ オブジェクトのSecond 属性。 |
データ型
Integer
適用対象
説明
OraIntervalDS
オブジェクトのSeconds
属性を取得および設定します。
使用方法
seconds = OraIntervalDSObj.SecondsOraIntervalDSObj.Seconds = seconds
引数
引数 | 説明 |
---|---|
[in ] seconds |
OraIntervalDS オブジェクトのSeconds 属性の値を指定するための整数。
|
データ型
Integer
適用対象
説明
このオブジェクトの連結先OraServer
オブジェクトを戻します。
使用方法
Set oraserver = oradatabase.Server
データ型
OLEオブジェクト(OraServer
)
適用対象
説明
SQLまたはPL/SQLバインド変数に対するOracleの外部データ型を指定します。設計時には使用できません。実行時は読取り/書込みができます。
OraParamArray
オブジェクトの場合は読取り専用です。ServerType
プロパティはAddTable
メソッドの中で指定します。
使用方法
oraparameter.ServerType = oracle_type
データ型
Integer
備考
SQLまたはPL/SQL(入出力)バインド変数の外部データ型を指定するために使用します。このプロパティは、SQL文またはPL/SQLブロック内のプレースホルダのデータ型を一致させるために、SQL文またはPL/SQLブロックのローカル解析を実施しないようにするために必要です。
OraParameter
オブジェクトがServerType
のBLOB
、CLOB
、BFILE
、OBJECT
、REF
、VARRAY
またはNESTED
TABLE
に設定されていると、他のServerType
プロパティには変更できません。
次に示すOracleの外部データ型がサポートされています。
定数 | 値 | 外部データ型 |
---|---|---|
ORATYPE_VARCHAR2 |
1 |
VARCHAR2 |
ORATYPE_NUMBER |
2 |
NUMBER |
ORATYPE_SINT |
3 |
SIGNED INTEGER |
ORATYPE_FLOAT |
4 |
FLOAT |
ORATYPE_STRING |
5 |
NULL文字で終了するSTRING |
ORATYPE_LONG |
8 |
LONG |
ORATYPE_VARCHAR |
9 |
VARCHAR |
ORATYPE_DATE |
12 |
DATE |
ORATYPE_RAW |
23 |
RAW |
ORATYPE_LONGRAW |
24 |
LONG RAW |
ORATYPE_UINT |
68 |
UNSIGNED INTEGER |
ORATYPE_CHAR |
96 |
CHAR |
ORATYPE_CHARZ |
97 |
NULL文字で終了するCHAR |
ORATYPE_BFLOAT |
100 |
BINARY_FLOAT |
ORATYPE_BDOUBLE |
101 |
BINARY_DOUBLE |
ORATYPE_CURSOR |
102 |
PLSQL CURSOR |
ORATYPE_MLSLABEL |
105 |
MLSLABEL |
ORATYPE_OBJECT |
108 |
OBJECT |
ORATYPE_REF |
110 |
REF |
ORATYPE_CLOB |
112 |
CLOB |
ORATYPE_BLOB |
113 |
BLOB |
ORATYPE_BFILE |
114 |
BFILE |
ORATYPE_TIMESTAMP |
187 |
TIMESTAMP |
ORATYPE_TIMESTAMPTZ |
188 |
TIMESTAMP WITH TIMEZONE |
ORATYPE_INTERVALYM |
189 |
INTERVAL YEAR TO MONTH |
ORATYPE_INTERVALDS |
190 |
INTERVAL DAY TO SECOND |
ORATYPE_TIMESTAMPLTZ |
232 |
TIMESTAMP WITH LOCAL TIME ZONE |
ORATYPE_VARRAY |
247 |
VARRAY |
ORATYPE_TABLE |
248 |
NESTED TABLE |
ORATYPE_RAW_BIN |
2000 |
RAW |
これらの値は、ORACLE_BASE\ORACLE_HOME
\oo4o\oraconst.txt
ファイルにあります。
例
この例では、Add
およびRemove
パラメータ・メソッド、ServerType
パラメータ・プロパティ、(ORAEXAMP.SQL
にある)ストアド・プロシージャおよびファンクションをコールするExecuteSQL
データベース・メソッドの使用方法を示します。このコードをコピーして、フォームの定義セクションに貼り付けてください。次に[F5]を押します。
Sub Form_Load () 'Declare variables as OLE Objects. Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset As OraDynaset 'Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Create the OraDatabase Object. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'Add EMPNO as an Input/Output parameter and set its initial value. OraDatabase.Parameters.Add "EMPNO", 7369, ORAPARM_INPUT OraDatabase.Parameters("EMPNO").ServerType = ORATYPE_NUMBER 'Add ENAME as an Output parameter and set its initial value. OraDatabase.Parameters.Add "ENAME", 0, ORAPARM_OUTPUT OraDatabase.Parameters("ENAME").ServerType = ORATYPE_VARCHAR2 'Add SAL as an Output parameter and set its initial value. OraDatabase.Parameters.Add "SAL", 0, ORAPARM_OUTPUT OraDatabase.Parameters("SAL").ServerType = ORATYPE_NUMBER 'Execute the Stored Procedure Employee.GetEmpName to retrieve ENAME. ' This Stored Procedure can be found in the file ORAEXAMP.SQL. OraDatabase.ExecuteSQL ("Begin Employee.GetEmpName (:EMPNO, :ENAME); end;") 'Display the employee number and name. 'Execute the Stored Function Employee.GetSal to retrieve SAL. ' This Stored Function can be found in the file ORAEXAMP.SQL. OraDatabase.ExecuteSQL ("declare SAL number(7,2); Begin" & _ ":SAL:=Employee.GetEmpSal (:EMPNO); end;") 'Display the employee name, number and salary. MsgBox "Employee " & OraDatabase.Parameters("ENAME").value & ", #" & OraDatabase.Parameters("EMPNO").value & ",Salary=" & OraDatabase.Parameters("SAL").value 'Remove the Parameters. OraDatabase.Parameters.Remove "EMPNO" OraDatabase.Parameters.Remove "ENAME" OraDatabase.Parameters.Remove "SAL" End Sub
適用対象
説明
指定したオブジェクトに関連付けられているOraSession
オブジェクトを戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
Set orasession = oraconnection.Session Set orasession = oradatabase.Session Set orasession = oradynaset.Session Set orasession = orasqlstmt.Session Set orasession = oraserver.Session
データ型
OLEオブジェクト(OraSession
)
備考
oraconnection.Session
このOraConnection
オブジェクトが存在しているOraSession
オブジェクトを戻します。
oradatabase.Session
このOraDatabase
オブジェクトに関連付けられているOraSession
オブジェクトを戻します。各データベースは1つのセッションの一部で、デフォルトでは、アプリケーションに関連付けられているセッションです。
oradynaset.Session
このOraDynaset
オブジェクトに関連付けられているOraSession
オブジェクトを戻します。
orasqlstmt.Session
このOraSQLStmt
オブジェクトに関連付けられているOraSession
オブジェクトを戻します。
適用対象
説明
指定したOraClient
オブジェクトに対する全セッションのコレクションを戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
Set orasessions_collection = oraclient.Sessions
データ型
OLEオブジェクト(OraSessions
)
備考
このコレクションのセッションには、添字(序数)を使用して、または作成時に指定したセッション名を使用してアクセスできます。戻されたコレクションのCount
プロパティを使用すると、コレクション内のセッションの総数を取得できます。整数の添字は0
で開始し、Count-1
で終了します。範囲外の索引値と無効な名前を指定すると、NULL
のOraSession
オブジェクトが戻ります。
適用対象
説明
このフィールドの戻り値に関連付けられているVariant
の文字数またはバイト数を戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
field_size = orafield.Size
データ型
Long
Integer
備考
LONG
またはLONG
RAW
型のフィールドには0
が戻ります。LONG
またはLONG
RAW
型のフィールドの長さを判断するには、FieldSize
メソッドを使用します。
適用対象
説明
指定したコレクションについて、現在のサイズを戻します。実行時は読取り専用です。
使用方法
coll_size = OraCollection.Size
データ型
Integer
備考
ORATYPE_TABLE
型のOraCollection
オブジェクトの場合、このプロパティは削除した要素を含んだコレクションの現在のサイズを戻します。
適用対象
説明
OraBLOB
およびOraBFILE
オブジェクトのバイト数、またはOraCLOB
オブジェクトの文字数を戻します。読取り専用です。
使用方法
bytes = OraBFile.Size bytes = OraBlob.Size chars = OraClob.Size
適用対象
説明
SnapshotID
を戻します。
実行時は読取り/書込みができます。
使用方法
SnapshotID = OraDynaset.Snapshot
備考
SnapshotID
は、このダイナセットが作成された時点のスナップショットを示します。これは、タイムスタンプのように考えることができます。これを別のCreateDynaset
メソッドのコールに使用して、元のダイナセットと同じ時点のデータでダイナセットを作成できます。
Snapshot
プロパティには、別のSnapshot
の値を設定できます。この新しいスナップショットは、次に問合せが再実行されたときのRefresh
操作で使用されます。Snapshot
プロパティは、常に、このOraDynaset
オブジェクトの基になったSnapshotID
を戻します。snapshotプロパティを介して設定されたその他のSnapshotID
は戻しません。
SnapshotID
は、実行量とデータベースの構成に従って、ある時間が経過すると無効になります。SnapshotIDが無効になると、スナップショットが古すぎることを示すエラー・メッセージが戻ります。
スナップショットの詳細は、『Oracle Database概要』を参照してください。
このSnapshotID
は、このダイナセットが作成された時点を示します。このSnapshotID
を使用して追加作成されたダイナセットには、その時点以降に元のダイナセットに行われた変更(Edit
、Delete
およびAddNew
操作)は反映されません。
SnapshotID
オブジェクトは、SELECT
文の参照する表が、DUAL
などの疑似表ではなく実際のデータベース表である場合にのみ意味があります。
SnapshotID
の有効な使用目的の1つは、すべての行をフェッチするRecordCount
プロパティを使用せずに、表の行数を計算することです。「例: ダイナセットの行数の計算」を参照してください。
データ型
Object
例
例: SnapShotプロパティの使用方法
この例では、SnapShot
プロパティの使用方法を示します。
Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset1 As OraDynaset Dim OraDynaset2 As OraDynaset Dim SnapshotID as SnapshotID 'Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Create the OraDatabase Object by opening a connection to Oracle. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'ALLEN's JOB is initially SALESMAN OraDatabase.ExecuteSql("Update EMP set JOB = 'SALESMAN' where ENAME = 'ALLEN'") 'Create initial OraDynaset Object. Set OraDynaset1 = OraDatabase.CreateDynaset("select empno, ename," & _ "job from emp", 0&) MsgBox "OraDynaset1 -- Value of JOB is " & OraDynaset1.Fields("JOB").Value 'Change Allen's JOB OraDatabase.ExecuteSql("Update EMP set JOB = 'CLERK' where ENAME = 'ALLEN'") 'This SnapshotID represents the point in time in which OraDynaset1 was created Set SnapshotID = OraDynaset1.Snapshot 'Create OraDynaset2 from the same point in time as OraDynaset1 Set OraDynaset2 = OraDatabase.CreateDynaset("select JOB from EMP" & _ "where ENAME = 'ALLEN'", 0&, SnapshotID) MsgBox "OraDynaset2 -- Value of JOB from point of time of OraDynaset1 is " & _ OraDynaset2.Fields("JOB").Value 'We set the snapshot to NULL which will get us current point in time. OraDynaset2.Snapshot = Null 'We refresh it and it will get us the data from the current point in time OraDynaset2.Refresh MsgBox "OraDynaset2 -- Value of JOB from current point of time is " & _ OraDynaset2.Fields("JOB").Value 'And back again to the old point in time -- OraDynaset2.Snapshot = SnapshotID OraDynaset2.Refresh MsgBox "OraDynaset2 -- Value of JOB from point of time of OraDynaset1 is " & _ OraDynaset2.Fields("JOB").Value
例: ダイナセットの行数の計算
この例では、すべての行をフェッチするRecordCount
プロパティを使用せずに、ダイナセットの行数を計算します。この例で戻されるレコード数にはAddNew
またはDelete
操作が考慮されず、情報は、ダイナセットが作成された直後の状態であることに注意してください。
Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset As OraDynaset Dim OraDynCount As OraDynaset Dim SnapshotID as SnapshotID 'Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Create the OraDatabase Object by opening a connection to Oracle. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'Create the Dynaset Set OraDynaset = OraDatabase.CreateDynaset("select * from emp", 0&) Set SnapshotID = OraDynaset.Snapshot 'Use the snapshot for count query to guarantee the same point in time Set OraDynCount = OraDatabase.CreateDynaset("select count(*) NUMROWS" & _ "from emp", 0&, SnapshotID) MsgBox "Number of rows in the table is " & OraDynCount.Fields("NUMROWS").Value
適用対象
説明
指定したダイナセットまたはOraSQLStmt
オブジェクトの作成に使用するSQL文を取得または設定します。設計時には使用できません。実行時は読取り/書込みができます。
使用方法
SQL_statement = oradynaset.SQL SQL_statement = orasqlstmt.SQL oradynaset.SQL = SQL_statement orasqlstmt.SQL = SQL_statement
データ型
String
備考
最初の使用方法はSQL文バッファの内容を戻し、2番目の使用方法はSQL文のバッファの内容を設定します。
当初のSQL文バッファには、ダイナセットまたはOraSQLStmt
オブジェクトの作成に使用するSQL文が挿入されます。Refresh
メソッドが発行されるたびに、SQL文バッファの内容が実行されます。
例
この例では、パラメータ、Refresh
メソッドおよびSQLプロパティを使用して選択レコードを制限する方法を示します。このコードをコピーして、フォームの定義セクションに貼り付けてください。次に[F5]を押します。
Sub Form_Load () 'Declare variables as OLE Objects. Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset As OraDynaset 'Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Create the OraDatabase Object by opening a connection to Oracle. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'Create a parameter with an initial value. OraDatabase.Parameters.Add "job", "MANAGER", 1 'Create the OraDynaset Object. Set OraDynaset = OraDatabase.CreateDynaset("select * from emp where " & _ "job=:job", 0&) 'Notice that the SQL statement is NOT modified. MsgBox OraDynaset.SQL 'Currently, OraDynaset only contains employees whose job is MANAGER. 'Change the value of the job parameter. OraDatabase.Parameters("job").Value = "SALESMAN" 'Refresh the dynaset. OraDynaset.Refresh 'Currently, OraDynaset only contains employees whose 'job is SALESMAN. 'Notice that the SQL statement is NOT modified. MsgBox OraDynaset.SQL 'Remove the parameter. OraDatabase.Parameters.Remove ("job") End Sub
適用対象
説明
指定したパラメータの状態を示す整数を戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
parameter_status = oraparameter.Statusparameter_status = oraparamarray.Status
データ型
Integer
備考
Status
プロパティは、一連のビットとして解析され、各ビットがパラメータに関する情報を示します。パラメータは使用可能な場合のみバインドできます。使用可能に設定できるのは、パラメータが自動使用可能に設定されている場合のみです。
パラメータのStatus
プロパティのビット値は、次のとおりです。
定数 | 値 | 説明 |
---|---|---|
ORAPSTAT_INPUT |
&H1& |
入力パラメータとして使用可能。 |
ORAPSTAT_OUTPUT |
&H2& |
出力パラメータとして使用可能。 |
ORAPSTAT_AUTOENABLE |
&H4& |
自動バインド可能。 |
ORAPSTAT_ENABLE |
&H8& |
使用可能。このビットは常に設定されています。 |
これらの値は、ORACLE_BASE\ORACLE_HOME
\oo4o\oraconst.txt
ファイルにあります。
例
この例では、パラメータとExecuteSQL
メソッドを使用して、(ORAEXAMP.SQL
にある)ストアド・プロシージャをコールする方法を示します。ストアド・プロシージャをコールした後、各パラメータのStatus
プロパティをチェックします。このコードをコピーして、フォームの定義セクションに貼り付けてください。次に[F5]を押します。
Sub Form_Load () 'Declare variables as OLE Objects. Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset As OraDynaset 'Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Create the OraDatabase Object by opening a connection to Oracle. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'Add EMPNO as an Input parameter and set its initial value. OraDatabase.Parameters.Add "EMPNO", 7369, ORAPARM_INPUT 'Add ENAME as an Output parameter and set its initial value. OraDatabase.Parameters.Add "ENAME", 0, ORAPARM_OUTPUT 'Execute the Stored Procedure Employee.GetEmpName to retrieve ENAME. ' This Stored Procedure is located in the file ORAEXAMP.SQL. OraDatabase.ExecuteSQL ("Begin Employee.GetEmpName (:EMPNO, :ENAME); end;") If OraDatabase.Parameters("EMPNO").Status & ORAPSTAT_INPUT Then MsgBox "Parameter EMPNO used for input." End If If OraDatabase.Parameters("ENAME").Status & ORAPSTAT_OUTPUT Then MsgBox "Parameter ENAME used for output." End If 'Display the employee number and name. MsgBox OraDatabase.Parameters("EMPNO").value MsgBox OraDatabase.Parameters("ENAME").value 'Remove the Parameters. OraDatabase.Parameters.Remove "EMPNO" OraDatabase.Parameters.Remove "ENAME" End Sub
適用対象
説明
現在のポーリング操作の状態を戻します。
読取り専用です。
使用方法
status = OraBFile.Status status = OraBlob.Status status = OraClob.Status
データ型
Integer
備考
この値は、PollingAmount
プロパティが0(ゼロ)以外でRead
操作が発生した場合のみ意味があります。戻り値は、次のとおりです。
ORALOB_NEED_DATA
読取りまたは書込みデータが残存しています。
ORALOB_NODATA
(ほとんどの場合)エラーのため、読取りまたは書込みデータがありません。
ORALOB_SUCCESS
LOB
データの読取りまたは書込みが正常に終了しました。
適用対象
説明
指定したデータベースのOraSubscriptions
コレクションを戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
Set orasubscriptions_collection = oradatabase.Subscriptions
データ型
OLEオブジェクト(OraSubscriptions
)
備考
このコレクション内のサブスクリプションには、添字(順序を示す整数)を使用することでアクセスできます。戻されたコレクションのCount
プロパティを使用すると、コレクション内のサブスクリプション数を取得できます。整数の添字は0(ゼロ)で開始し、Count-1
で終了します。範囲外の索引値を指定すると、NULL
のOraSubscription
オブジェクトが戻ります。
コレクションでは、サブスクリプションへアクセスできるほか、Add
メソッドを使用してサブスクリプションを作成したり、Remove
メソッドを使用して破棄することができます。
例
詳細な例は、「例: データベース・イベントが通知されるようにアプリケーションを登録する方法」を参照してください。
適用対象
説明
基礎となる参照可能オブジェクトを持つオブジェクト表の名前を含む文字列を戻します。
使用方法
table_name = OraRef.TableName
データ型
String
備考
このプロパティは読取り専用です。
適用対象
説明
指定したコレクションについて、現在のサイズを戻します。実行時は読取り専用です。
使用方法
table_size = OraCollection.TableSize
データ型
Integer
備考
ORATYPE_TABLE
型のOraCollection
オブジェクトの場合、このプロパティは削除した要素を除くコレクションの現在のサイズを戻します。
適用対象
説明
OraTimeStampTZ
オブジェクトのタイムゾーン情報を取得または設定します。
使用方法
timezone = OraTimeStampTZObj.TimeZoneOraTimeStampTZObj.TimeZone= timezone
引数
引数 | 説明 |
---|---|
[in ] timezone |
OraTimeStampTZ オブジェクトのタイムゾーン属性。 |
データ型
String
備考
TimeZone
プロパティを設定しても、OraTimeStampTZ
オブジェクトに格納されている協定世界時(UTC)の日時値は変化しません。ただし、指定したタイムゾーンのローカルの日時値は変更される可能性があります。
次の表は、下の例に記載されているOraTimeStampTZ
オブジェクトの日時値と、タイムゾーン値に対応するUTC日時値を示しています。
プロパティ | OraTSTZオブジェクト値 | OraTSTZオブジェクトのUTC日時値 |
---|---|---|
Year |
2003 |
2003 |
Month |
4 |
4 |
Day |
29 |
29 |
Hour |
12 |
19 |
Minute 、Second 、Nanosecond |
0 |
0 |
TimeZone |
-07:00 |
00:00 |
TimeZone
プロパティを-08:00
に設定した場合、OraTimeStampTZ
オブジェクトの指定したタイムゾーンの日時値は変化しますが、UTC日時値は変化しません。
プロパティ | 新しいOraTSTZオブジェクト値 | 新しいOraTSTZオブジェクトのUTC日時値 |
---|---|---|
Year |
2003 |
2003 |
Month |
4 |
4 |
Day |
29 |
29 |
Hour |
11 |
19 |
Minute 、Second 、Nanosecond |
0 |
0 |
TimeZone |
-08:00 |
00:00 |
例
Dim OraTSTZ as OraTimeStampTZ Dim OraTSTZ_new as OraTimeStampTZ Dim OraTSTZStr as String Dim OraTSTZStr_new as String Set OraTSTZ = oo4oSession.CreateOraTimeStampTZ( "2003-APR-29" & _ "12:00:00 -07:00", "YYYY-MON-DD HH:MI:SS TZH:TZM") 'Change Time Zone to "-08:00" Set OraTSTZ_new = OraTSTZ.Clone oraTSTZ_new.TimeZone = "-08:00" 'OraTSTZStr has value as (29-APR-03 12.00.00.000000000 PM -07:00) OraTSTZStr = OraTSTZ.value 'OraTSTZStr_new has value as (29-APR-03 11.00.00.000000000 PM -08:00) OraTSTZStr_new = OraTSTZ_new.value
適用対象
説明
OraIntervalDS
オブジェクトが表す合計日数を取得および設定します。
使用方法
totalDays = OraIntervalDSObj.TotalDays OraIntervalDSObj.TotalDays = totalDays
引数
引数 | 説明 |
---|---|
[in ] totalDays |
OraIntervalDS オブジェクトを合計日数として指定するVariant 型の数値またはOraNumber オブジェクト。 |
データ型
Double
例
Dim oraIDS as OraIntervalDS 'Create an OraIntervalDS using a string which represents 1 day and 12 hours Set oraIDS = oo4oSession.CreateOraIntervalDS("1 12:0:0.0") 'totalDays is set to 1.5 which represents an interval of 1.5 days totalDays = oraIDS.TotalDays
適用対象
説明
OraIntervalYM
オブジェクトが表す合計年数を取得および設定します。
使用方法
totalYears = OraIntervalYMObj.TotalYearsOraIntervalYMObj.TotalYears= totalYears
引数
引数 | 説明 |
---|---|
[in ] totalYears |
OraIntervalYM オブジェクトを合計年数として指定するVariant 型の数値。 |
データ型
Double
例
Dim oraIYM as OraIntervalYM 'Create an OraIntervalYM using a string which represents 1 year and 6 months Set oraIYM = oo4oSession.CreateOraIntervalYM("1-6") 'totalYears is set to 1.5 which represents an interval of 1.5 years totalYears = oraIYM.TotalYears
適用対象
説明
指定したダイナセットがトランザクション処理をサポートするかどうかを示します。設計時には使用できません。実行時は読取り専用です。
使用方法
if_transactions = oradynaset.Transactions
データ型
Integer
(ブール)
備考
このプロパティは、常にTRUE
を戻します。
適用対象
説明
フェッチする際にフィールド値が切り捨てられたかどうかを示します。設計時には使用できません。実行時は読取り専用です。
使用方法
field_status = orafield.Truncated
データ型
Integer
(ブール)
備考
切り捨てられたデータが戻る場合はTRUE
、それ以外の場合はFALSE
を戻します。切捨ては、LONG
またはLONG
RAW
型のフィールドに対してのみ発生します。このプロパティを使用して、GetChunk
メソッドを介してOracleデータベースからデータをさらに取り出す必要があるかどうかを判断します。
適用対象
説明
指定したオブジェクトのVariant
型を戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
data_type = orafield.Type data_type = oraparameter.Type data_type = oraparamarray.Type
データ型
Integer
備考
orafield.Type
このフィールドの戻り値に関連付けられているVariant
データ型(Visual Basicのドキュメントを参照)を戻します。
oraparameter.Type
SQL文に実際にバインドされたVariant
データ型を示す整数を戻します。戻り値は、oraparameter.Value
のVariant
データ型とは異なる可能性があります。これは、Visual BasicとOracle Databaseの両方に共通するデータ型を取得するために、内部変換が必要になる場合があるためです。
Oracleの内部データ型から、次のようにマッピングされます。
Oracleデータ型 | 定数 | 値 | データ型 |
---|---|---|---|
BINARY_DOUBLE |
ORADB_DOUBLE |
7 |
Double |
BINARY_FLOAT |
ORADB_SINGLE |
6 |
Single |
BLOB |
ORADB_OBJECT |
9 |
OraBLOB |
CHAR |
ORADB_TEXT |
10 |
String |
CLOB |
ORADB_OBJECT |
9 |
OraCLOB |
DATE |
ORADB_DATE |
8 |
Variant |
DATE |
ORADB_DATE |
8 |
Date |
INTERVAL DAY TO SECOND |
ORADB_OBJECT |
9 |
OraIntervalDS |
INTERVAL YEAR TO MONTH |
ORADB_OBJECT |
9 |
OraIntervalYM |
LONG |
ORADB_MEMO |
12 |
String |
LONG RAW |
ORADB_LONGBINARY |
11 |
String |
NESTED TABLE |
ORADB_OBJECT |
9 |
OraBFILE |
NUMBER (1〜4, 0) |
ORADB_INTEGER |
3 |
Integer |
NUMBER (5〜9, 0) |
ORADB_LONG |
4 |
Long Integer |
NUMBER (10〜15, 0) |
ORADB_DOUBLE |
7 |
Double |
NUMBER (16〜38, 0) |
ORADB_TEXT |
10 |
String |
NUMBER (1〜15, n) |
ORADB_DOUBLE |
7 |
Double |
NUMBER (16〜38, n) |
ORADB_TEXT |
10 |
String |
RAW |
ORADB_LONGBINARY |
11 |
String |
REF |
ORADB_OBJECT |
9 |
OraCollection |
TIMESTAMP |
ORADB_OBJECT |
9 |
OraTimeStamp |
TIMESTAMP WITH LOCAL TIME ZONE |
ORADB_OBJECT |
9 |
OraTimeStamp |
TIMESTAMP WITH TIME ZONE |
ORADB_OBJECT |
9 |
OraTimeStampTZ |
VARRAY |
ORADB_OBJECT |
9 |
OraCollection |
VARCHAR2 |
ORADB_TEXT |
10 |
String |
これらの値はORACLE_BASE\ORACLE_HOME
\oo4o\oraconst.txt
ファイルにあり、Visual Basicのdatacons.txt
ファイルの同じ定数に対応するように作成されています。
Oracleのデフォルト日付書式は"DD-MMM-YY"ですが、DATE
型のフィールドは、コントロール パネルで指定されているVisual Basicのデフォルト日付書式で戻されることに注意してください。
NUMBER(
精度, 位取り)
ではなく、単にNUMBER
として定義された列は、定義上、精度38の浮動小数点数であることに注意してください。 これは、このような列に対しては、Type
プロパティでORADB_TEXT
型が戻ることを意味します。
適用対象
説明
この属性の型を表す整数のコードを戻します。
使用方法
typecode = OraAttribute.Type
データ型
Integer
備考
これらの整数のコードは、Oracle Call Interface(OCI)の外部データ型に対応しています。「Oracleデータ型」の項を参照してください。
適用対象
説明
コレクションの型をコードで戻します。
使用方法
coll_type = OraCollection.Type
データ型
Integer
備考
このプロパティは、次の値の1つを戻します。
定数 | 値 | 説明 |
---|---|---|
ORATYPE_VARRAY |
247 |
VARRAY 型。 |
ORATYPE_TABLE |
248 |
NESTED TABLE型。 |
適用対象
説明
OraMetaData
オブジェクトで記述されるスキーマ・オブジェクトの型を戻します。
使用方法
type = OraMetaData.Type
備考
考えられる値は、次の定数です。
定数 | 値 |
---|---|
ORAMD_TABLE |
1 |
ORAMD_VIEW |
2 |
ORAMD_COLUMN |
3 |
ORAMD_COLUMN_LIST |
4 |
ORAMD_TYPE |
5 |
ORAMD_TYPE_ATTR |
6 |
ORAMD_TYPE_ATTR_LIST |
7 |
ORAMD_TYPE_METHOD |
8 |
ORAMD_TYPE_METHOD_LIST |
9 |
ORAMD_TYPE_ARG |
10 |
ORAMD_TYPE_RESULT |
11 |
ORAMD_PROC |
12 |
ORAMD_FUNC |
13 |
ORAMD_ARG |
14 |
ORAMD_ARG_LIST |
15 |
ORAMD_PACKAGE |
16 |
ORAMD_SUBPROG_LIST |
17 |
ORAMD_COLLECTION |
18 |
ORAMD_SYNONYM |
19 |
ORAMD_SEQENCE |
20 |
ORAMD_SCHEMA |
21 |
ORAMD_OBJECT_LIST |
22 |
ORAMD_OBJECT_LIST |
23 |
ORAMD_DATABASE |
24 |
注意: このバージョンのOraMetaData オブジェクトがOracle Databaseリリース8.1以上で使用される場合、データベースを拡張して新しいスキーマの型が導入され、24を超える値が指定される可能性があります。 |
適用対象
説明
オブジェクトのユーザー定義型の名前を含む文字列を指定します。
使用方法
typename = OraRef.TypeName typename = OraObject.TypeName
データ型
String
備考
このプロパティは、実行時は読取り専用です。
適用対象
説明
指定したダイナセットが更新可能かどうかを戻します。設計時には使用できません。実行時は読取り専用です。
使用方法
if_updatable = oradynaset.Updatable
データ型
Integer
(ブール)
備考
指定したダイナセットの行が更新可能な場合はTRUE
、それ以外の場合はFALSE
を戻します。
結果のダイナセットが更新可能であるかどうかは、Oracle SQLの更新可能性規則、付与されているアクセス権、およびCreateDynaset
メソッドの読取り専用フラグによって決まります。
更新可能にするためには、次の3つの条件を満たす必要があります。
SQL文が単純な列リストまたは列リスト全体(*)を参照すること
SQL文でオプション引数の読取り専用フラグを設定しないこと
Oracle Databaseで、選択された問合せ行のROWID
参照が可能であること
SQL文はこれらの基準を満たしていない場合でも処理されますが、結果のダイナセットは更新不可になり、FALSE
が戻ります。
例
この例では、Updatable
メソッドの使用方法を示します。このコードをコピーして、フォームの定義セクションに貼り付けてください。次に[F5]を押します。
Sub Form_Load () 'Declare variables as OLE Objects. Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset As OraDynaset 'Create the OraSession Object. Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Create the OraDatabase Object by opening a connection to Oracle. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) 'Create an updatable dynaset using a simple query. Set OraDynaset = OraDatabase.CreateDynaset("select * from emp", 0&) Call IsDynUpdatable(OraDynaset) 'Create a non-updatable dynaset using column aliases. Set OraDynaset = OraDatabase.CreateDynaset("select ename EmployeeName," & _ "empno EmployeeNumber, sal Salary from emp", 0&) Call IsDynUpdatable(OraDynaset) 'Create a non-updatable dynaset using a join. Set OraDynaset = OraDatabase.CreateDynaset("select ename, emp.deptno," & _ "loc from emp, dept where emp.deptno = dept.deptno", 0&) Call IsDynUpdatable(OraDynaset) End Sub Sub IsDynUpdatable (odyn As OraDynaset) 'Check to see if the dynaset is updatable. If odyn.Updatable = True Then MsgBox "Created an UPDATABLE dynaset from: '" & odyn.SQL & "'" Else MsgBox "Created a READ-ONLY dynaset from: '" & odyn.SQL & "'" End If End Sub
適用対象
説明
指定したオブジェクトの値を取得または設定します。設計時には使用できません。実行時は読取り/書込みができます。
使用方法
orafield.Value = data_value data_value = orafield.Value oraparameter.Value = data_value data_value = oraparameter.Value
データ型
Variant
備考
Orafield.Value
フィールドの値をVariant
として戻します。
フィールドの内容は、data_value
=
orafield.Value
によって設定されます。フィールドにはNULL
値を使用できます。戻り値がNULLかどうかを判断するには、Visual BasicのIsNull()
ファンクションを使用してValue
プロパティを検証できます。カレント・レコードが編集可能な場合は、Value
プロパティにNULL
を割り当てることもできます。データベースからデータが取り出されると、フィールド値はローカルにキャッシュされます。ただし、LONG
またはLONG
RAW
型のフィールドの場合は、取出しおよびローカルへの格納が行われないデータもあります。その場合は、GetChunk
フィールド・メソッドに記述されているメソッドを使用して、必要に応じてデータを取得します。Value
プロパティを介して直接取得できるLONG
またはLONG
RAW
型のフィールドの最大サイズは約64KBです。64KBを超えるデータ・フィールドは、GetChunk
メソッドを使用して間接的に取得する必要があります。
OraParameter.Value
パラメータの値をVariant
として戻します。
パラメータの内容は、data_value
= oraparameter.Value
によって設定されます。Variant
データ型の値を変更すると、関連するSQL文およびPL/SQL文の処理に重大な影響を与える可能性があります。
Oracleのデフォルト日付書式は"DD-MMM-YY"ですが、DATE
型のフィールドは、Visual Basicのデフォルト日付書式"MM/DD/YY" で戻されることに注意してください。
Value
引数には、OraBLOB
などのOracle Database 10gオブジェクトを使用できます。
ダイナセットと同様に、Value
プロパティから取得したオブジェクトは、常にパラメータの最新の値を参照します。Visual Basicの
NULL
値を値として渡すこともできます。Visual BasicのEMPTY値は、BLOB
およびCLOB
に対しては空のLOBを意味する目的で、OBJECT
、VARRAY
およびNESTED
TABLE
に対してはオブジェクトの属性がすべてNULL
であることを意味する目的で使用できます。
適用対象
説明
属性の値を取得または設定します。この値には、OraObject
、OraRef
またはOraCollection
オブジェクト、あるいはサポートされているスカラー型(Integer
やFloat
など)のインスタンスがあります。
使用方法
attr_value = OraAttribute.Value OraAttribute.Value = attr_value
データ型
Variant
備考
これは、このオブジェクトのデフォルトのプロパティです。
OraAttribute
オブジェクトのValue
プロパティは、属性の値をVariant
として戻します。属性のVariant
の型は、属性の型によって決まります。属性の値はNULL
である場合もあり、また、NULL
に設定できます。オブジェクト、REF
、LOBおよびコレクション型の属性の場合は、属性の値が、その型に対応するOO4Oオブジェクトとして戻されます。
次の表に、OraAttribute
オブジェクトのValue
プロパティの属性の型と戻り値を示します。
要素の型 | 要素の値 |
---|---|
Object |
OraObject |
REF |
OraRef |
VARRAY 、ネストした表 |
OraCollection |
BLOB |
OraBLOB |
CLOB |
OraCLOB |
BFILE |
OraBFILE |
Date |
String |
Number |
String |
CHAR 、VARCHAR2 |
String |
Real |
Real |
Integer |
Integer |
適用対象
説明
指定したオブジェクトの値を取得または設定します。
使用方法
Msg.Value = my_string set Msg.Value = OraObj my_string = Msg.Value Set OraObj = Msg.Value
データ型
String
備考
Value
プロパティは、ユーザー定義型に加え、RAW
の実際のメッセージを表します。
このプロパティは設計時には使用できません。実行時は読取り/書込みができます。
例
'To set the value for a message of Raw type OraAQMsg.Value = "This is a test message" myString = "Another way of setting the message" OraAQMsg.Value = myString 'To set the value for a message of user-defined type Dim OraObj as OraObject OraObj("subject").Value = txtdesc OraObj("text").Value = txtmsg set OraAQMsg.Value = OraObj 'To get the value from a message of raw type myString = OraAQMsg.Value 'To get the value from a message of object type(user-defined type) Set OraObj = OraMsg.Value txtdesc = OraObj("subject").Value txtmsg = OraObj("text").Value
適用対象
説明
読取りでは、[+/-]Day HH:MI:SSxFFの書式を使用して
OraIntervalDS
の値を表す文字列を取得します。設定では、Variant
型の文字列、数値またはOraIntervalDS
オブジェクトを使用できます。
使用方法
string = OraIntervalDSObj.Value OraIntervalDSObj.Value = value
引数
引数 | 説明 |
---|---|
[in ] value |
Variant 型の文字列、数値またはOraIntervalDS オブジェクト。
|
データ型
Variant
備考
値セットがVariant
型の文字列の場合は、[+/-]Day HH:MI:SSxFFの書式で記述する必要があります。
値セットが数値の場合、提供される値は、OraIntervalDS
オブジェクトが表す合計日数を表す必要があります。
例
Dim oraIDS as OraIntervalDS 'Create an OraIntervalDS using a string which represents 1 day and 12 hours Set oraIDS = oo4oSession.CreateOraIntervalDS("1 12:0:0.0") 'get the OraIntervalDS.Value return a string for the Value ' property, idsStr is set to "01 12:00:00.000000" idsStr = oraIDS.Value 'can also return a string for the Value property as follows idsStr = oraIDS 'set the OraIntervalDS.Value using a string which represents 1 days and 12 hours oraIDS.Value = "1 12:0:0.0" 'set the OraIntervalDS.Value using a numeric value which represents '1 days and 12 hours oraIDS.Value = 1.5
適用対象
説明
読取りでは、YEARS-MONTHSの書式を使用して
OraIntervalYM
の値を表す文字列を取得します。
設定では、Variant
型の文字列、数値またはOraIntervalYM
オブジェクトを使用できます。
使用方法
string = OraIntervalYMObj.ValueOraIntervalYMObj.Value= value
引数
引数 | 説明 |
---|---|
[in ] value |
Variant 型の文字列、数値またはOraIntervalYM オブジェクト。
|
データ型
String
備考
値セットがVariant
型の文字列の場合は、[+/-]YEARS-MONTHSの書式で記述する必要があります。
値セットが数値の場合、提供される値は、OraIntervalYM
オブジェクトが表す合計年数を表す必要があります。
例
Dim oraIYM as OraIntervalYM 'Create an OraIntervalYM using a string which represents 1 year and 6 months Set oraIYM = oo4oSession.CreateOraIntervalYM("1-6") 'get the OraIntervalYM.Value return a string for the Value property, ' iymStr is set to "01-06" iymStr = oraIYM.Value 'can also return a string for the Value property as follows iymStr = oraIYM 'set the OraIntervalDS.Value using a string which represents 1 year and 6 months oraIYM.Value = "1-6" 'set the OraIntervalYM.Value using a numeric value which represents '1 years and 6 months oraIYM.Value = 1.5
適用対象
説明
属性の値を含む文字列を戻します。
使用方法
value = OraMDAttribute.Value
データ型
String
備考
これはデフォルトのプロパティです。
適用対象
説明
読取りでは、現行の書式文字列を使用して
OraNumber
の値を表す文字列を取得します。設定では、Variant
型の文字列、OraNumber
または数値を使用できます。実行時は読取り/書込みができます。
使用方法
string = OraNumber.Value OraNumber.Value = variantval
引数
引数 | 説明 |
---|---|
[in ] variantval |
Variant 型の文字列、OraNumber または数値 。 |
データ型
Variant
備考
Value
プロパティが数値型(LONG
など)に設定されている場合、値は、数値に対してVisual Basicが保証する最大精度に制限されます。
その値に対して現行の書式を正常に適用できない場合は、エラーが発生します。このプロパティに対して、数値に変換できないVariant
型の値(数値以外の文字を使用している文字列など)を設定した場合もエラーになります。
適用対象
説明
読取りでは、
OraTimeStamp
オブジェクトの値を表す文字列を取得します。 Format
プロパティがNULLでない場合、出力はFormat
プロパティに指定されている文字列書式になります。それ以外の場合、出力の文字列書式は、セッションのTIMESTAMP
書式(NLS_TIMESTAMP_FORMAT
)になります。設定では、
Variant
型の文字列、日付またはOraTimeStamp
を使用できます。
使用方法
string = OraTimeStampObj.ValueOraTimeStampObj.Value= value
引数
引数 | 説明 |
---|---|
[in ] value |
Variant 型の文字列、日付またはOraTimeStamp 。
|
データ型
String
備考
値がString
型で、Format
プロパティがNULLでない場合、文字列の書式はFormat
プロパティと一致する必要があります。Format
プロパティがNULLの場合、文字列の書式はセッションのTIMESTAMP
書式と一致する必要があります。
例
... Set OraTimeStamp = OraSession.CreateOraTimeStamp("1999-APR-29 " & _ "12:10:23.444 AM", "YYYY-MON-DD HH:MI:SS.FF AM") 'returns a string for the Value property tsStr = OraTimeStamp.Value 'set OraTimeStamp.Value using a string OraTimeStamp.Value = "1999-APR-29 12:10:23.444 AM"
適用対象
説明
読取りでは、
OraTimeStampTZ
オブジェクトの値を表す文字列を取得します。 Format
プロパティがNULLでない場合、出力はFormat
プロパティに指定されている文字列書式になります。それ以外の場合、出力の文字列書式は、セッションのTIMESTAMP
WITH
TIME
ZONE
書式(NLS_TIMESTAMP_TZ_FORMAT
)になります。設定では、
Variant
型の文字列、日付またはOraTimeStampTZ
を使用できます。
使用方法
string = OraTimeStampTZObj.ValueOraTimeStampObjTZ.Value= value
引数
引数 | 説明 |
---|---|
[in ] value |
Variant 型の文字列、日付またはOraTimeStampTZ 。
|
データ型
String
備考
値が
Variant
型の文字列で、Format
プロパティがNULLでない場合、文字列の書式はFormat
プロパティと一致する必要があります。Format
プロパティがNULLの場合、文字列の書式はセッションのTIMESTAMP
WITH
TIME
ZONE
書式と一致する必要があります。
値が
Variant
型の日付の場合、Date
の日時値は、セッションのタイムゾーンの日時値として解析されます。OraTimeStampTZ
オブジェクトのタイムゾーン情報には、セッションのタイムゾーンが含まれています。
例
Dim OraTimeStampTZ As OraTimeStampTZ ... Set OraTimeStampTZ = OraSession.CreateOraTimeStampTZ("2003-APR-29" & _ "12:00:00 -07:00", "YYYY-MON-DD HH:MI:SS TZH:TZM") 'returns a string for the Value property tstzStr = OraTimeStampTZ.Value ... 'set OraTimeStampTZ.Value using a string OraTimeStampTZ.Value = "2003-APR-29 12:00:00 -07:00"
適用対象
説明
基礎となる値インスタンスの型に対してユーザーが割り当てたバージョンを含んだ文字列を戻します。
使用方法
version = OraRef.Version version = OraObject.Version
データ型
String
備考
このプロパティは、実行時は読取り専用です。
適用対象
説明
エンキュー要求に対するトランザクション動作を指定します。
使用方法
Q.Visible = transaction_mode
データ型
Integer
備考
このプロパティは、エンキュー操作に対してのみ適用されます。
次の値を指定できます。
ORAAQ_ENQ_IMMEDIATE
(1
)
エンキュー操作がそのトランザクション自体を構成します。エンキュー操作の直後にメッセージを表示する場合に、このプロパティを設定します。
ORAAQ_ENQ_ON_COMMIT
(2
)(デフォルト)
エンキューは、現行のトランザクションの一部で、トランザクション・コミットの後のみ、メッセージを表示します。
例
Msg.Value = "The visibility option used in the enqueue call is " & _ "ORAAQ_ENQ_IMMEDIATE" Q.Visible = ORAAQ_ENQ_IMMEDIATE Q.Enqueue
適用対象
説明
使用可能なメッセージがない場合の待機時間(秒単位)を指定します。
使用方法
Q.Wait = seconds
データ型
Integer
備考
デキュー操作にのみ適用できます。
次の値を指定できます。
ORAAQ_DQ_WAIT_FOREVER
(-1
)(デフォルト)
待機し続けます。
ORAAQ_DQ_NOWAIT
(0
)
待機しません。
適用対象
説明
このフィールド名が属性として指定されているかどうかを示すブール値を取得および設定します。値がFALSE
の場合、フィールド名は要素に指定されています。実行時は読取り/書込みができます。
使用方法
OraField.XMLAsAttribute = True
備考
このプロパティのデフォルト値は、FALSE
です。
BLOB
、CLOB
、BFILE
、Object
、VARRAY
、Nested
Table
、Long
およびLongRaw
型のフィールドは、XML属性には指定できません。
適用対象
説明
GetXML
またはGetXMLToFile
メソッドがコールされる際に発生するコレクション項目のレンダリングで、(<TYPENAME_ITEM
id
= "1">
の)id
に置き換わる属性名を取得および設定します。実行時は読取り/書込みができます。
使用方法
oradynaset.XMLCollID = "NEWID"
備考
このプロパティのデフォルト値は、id
です。このプロパティがNULL
に設定されているか、または空の文字列(""
)の場合、collectionid
属性は省略されます。属性名は有効である必要があります。有効でないと、エラーが生じます。大/小文字が区別されます。
適用対象
説明
生成されたXMLドキュメントのencodingタグの文字列値を取得または設定します。
使用方法
OraDynaset.XMLEncodingTag = "SHIFT_JIS"
備考
このプロパティは、OO4Oで生成されたXMLドキュメントのキャラクタ・セットが、保存または解析される前のコードと異なるコードに変換される場合に有効です。データベースへのプロパティのロードまたはファイル・システムへのプロパティの保存時に発生する可能性があります。
このプロパティは、encodingタグの値を設定するだけで、実際のドキュメントのエンコードの変更は行いません。Visual BasicのGetXML
メソッドで生成されたドキュメントは、UCS2にエンコードされます。 GetXMLToFile
メソッドで生成されたドキュメントには、現行のNLS_LANG
設定と同じキャラクタ・セットが使用されます。
このプロパティが空の文字列の場合は、デフォルトのencodingタグが使用されます。タグを完全に省略する場合は、OraDynaset.XMLOmitEncodingTag
を使用してください。
指定されたエンコーディング値の妥当性チェックは行われません。
適用対象
説明
フィールド値がNULL
の場合にNULL標識属性が使用されるかどうかを示すブール値を取得および設定します。このプロパティがFALSE
の場合、NULL
値のタグは省略されます。実行時は読取り/書込みができます。
使用方法
oradynaset.XMLNullIndicator = True
備考
このプロパティのデフォルト値は、FALSE
です。
適用対象
説明
encodingタグが省略されているかどうかを判断するブール値を取得または設定します。
使用方法
OraDynaset.XMLOmitEncodingTag = True
備考
デフォルト値はFALSE
です。
このプロパティがFALSE
に設定されている場合、encodingタグにはXMLEncodingTag
プロパティの値が使用されます。
適用対象
説明
GetXML
またはGetXMLToFile
メソッドがコールされる際に発生するXMLのレンダリングで、(<ROW
id=
"1">
の)id
に置き換わる属性名を取得および設定します。実行時は読取り/書込みができます。
使用方法
oradynaset.XMLRowID = "NEWID"
備考
このプロパティのデフォルト値は、id
です。このプロパティがNULL
に設定されているか、または空の文字列(""
)の場合、rowid
属性は省略されます。属性名は有効である必要があります。有効でないと、エラーが生じます。大/小文字が区別されます。
適用対象
説明
GetXML
またはGetXMLToFile
メソッドがコールされる際に発生するXMLのレンダリングで、行セット・タグ<ROWSET>
に置き換わるタグ名を取得または設定します。実行時は読取り/書込みができます。
使用方法
oradynaset.XMLRowSetTag = "NEWROWSET"
備考
このプロパティのデフォルト値は、ROWSET
です。タグ名は有効である必要があります。有効でないと、エラーが生じます。大/小文字が区別されます。ドキュメントとともにスキーマ・メタデータが要求されないかぎり、このタグはルートになります。
適用対象
説明
GetXML
またはGetXMLToFile
メソッドがコールされる際に発生するXMLのレンダリングで、<ROW>
に置き換わるタグ名を取得および設定します。実行時は読取り/書込みができます。
使用方法
oradynaset.XMLRowTag = "NEWROW"
備考
このプロパティのデフォルト値は、ROW
です。 このプロパティがNULL
に設定されているか、または空の文字列(""
)の場合、<ROW>
タグは省略されます。タグ名は有効である必要があります。有効でないと、エラーが生じます。大/小文字が区別されます。
適用対象
説明
GetXML
またはGetXMLToFile
メソッドがコールされる際に発生するXMLのレンダリングで、このフィールドに使用されるタグ名を取得および設定します。実行時は読取り/書込みができます。
使用方法
orafield.XMLTagName = "EmployeeName"
備考
このプロパティのデフォルト値は、Name
プロパティの値です。このプロパティがNULL
に設定されているか、または空の文字列(""
)の場合、このフィールドは省略されます。名前は有効である必要があります。有効でないと、エラーが生じます。大/小文字が区別されます。
適用対象
説明
GetXML
またはGetXMLToFile
メソッドがコールされる際に、タグ名または属性名が大文字かどうかを示すブール値を取得および設定します。実行時は読取り/書込みができます。
使用方法
oradynaset.XMLUpperCase = True
備考
このプロパティのデフォルト値は、FALSE
です。このプロパティがTRUE
に設定されている場合、タグ名および属性名はすべて大文字になります。このメソッドは、すべてのカスタム・タグまたは属性名がユーザーにより設定された後でコールする必要があります。
適用対象
説明
OraTimeStamp
オブジェクトのYear
属性を取得または設定します。
使用方法
year = OraTimeStampObj.YearOraTimeStampObj.Year = year
引数
引数 | 説明 |
---|---|
[in ] year |
OraTimeStamp オブジェクトのYear 属性。 |
データ型
Integer
適用対象
説明
OraTimeStampTZ
オブジェクトのYear
属性を取得または設定します。
使用方法
year = OraTimeStampObjTZ.Year OraTimeStampObjTZ.Year = year
引数
引数 | 説明 |
---|---|
[in ] year |
OraTimeStampTZ オブジェクトのYear 属性。 |
データ型
Integer