ヘッダーをスキップ
Oracle Objects for OLE 開発者ガイド
11g リリース1(11.1)
E05794-01
  目次へ
目次
索引へ
索引

戻る
戻る
 
次へ
次へ
 

11 サーバー・プロパティ

この章では、Oracle Objects for OLEのサーバー・プロパティについて説明します。

サーバー・オブジェクトの概要は、「Oracle Objects for OLEインプロセス・オートメーション・サーバー」を参照してください。

内容は次のとおりです。

サーバー・プロパティ: A〜F

サーバー・プロパティ: E〜L

サーバー・プロパティ: M〜O

サーバー・プロパティ: P〜T

サーバー・プロパティ: U〜Z


Address(OraAQAgent)プロパティ

適用対象

OraAQAgentオブジェクト

説明

プロトコル固有の受信者アドレスを示す128バイトの文字列を戻します。 書式は、[schema.]queue[@dblink]です。

使用方法

agent_address = qMsg.AQAgent.Address

データ型

String


ArraySizeプロパティ

適用対象

OraParamArrayオブジェクト

説明

OraParameter文字列バッファの配列のサイズ(つまり、配列内の要素数)を指定します。設計時には使用できません。実行時は読取り専用です。

使用方法

OraParamArray.ArraySize

データ型

Integer

備考

ArraySizeAddTableで指定します。OraParamArrayオブジェクトのAddTableメソッドを参照してください。


関連項目:

AddTableメソッド


AutoCommitプロパティ

適用対象

OraDatabaseオブジェクト

説明

OraDatabaseオブジェクトのAutoCommitプロパティを取得または設定します。

使用方法

autocommit = OraDatabase.AutoCommit
OraDatabase.AutoCommit = [ True | False

データ型

ブール

備考

AutoCommitプロパティがTRUEに設定されている場合、データベース内のデータを変更するすべての操作は、その操作を行う文の実行後に自動的にコミットされます。

AutoCommitプロパティがFALSEに設定されている場合は、OraDatabaseトランザクション・メソッド(BeginTransCommitTransおよび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")


BOCプロパティ

適用対象

OraCollectionオブジェクト

説明

コレクション・イテレータがコレクションの最初の要素の前に移動した場合はTRUEになります。

使用方法

boc_flag = OraCollection.BOC

データ型

ブール

「例: OraCollectionイテレータ」を参照してください。


BOFプロパティ

適用対象

OraDynasetオブジェクト

説明

ダイナセットのカレント・レコードが最初のレコードの前にあるかどうかを戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

bof_status = oradynaset.BOF

データ型

Integer(ブール)

備考

MovePreviousメソッドを使用してダイナセットの最初のレコードより前に移動しようとした場合はTRUEを戻します。それ以外の場合はFALSEを戻します。

レコードセットが空の場合、BOFEOFは両方とも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

Bookmarkプロパティ

適用対象

OraDynasetオブジェクト

説明

レコードセットのカレント・レコードを判断します。設計時には使用できません。実行時は読取り/書込みができます。

使用方法

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


BookMarkableプロパティ

適用対象

OraDynasetオブジェクト

説明

指定したダイナセットがBookmarkオブジェクトをサポートするかどうかを示します。設計時には使用できません。実行時は読取り専用です。

使用方法

if_bookmarkable = oradynaset.Bookmarkable

データ型

Integer(ブール)

備考

指定したダイナセットの作成時に非キャッシュ・モードが設定されていないかぎり、このプロパティはTRUEを戻します。非キャッシュ・モードが設定されている場合はFALSEを戻します。


CacheBlocksプロパティ

適用対象

OraDynasetオブジェクト

説明

キャッシュの最大ブロック数を取得または設定します。

使用方法

set blocks = oradynaset.CacheBlocks
oradynaset.CacheBlocks = blocks

データ型

Integer


CacheChangedプロパティ

適用対象

OraDynasetオブジェクト

説明

キャッシュ・パラメータまたはフェッチ・パラメータが変更されている場合はTRUEになります。

使用方法

set Changed = oradynaset.CacheChanged

データ型

ブール


CacheMaximumSizeプロパティ

適用対象

OraDatabaseオブジェクト

説明

クライアント側のオブジェクト・キャッシュの最大サイズ(最高水位標)を、最適サイズに対するパーセントで設定します。 デフォルト値は10%です。

使用方法

Oradatabase.CacheMaximumSize maxsize

データ型

Long

備考

キャッシュ内で現在オブジェクトが占有するメモリーが最高水位標(最大オブジェクト・キャッシュ・サイズ)を超えた場合、キャッシュは、マークされていないオブジェクト(確保カウントが0(ゼロ)のオブジェクト)を自動的に解放し始めます。キャッシュ内のメモリー使用が最適サイズになるまで、または解放できるオブジェクトがなくなるまで、このようなオブジェクトの解放が続きます。


CacheOptimalSizeプロパティ

適用対象

OraDatabaseオブジェクト

説明

クライアント側のオブジェクト・キャッシュの最適サイズをバイト単位で設定します。デフォルト値は200KBです。

使用方法

Oradatabase.CacheOptimalSize optimalsize

データ型

Long

備考

このパラメータは、クライアント側のオブジェクト・キャッシュ・サイズを増加します。キャッシュ内で現在オブジェクトが占有するメモリーが最高水位標(最大オブジェクト・キャッシュ・サイズ)を超えた場合、キャッシュは、マークされていないオブジェクト(確保カウントが0(ゼロ)のオブジェクト)を自動的に解放し始めます。キャッシュ内のメモリー使用が最適サイズになるまで、または解放できるオブジェクトがなくなるまで、このようなオブジェクトの解放が続きます。オブジェクト・キャッシュがOracle Database 10gから取り出したすべてのオブジェクト・インスタンスを格納できるように、このパラメータを適切な値に設定する必要があります。このプロパティは、Oracle Database 10gオブジェクト・インスタンスのアクセス用にパフォーマンスを調整する場合に便利です。


CacheSliceSizeプロパティ

適用対象

OraDynasetオブジェクト

説明

キャッシュ・スライス・サイズを取得または設定します。

使用方法

 set Slicesize = oradynaset.CacheSliceSize
 oradynaset.CacheSliceSize = Slicesize

データ型

Integer


CacheSlicesPerBlockプロパティ

適用対象

OraDynasetオブジェクト

説明

ブロック当たりのキャッシュ・スライスを取得または設定します。

使用方法

set Perblock = oradynaset.CacheSlicePerBlock
oradynaset.CacheSlicePerBlock  = Perblock

データ型

Integer


Clientプロパティ

適用対象

OraSessionオブジェクト

説明

指定したセッションに関連付けられているOraClientオブジェクトを戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

Set oraclient = orasession.Client

データ型

OLEオブジェクト(OraClient

備考

各コンピュータは1つのクライアント・オブジェクトのみを保有しているため、このプロパティは同一コンピュータ上のすべてのセッションに対して同じオブジェクトを戻します。


Connectプロパティ

適用対象

OraConnectionオブジェクト

OraDatabaseオブジェクト

説明

接続に関連付けられている接続文字列のユーザー名を戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

connect_string = oraconnection.Connect
connect_string = oradatabase.Connect

データ型

String

備考

ユーザー名に関連付けられているパスワードが戻ることはありません。

この例では、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


Connectionプロパティ

適用対象

OraDatabaseオブジェクト

OraDynasetオブジェクト

OraSQLStmtオブジェクト

説明

指定したデータベース、ダイナセットまたはOraSQLStmtオブジェクトに関連付けられているOraConnectionオブジェクトを戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

Set oraconnection = oradatabase.Connection
Set oraconnection = oradynaset.Connection
Set oraconnection = orasqlstmt.Connection

データ型

OLEオブジェクト(OraConnection

備考


ConnectionOKプロパティ

適用対象

OraDatabaseオブジェクト

OraConnectionオブジェクト

説明

OraConnectionオブジェクトに関連付けられているデータベース接続の状態を示すブール値を戻します。TRUEが戻る場合は、指定したデータベースに関連付けられている接続オブジェクトの接続が有効であることを示します。接続が切断されている場合、このプロパティはFALSEを戻します。

設計時には使用できません。実行時は読取り専用です。

使用方法

ConnectionStat = OraDatabase.ConnectionOK
ConnectionStat = OraDatabase.Connection.ConnectionOK

データ型

ブール

備考


Connectionsプロパティ

適用対象

OraSessionオブジェクト

説明

指定したセッションのOraConnectionsコレクションを戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

Set oraconnections_collection = orasession.Connections

データ型

OLEオブジェクト(OraParameters

備考

このコレクション内の接続には、添字(順序を示す整数)を使用することでアクセスできます。戻されたコレクションのCountプロパティを使用すると、コレクション内の接続数を取得できます。整数の添字は0で開始し、Count - 1で終了します。範囲外の索引値と無効な名前を指定すると、NULLOraConnectionオブジェクトが戻ります。


Consumer(OraAQ)プロパティ

適用対象

OraAQオブジェクト

説明

デキュー操作にのみ適用できます。

使用方法

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



Correlate(OraAQ)プロパティ

適用対象

OraAQオブジェクト

説明

メッセージのデキュー時に検索する識別子を指定します。

使用方法

Q.Correlate = "RELATIVE_MESSAGE_ID"

データ型

String

備考

デキュー操作にのみ適用できます。


Correlation(OraAQMsg)プロパティ

適用対象

OraAQMsgオブジェクト

説明

メッセージの識別子を指定します。特定のメッセージをデキューする手段として使用できます。

使用方法

Msg.Correlation = my_message

データ型

String

備考

エンキューしているメッセージに対してのみ適用できます。128バイトまでの文字列を戻します。

この識別子を使用してデキューする方法は、Correlateを参照してください。


Countプロパティ

適用対象

OraConnectionsコレクション

OraFieldsコレクション

OraParametersコレクション

OraSessionsコレクション

OraSubscriptionsコレクション

説明

指定したコレクション内のオブジェクトの数を戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

connection_count = oraconnections.Count
field_count = orafields.Count
parameter_count = oraparameters.Count
session_count = orasessions.Count
subscriptions_count = OraSubscriptions.Count

データ型

Integer

備考

このプロパティを使用して、指定したコレクションのオブジェクト数を判断します。

この例では、Countプロパティを使用して、OraSessionsOraConnectionsおよび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


Count(OraMetaData)プロパティ

適用対象

OraMetaDataオブジェクト

説明

このコレクションに含まれているOraMDAttributeオブジェクトの数を表す整数を戻します。

使用方法

count = OraMetaData.Count

データ型

Integer


Count(OraObject/Ref)プロパティ

適用対象

OraObjectオブジェクト

OraRefオブジェクト

説明

コレクション内の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


Databaseプロパティ

適用対象

OraDynasetオブジェクト

OraSQLStmtオブジェクト

説明

指定したダイナセットまたはSQLオブジェクトに関連付けられているOraDatabaseオブジェクトを戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

Set oradatabase = oradynaset.Database
Set oradatabase = orasqlstmt.Database

データ型

OLEオブジェクト(OraDatabase

備考

OraDynaset.Databaseプロパティは、指定したダイナセットが作成される基礎となったOraDatabaseオブジェクトを戻します。

OraSQLStmt.Databaseプロパティは、指定したSQLStmtオブジェクトが作成される基礎となったOraDatabaseオブジェクトを戻します。


DatabaseNameプロパティ

適用対象

OraConnectionオブジェクト

OraDatabaseオブジェクト

説明

指定したオブジェクトに関連付けられているデータベースの名前を戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

database_name = oraconnection.DatabaseName
database_name = oradatabase.DatabaseName

データ型

String

備考

この例では、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


Databasesプロパティ

適用対象

OraServerオブジェクト

説明

このオブジェクトを使用して確立された全ユーザー・セッションを含むコレクション・インタフェースを戻します。

使用方法

Set myCollection = oraserver.Databases

データ型

OLEオブジェクト(OraCollection


Day(OraTimeStamp)プロパティ

適用対象

OraTimeStampオブジェクト

説明

OraTimeStampオブジェクトのDay属性を取得および設定します。

使用方法

day= OraTimeStampObj.Day
OraTimeStampObj.Day= day

引数

引数 説明
[in] day OraTimeStampオブジェクトのDay属性。

データ型

Integer


Day(OraTimeStampTZ)プロパティ

適用対象

OraTimeStampTZオブジェクト

説明

OraTimeStampTZオブジェクトのDay属性を取得または設定します。

使用方法

day= OraTimeStampTZObj.Day
OraTimeStampTZObj.Day= day

引数

引数 説明
[in] day OraTimeStampTZオブジェクトのDay属性。

データ型

Integer


Daysプロパティ

適用対象

OraIntervalDSオブジェクト

説明

OraIntervalDSオブジェクトのDays属性を取得および設定します。

使用方法

days = OraIntervalDSObj.Days
OraIntervalDSObj.Days = days

引数

引数 説明
[in] days OraIntervalDSオブジェクトのDays属性の値を指定するための整数。

データ型

Integer


DbPoolCurrentSizeプロパティ

適用対象

OraSessionオブジェクト

説明

プール内で現在アクティブなデータベース・オブジェクトの数が入ります。これは読取り専用のプロパティです。

使用方法

curr_size = OraSession.DbPoolCurrentSize

データ型

Integer

備考

プール内のアクティブなデータベース・オブジェクトには、データベースへの有効な接続も含まれます。


DbPoolInitialSizeプロパティ

適用対象

OraSessionオブジェクト

説明

プールの初期サイズが入ります。これは読取り専用のプロパティです。

使用方法

init_size = OraSession.DbPoolInitialSize

データ型

Integer


DbPoolMaxSizeプロパティ

適用対象

OraSessionオブジェクト

説明

最大プール・サイズが入ります。これは読取り専用のプロパティです。

使用方法

max_size = OraSession.DbPoolMaxSize

データ型

Integer


Delay(OraAQMsg)プロパティ

適用対象

OraAQMsgオブジェクト

説明

エンキューされたメッセージを遅延させる秒数を指定します。メッセージの即時使用を遅延するには、このプロパティを設定します。

使用方法

Msg.Delay = seconds

データ型

Integer

備考

エンキューされているメッセージに対してのみ適用できます。

このプロパティは、メッセージをデキュー可能になった時点から遅延させる秒数を示します。

次の値を指定できます。


DequeueMode(OraAQ)プロパティ

適用対象

OraAQオブジェクト

説明

デキュー操作に関連するロック動作を指定します。

使用方法

Q.DequeueMode = locking_mode

データ型

Integer

備考

次の値を指定できます。


DequeueMsgId(OraAQ)プロパティ

適用対象

OraAQオブジェクト

説明

デキューされるメッセージの識別子を表すRAWバイトの配列を戻します。

使用方法

Q.DequeueMsgid = msg_id

データ型

String

備考

デキュー操作にのみ適用できます。


DirectoryNameプロパティ

適用対象

OraBFILEオブジェクト

説明

ディレクトリの別名を取得または設定します。

使用方法

diralias = OraBFile.DirectoryName
OraBFile.DirectoryName = diralias

引数

引数 説明
[in] [out] diralias 取得または設定するディレクトリ名を指定する文字列。

データ型

String

備考

この文字列は、大/小文字が区別されます。


DynasetOptionプロパティ

適用対象

OraParameterオブジェクト

説明

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操作を強制的に実行しません。BOFEOFは両方ともTRUEです。


EditModeプロパティ

適用対象

OraDynasetオブジェクト

説明

現在の行の編集状態を戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

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ファイルの同じ定数に対応するように作成されています。

このプロパティに影響を与えるメソッドは、EditAddNewおよびUpdateのみです。


EditOption(OraRef)プロパティ

適用対象

OraRefオブジェクト

説明

PIN操作でオブジェクトをロックするかどうかを指定します。

使用方法

edit_option = OraRef.EditOption
OraRef.EditOption = edit_option

引数

引数 説明
[in] [out] edit_option 編集オプションを表す整数

データ型

Integer

備考

このプロパティは、Ref値のPIN操作を行う前、つまり、OraRefオブジェクトで属性に初めてアクセスする前にコールしてください。PIN操作の直後にオブジェクトの属性が変更された場合は、このオプションが有効です。PIN操作でオブジェクト・インスタンスをロックすることで、EditOraRef)操作全体のデータベースへのラウンドトリップが抑制されます。

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


ElementTypeプロパティ

適用対象

OraCollectionオブジェクト

説明

要素のサーバー型を表す整数のコードを戻します。このプロパティは、実行時は読取り専用です。

使用方法

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


EOCプロパティ

適用対象

OraCollectionオブジェクト

説明

コレクション・イテレータがコレクションの最後の要素の後に移動した場合はTRUEを戻します。

使用方法

eoc_flag = OraCollection.EOC

データ型

ブール

「例: OraCollectionイテレータ」を参照してください。


EOFプロパティ

適用対象

OraDynasetオブジェクト

説明

ダイナセットのカレント・レコードが最後のレコードの後にあるかどうかを示します。設計時には使用できません。実行時は読取り専用です。

使用方法

eof_status = oradynaset.EOF

データ型

Integer(ブール)

備考

MoveNextメソッドを使用してダイナセットの最後のレコードより後に移動しようとした場合はTRUEを戻します。それ以外の場合はFALSEを戻します。

レコードセットが空の場合、BOFEOFは両方とも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


ExceptionQueueプロパティ

適用対象

OraAQMsgオブジェクト

説明

正常に実行できない場合に移動するメッセージのキュー名を指定します。

使用方法

Msg.ExceptionQueue queue_name

データ型

String

備考

エンキューしているメッセージに対してのみ適用できます。

次の値を指定できます。

デキューしようとした数がすべて終了している場合、またはデキューしようとした数がDBMS_AQADM.CREATE_QUEUEコマンドに指定されたmax_retriesを超えた場合、メッセージは例外キューに移動します。


Existsプロパティ

適用対象

OraBFILEオブジェクト

説明

OraBFILEがデータベースにあるBFILEを指す場合はTRUEを戻します。

使用方法

exists = OraBFile.Exists

データ型

ブール

備考

このプロパティを使用するには、BFILEが存在するディレクトリに対する読込み権限が必要です。ユーザーがディレクトリを確実に読込み可能であるためには、そのディレクトリに対してオペレーティング・システム固有の許可が必要です。

事前に適切な権限がデータベースに設定されている必要があります。たとえば、Existsプロパティを介してユーザー(scott)がディレクトリ(BfileDirectory)を読み込むには、次のSQL文を実行する必要があります。

GRANT READ ON DIRECTORY BfileDirectory TO scott;


Expiration(OraAQMsg)プロパティ

適用対象

OraAQMsgオブジェクト

説明

メッセージがデキュー可能になる時間を秒数で指定します。

使用方法

Msg.Expiration = seconds

データ型

Integer

備考

このプロパティは遅延からのオフセットです。エンキューしているメッセージに対してのみ適用できます。

次の値を指定できます。


FetchLimitプロパティ

適用対象

OraDynasetオブジェクト

説明

フェッチの配列サイズを取得または設定します。

使用方法

set Limit = oradynaset.FetchLimit
oradynaset.FetchLimit = Limit

データ型

Integer


FetchSizeプロパティ

適用対象

OraDynasetオブジェクト

説明

フェッチの配列バッファ・サイズを取得または設定します。

使用方法

set Size = oradynaset.FetchSize
oradynaset.FetchSize = Size

データ型

Integer


FieldIndexプロパティ

適用対象

OraDynasetオブジェクト

説明

field_name引数が指しているフィールドの索引を戻します。

使用方法

set index = oradynaset.FieldIndex(field_name)

引数

引数 説明
[in] field_name ダイナセットが最近使用したSQL文に出現したフィールド名。

データ型

Integer

備考

ダイナセットのフィールドは、名前でアクセスするよりも索引を使用してアクセスしたほうが効率的です。特定のフィールドに複数回アクセスする必要がある場合は、このメソッドを使用して名前を索引に変換します。


FieldNameプロパティ

適用対象

OraDynasetオブジェクト

説明

ダイナセット内のSELECT文で使用されるフィールド名を戻します。

使用方法

set field_name = oradynaset.FieldName(index)

引数

引数 説明
[in] index SQL文で使用されるとおりのフィールド名の索引。

データ型

String


FieldOriginalNameプロパティ

適用対象

OraDynasetオブジェクト

説明

ダイナセット内のSELECT文で使用された元のフィールド名を取得します。

使用方法

set field_name = oradynaset.FieldOriginalName(index)

引数

引数 説明
[in] index SQL文で使用されたとおりの元のフィールド名のフィールド索引を指定するための整数。

データ型

String

備考

FieldOriginalNameプロパティは、ダイナセット作成時にSQL文に指定した元の列名を含む文字列を戻します。SQL文に、SCHEMA.TABLE.COLのフィールド名が含まれている場合に便利です。これにより、重複した列名を参照できるようになります。列の重複を避けるには、SQL文に別名を指定する方法もあります。


FieldOriginalNameIndexプロパティ

適用対象

OraDynasetオブジェクト

説明

SQL SELECT文で使用された元のフィールド名が指しているフィールドの索引を戻します。

使用方法

set index = oradynaset.FieldOriginalNameIndex(name)

引数

引数 説明
[in] name SQL文で使用されたとおりの元のフィールド名。

データ型

Integer

備考

ダイナセットのフィールドは、名前でアクセスするよりも索引でアクセスしたほうが効率的です。特定のフィールドに複数回アクセスする必要がある場合は、このメソッドを使用して元の名前を索引に変換します。


Fieldsプロパティ

適用対象

OraDynasetオブジェクト

説明

現在の行に対するフィールドのコレクションを戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

Set orafields_collection = oradynaset.Fields

データ型

OLEオブジェクト(OraFields

備考

このコレクションのフィールドには、添字(順序を示す整数)を使用して、またはフィールド(列)名を示す文字列を使用することでアクセスできます。戻されたコレクションのCountプロパティを使用すると、フィールドの数を取得できます。コレクションの範囲(0Count - 1)外の添字を指定すると、NULLOraFieldオブジェクトが戻ります。


FileNameプロパティ

適用対象

OraBFILEオブジェクト

説明

ファイル名を取得または設定します。実行時は読取り/書込みができます。

使用方法

filename  = OraBFile.FileName
OraBFile.FileName = filename

引数

引数 説明
[in] [out] filename 取得または設定するディレクトリ名を指定する文字列。

データ型

String

備考

データベースのオペレーティング・システムによっては、この文字列は大/小文字が区別される場合があります。


Filterプロパティ

備考

OraDynasetオブジェクトはこのプロパティをサポートしていません。レコードの選択は、SQL WHERE句またはSQLパラメータを使用して絞込みできます。


Format(OraNumber)プロパティ

適用対象

OraNumberオブジェクト

説明

OraNumber操作で使用する書式文字列を戻します。 書式文字列の詳細は、『Oracle Database SQLクイック・リファレンス』を参照してください。実行時は読取り/書込みができます。

使用方法

OraNumber.Format = formatstring
formatstring = OraNumber.Format

引数

引数 説明
[in] formatstring OraNumber操作に使用する書式文字列。

データ型

String

備考

書式文字列に無効な値を設定すると、エラーが戻ります。書式をデフォルトにリセットするには、空の文字列を設定します。


関連項目:

『Oracle Database SQLクイック・リファレンス』


Format(OraTimeStamp)プロパティ

適用対象

OraTimeStampオブジェクト

説明

OraTimeStampオブジェクトを文字列として表示するために使用するTIMESTAMP書式を取得または設定します。

使用方法

format = OraTimeStampObj.Format
OraTimeStampObj.Format = format

引数

引数 説明
[in] format OraTimeStampオブジェクトを文字列として表示するために使用する書式。

データ型

String

備考

FormatプロパティがNULLの場合は、OraTimeStampオブジェクトを文字列として表示する際に、セッションのTIMESTAMP書式が使用されます。


Format(OraTimeStampTZ)プロパティ

適用対象

OraTimeStampTZオブジェクト

説明

OraTimeStampTZオブジェクトを文字列として表示するために使用するTIMESTAMP WITH TIME ZONE書式を取得または設定します。

使用方法

format = OraTimeStampTZObj.Format
OraTimeStampTZObj.Format = format

引数

引数 説明
[in] format OraTimeStampTZオブジェクトを文字列として表示するために使用する書式。

データ型

String

備考

FormatプロパティがNULLの場合は、OraTimeStampTZオブジェクトを文字列として表示する際に、セッションのTIMESTAMP WITH TIME ZONE書式が使用されます。


HexValue(OraRef)プロパティ

適用対象

OraRefオブジェクト

説明

REFの16進値を戻します。

使用方法

hexstring = OraRef.HexValue

備考

REFの16進値は、OraDatabase.FetchOraRefメソッドで使用されます。


関連項目:

FetchOraRefメソッド


Hour(OraTimeStamp)プロパティ

適用対象

OraTimeStampオブジェクト

説明

OraTimeStampオブジェクトのHour属性を取得または設定します。

使用方法

hour = OraTimeStampObj.Hour
OraTimeStampObj.Hour = hour

引数

引数 説明
[in] hour OraTimeStampオブジェクトのHour属性。

データ型

Integer


Hour(OraTimeStampTZ)プロパティ

適用対象

OraTimeStampTZオブジェクト

説明

OraTimeStampTZオブジェクトのHour属性を取得または設定します。

使用方法

hour = OraTimeStampTZObj.Hour
OraTimeStampTZObj.Hour = hour

引数

引数 説明
[in] hour OraTimeStampTZオブジェクトのHour属性。

データ型

Integer


Hoursプロパティ

適用対象

OraIntervalDSオブジェクト

説明

OraIntervalDSオブジェクトのHours属性を取得および設定します。

使用方法

hours = OraIntervalDSObj.Hours
OraIntervalDSObj.Hours = hours

引数

引数 説明
[in] hours OraIntervalDSオブジェクトのHours属性の値を指定するための整数。

データ型

Integer


IsLocator(OraCollection)プロパティ

適用対象

OraCollectionオブジェクト

説明

OraCollectionオブジェクトのコレクション・インスタンスがロケータ・ベースの場合はTRUEを戻します。それ以外の場合はFALSEを戻します。

使用方法

islocator = OraCollection.IsLocator

データ型

Integer(ブール)


IsMDObjectプロパティ

適用対象

OraMDAttributeオブジェクト

説明

Valueプロパティが別のOraMetaDataオブジェクトの場合はTRUEを戻します。それ以外の場合はFALSEを戻します。

使用方法

isobject = OraMDAttribute.IsMDObject

データ型

ブール


IsNull(OraCollection)プロパティ

適用対象

OraCollectionオブジェクト

説明

OraCollectionオブジェクトのコレクション値がNULLの場合はTRUEを戻します。

使用方法

isnull = OraObject.IsNull

データ型

Integer(ブール)

備考

NULLのコレクション要素にアクセスすると、エラーになります。基礎となるコレクションの要素にアクセスする前に、IsNullプロパティをチェックしてください。


IsNull(OraLOB/BFILE)プロパティ

適用対象

OraBLOB、OraCLOBオブジェクト

OraBFILEオブジェクト

説明

データベース内のLOBまたはBFILENULL値を参照するとTRUE、それ以外の場合はFALSEを戻します。このプロパティは読取り専用です。

使用方法

IsNull = OraBfile.IsNull
IsNull = OraBlob.IsNull
IsNull = OraClob.IsNull

データ型

ブール

備考

LOBまたはBFILEの一部のプロパティとメソッドは、LOBまたはBFILENULLの場合は無効です。このプロパティを使用して、NULL値かどうかを検証してエラーを回避します。


IsNull(OraObject)プロパティ

適用対象

OraObjectオブジェクト

説明

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


IsOpen(OraBFILE)プロパティ

適用対象

OraBFILEオブジェクト

説明

OraBFILEオブジェクトがオープンしている場合はTRUEを戻します。

使用方法

IsOpen = OraBFile.IsOpen

データ型

ブール

備考

OraBFILEオブジェクトがオープンしているかどうかは、そのOraBFILEオブジェクトに限定されます。データベース内の同じBFILEを指す2つのOraBFILEオブジェクトがあり、一方のOraBFILEオブジェクトはOpenメソッドをコールしていて他方はコールしていない場合、コールしたOraBFILEオブジェクトのIsOpenプロパティはTRUEを戻します。他方はFALSEを戻します。


IsRefNull(OraRef)プロパティ

適用対象

OraRefオブジェクト

説明

OraRefオブジェクトの基礎となるRef値がNULLの場合はTRUEを戻します。

使用方法

isnull = OraRef.IsRefNull

データ型

Integer(ブール)

備考

Ref値がNULLの属性にアクセスすると、エラーになります。基礎となる参照可能オブジェクトの属性にアクセスする前に、IsRefNullプロパティをチェックしてください。このプロパティは、実行時は読取り専用です。


LastErrorTextプロパティ

適用対象

OraParamArrayオブジェクト

説明

最後のエラー・メッセージを取得します。設計時には使用できません。実行時は読取り専用です。

使用方法

OraParamArray.LastErrorText

データ型

String


LastModifiedプロパティ

適用対象

OraDynasetオブジェクト

説明

EditまたはAddNew操作で最後に変更された行のBookmarkオブジェクトを戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

last_modified_bookmark = oradynaset.LastModified

データ型

値はバイナリ・データの文字列ですが、StringまたはVariantデータ型の変数に格納できます。文字列の長さは予測できないため、固定長の文字列は使用しないでください。

備考

このプロパティを使用して、最後に変更されたレコードをカレント・レコードにします。


LastServerErrプロパティ

適用対象

OraDatabaseオブジェクト

OraSessionオブジェクト

説明

指定したオブジェクトに対してOracleデータベース・ファンクションが生成した0(ゼロ)以外の最新のエラー・コードを戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

error_number = oradatabase.LastServerErr
error_number = orasession.LastServerErr

データ型

Long Integer

備考

このプロパティは、Oracle Call Interface(OCI)データベース・ファンクションから最後に戻された0(ゼロ)以外の戻り値を示します。最後のLastServerErrReset要求以降にエラーが発生していない場合は0(ゼロ)を示します。効率を上げるために、0(ゼロ)以外の戻り値のみを戻します。したがって、0(ゼロ)以外の値が戻されても、そのエラー生成が、一番最後にコールされたOCIデータベース・ファンクションによるものとはかぎりません(LastServerErrメソッドでは0(ゼロ)の値は戻しません)。

この例では、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


LastServerErrPosプロパティ

適用対象

OraDatabaseオブジェクト

説明

SQL文で解析エラーが発生した位置を戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

error_pos = oradatabase.LastServerErrPos

データ型

Integer

備考

LastServerErrPosプロパティは、SQL文が解析されていない場合は0、最後の解析が正常に終了した場合は-1、最後の解析が失敗した場合は0以上を戻します。実行(CreateDynasetまたはExecuteSQLメソッドを使用)する前にSQL文が解析されます。


LastServerErrTextプロパティ

適用対象

OraDatabaseオブジェクト

OraSessionオブジェクト

説明

指定したオブジェクトの現行のLastServerErrプロパティに関連付けられているテキスト・メッセージを戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

error_text = orasession.LastServerErrText
error_text = oradatabase.LastServerErrText

データ型

String

備考

戻り値は、次の3つの状態のいずれか1つを示します。

  1. NULLの場合は、Oracle Call Interface(OCI)データベース・ファンクションが、最新のLastServerErrResetプロパティ以降エラーを戻していないことを示します。

  2. NULL以外の値は、OCIファンクションがエラー・コードを戻したことを示します。戻された文字列は関連メッセージです。

  3. メッセージが空の場合は、追加情報がないことを示します。

この例では、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

MaxSize(OraCollection)プロパティ

適用対象

OraCollectionオブジェクト

説明

コレクションの最大サイズを戻します。

使用方法

max_size  = OraCollection.MaxSize

データ型

Integer

備考

ORATYPE_TABLE型のOraCollectionオブジェクトの場合、このプロパティは削除した要素を含んだコレクションの現在のサイズを戻します。 ORATYPE_VARRAY型のOraCollectionオブジェクトの場合、このプロパティはコレクションの最大サイズを戻します。


MinimumSizeプロパティ

適用対象

OraParameterオブジェクト

OraParamArrayオブジェクト

説明

OraParameterまたはOraParamArray文字列バッファ、またはByteArrayORATYPE_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;")


Minute(OraTimeStamp)プロパティ

適用対象

OraTimeStampオブジェクト

説明

OraTimeStampオブジェクトのMinute属性を取得または設定します。

使用方法

minute = OraTimeStampObj.Minute
OraTimeStampObj.Minute = minute

引数

引数 説明
[in] minute OraTimeStampオブジェクトのMinute属性。

データ型

Integer


Minute(OraTimeStampTZ)プロパティ

適用対象

OraTimeStampTZオブジェクト

説明

OraTimeStampTZオブジェクトのMinute属性を取得または設定します。

使用方法

minute = OraTimeStampTZObj.Minute
OraTimeStampTZObj.Minute = minute

引数

引数 説明
[in] minute OraTimeStampTZオブジェクトのMinute属性。

データ型

Integer


Minutesプロパティ

適用対象

OraIntervalDSオブジェクト

説明

OraIntervalDSオブジェクトのMinutes属性を取得および設定します。

使用方法

minutes = OraIntervalDSObj.Minutes
OraIntervalDSObj.Minutes = minutes

引数

引数 説明
[in] minutes OraIntervalDSオブジェクトのMinutes属性の値を指定するための整数。

データ型

Integer


Month(OraTimeStamp)プロパティ

適用対象

OraTimeStampオブジェクト

説明

OraTimeStampオブジェクトのMonth属性を取得または設定します。

使用方法

month = OraTimeStampObj.Month
OraTimeStampObj.Month = month

引数

引数 説明
[in] month OraTimeStampオブジェクトのMonth属性。

データ型

Integer


Month(OraTimeStampTZ)プロパティ

適用対象

OraTimeStampTZオブジェクト

説明

OraTimeStampTZオブジェクトのMonth属性を取得または設定します。

使用方法

month = OraTimeStampTZObj.Month
OraTimeStampTZObj.Month = month

引数

引数 説明
[in] month OraTimeStampTZオブジェクトのMonth属性。

データ型

Integer


Monthsプロパティ

適用対象

OraIntervalYMオブジェクト

説明

OraIntervalYMオブジェクトのMonths属性を取得および設定します。

使用方法

months = OraIntervalYMObj.Months
OraIntervalYMObj.Months = months

引数

引数 説明
[in] month OraIntervalYMオブジェクトのMonths属性の値を指定するための整数。

データ型

Integer


Nameプロパティ

適用対象

OraClientオブジェクト

OraFieldオブジェクト

OraParameterオブジェクト

OraSessionオブジェクト

OraParamArrayオブジェクト

OraServerオブジェクト

OraSubscriptionオブジェクト

説明

指定したオブジェクトの識別に使用する名前を戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

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

備考


関連項目:

  • CreateSessionメソッド

  • Oracle Databaseのイベントの詳細は、『Oracle Database概要』を参照してください。



Name(AQAgent)プロパティ

適用対象

OraAQAgentオブジェクト

説明

エージェント名を表す30バイトの文字列を戻します。

使用方法

agent_name = qMsg.AQAgent.Name

データ型

String


Name(OraAttribute)プロパティ

適用対象

OraAttributeオブジェクト

説明

属性の名前を含む文字列を戻します。

使用方法

name  = OraAttribute.Name

データ型

String

備考

実行時は読取り専用です。


Name(OraMDAttribute)プロパティ

適用対象

OraMDAttributeオブジェクト

説明

属性の名前を含む文字列を戻します。

使用方法

name = OraMDAttribute.Name

データ型

String


Nanosecond(OraTimeStamp)プロパティ

適用対象

OraTimeStampオブジェクト

説明

OraTimeStampオブジェクトのNanosecond属性を取得または設定します。

使用方法

nanosecond = OraTimeStampObj.NanosecondOraTimeStampObj.Nanosecond= nanosecond

引数

引数 説明
[in] nanosecond OraTimeStampオブジェクトのNanosecond属性。

データ型

Integer


Nanonsecond(OraTimeStampTZ)プロパティ

適用対象

OraTimeStampTZオブジェクト

説明

OraTimeStampTZオブジェクトのNanosecond属性を取得または設定します。

使用方法

nanosecond = OraTimeStampTZObj.NanosecondOraTimeStampTZObj.Nanosecond= nanosecond

引数

引数 説明
[in] nanosecond OraTimeStampTZオブジェクトのNanosecond属性。

データ型

Integer


Nanonsecondsプロパティ

適用対象

OraIntervalYMオブジェクト

説明

OraIntervalDSオブジェクトのNanoseconds属性を取得および設定します。

使用方法

nanoseconds = OraIntervalDSObj.NanosecondsOraIntervalDSObj.Nanoseconds = nanoseconds

引数

引数 説明
[in] nanoseconds OraIntervalDSオブジェクトのNanoseconds属性の値を指定するための整数。

データ型

Integer


Navigation(OraAQ)プロパティ

適用対象

OraAQオブジェクト

説明

取り出されるメッセージの位置を指定します。

使用方法

Q.Navigation = position

データ型

Integer

備考

次の値を指定できます。


NoMatchプロパティ

適用対象

Address(OraAQAgent)プロパティを使用するOraDynasetオブジェクト

説明

FindFirstFindLastFindNextまたはFindPreviousメソッドへの最後のコールが失敗した場合はTRUEを戻します。

使用方法

Set nomatch_status = oradynaset.NoMatch

データ型

ブール


NonBlockingStateプロパティ

適用対象

ORASQL_NONBLKオプションを使用して作成された「OraSQLStmtオブジェクト」

説明

現在実行しているSQLの状態を戻します。状態は次のとおりです。

エラーは、例外として発生します。

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)

エラーは、例外として発生します。


Offset(OraLOB/BFILE)プロパティ

適用対象

OraBLOB、OraCLOBオブジェクト

OraBFILEオブジェクト

説明

次回の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プロパティを設定できます。


OIPVersionNumberプロパティ

適用対象

OraSessionオブジェクト

説明

Oracle Object for OLEのバージョン番号を戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

version_number = orasession.OIPVersionNumber

データ型

String

備考

このプロパティは、Oracle Object for OLEの各リリースに対して一意の識別子を戻します。


Optionsプロパティ

適用対象

OraDatabaseオブジェクト

OraDynasetオブジェクト

OraSQLStmtオブジェクト

説明

指定したオブジェクトに当初渡されたオプションのフラグを戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

options = oradatabase.Options
options = oradynaset.Options
options = orasqlstmt.Options

データ型

Long Integer

備考

oradatabase.Optionsに指定できる値については、OpenDatabaseメソッドを参照してください。

oradynaset.Optionsに指定できる値については、CreateDynasetメソッドを参照してください。

orasqlstmt.Optionsに指定できる値については、CreateSQLメソッドを参照してください。


OraIDataTypeプロパティ

適用対象

OraFieldオブジェクト

説明

指定したフィールドに対する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 TIMESTAMPWITHLOCALTIMEZONE
ORATYPE_VARRAY 247 VARRAY
ORATYPE_TABLE 248 NESTED TABLE

これらの値は、ORACLE_BASE\ORACLE_HOME\oo4o\oraconst.txtファイルにあります。


OraMaxDSizeプロパティ

適用対象

OraFieldオブジェクト

説明

指定したフィールドに対するOracleの最大表示サイズを戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

field_maxdisplaysize = orafield.OraMaxDSize

データ型

Long Integer

備考

この値は、戻り値が文字列の場合にのみ意味があります。特に、SUBSTRTO_CHARなどのファンクションを使用して列の表現を変更する場合などです。


OraMaxSizeプロパティ

適用対象

OraFieldオブジェクト

説明

Oracleデータ・ディクショナリに格納されているOracleの最大列サイズを戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

field_maxsize = orafield.OraMaxSize

データ型

Long Integer

備考

戻り値は、Oracleの内部データ型によって異なります。次の値が戻ります。

Oracleの列の型
CHARVARCHAR2RAW 表の列の長さ
NUMBER 22 (内部的な長さ)
DATE 7(内部的な長さ)
LONGLONG RAW 0
ROWID システムに依存
内部データ型1を戻すファンクション(TO_CHAR()など) orafield.MaxDSizeと同じ


OraNullOKプロパティ

適用対象

OraFieldオブジェクト

説明

この列でNULL値を使用できるかどうかを示します。設計時には使用できません。実行時は読取り専用です。

使用方法

field_nullok = orafield.OraNullOK

データ型

Integer(ブール)

備考

NULL値を使用できる場合はTRUE、それ以外の場合はFALSEを戻します。


OraPrecisionプロパティ

適用対象

OraFieldオブジェクト

説明

数値列の精度を戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

field_precision = orafield.OraPrecision

データ型

Long Integer

備考

この値は、戻り値が数値の場合にのみ意味があります。精度は、数値の桁数です。


OraScaleプロパティ

適用対象

OraFieldオブジェクト

説明

数値列の位取りを戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

field_scale = orafield.OraScale

データ型

Long Integer

備考

この値は、戻り値が数値の場合にのみ意味があります。SQLのREALDOUBLE PRECISIONFLOATおよびFLOAT(N)型では、-127の位取りが戻ります。


Parametersプロパティ

適用対象

OraDatabaseオブジェクト

説明

指定したデータベースのOraParametersコレクションを戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

Set oraparameters_collection = oradatabase.Parameters

データ型

OLEオブジェクト(OraParameters

備考

このコレクションのパラメータにアクセスするには、添字(順序を示す整数)を使用するか、またはそのパラメータの作成時に指定したパラメータ名を使用します。戻されたコレクションのCountプロパティを使用すると、コレクション内のパラメータ数を取得できます。整数の添字は0で開始し、Count-1で終了します。範囲外の索引値と無効な名前を指定すると、NULLOraParameterオブジェクトが戻ります。

コレクションでは、パラメータへアクセスできるほか、Addメソッドを使用してパラメータを作成したり、Removeメソッドを使用して破棄することができます。


PinOption(OraRef)プロパティ

適用対象

OraRefオブジェクト

説明

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


PollingAmountプロパティ

適用対象

OraBLOB、OraCLOBオブジェクト

OraBFILEオブジェクト

説明

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操作を実行しようとすると、エラーになります。


Priority(OraAQMsg)プロパティ

適用対象

OraAQMsgオブジェクト

説明

メッセージの優先順位を指定します。

使用方法

Msg.Priority = msg_priority

データ型

Integer

備考

番号が小さいほど、優先順位は高くなります。

次の値を指定できます。

このプロパティは、エンキューしているときに設定でき、優先順位に基づいてデキューするために使用されます。


RDMSVersionプロパティ

適用対象

OraDatabaseオブジェクト

説明

データベースのバージョンを戻します。

使用方法

Set Version = oradatabase.RDBMSVersion

データ型

String


RecordCountプロパティ

適用対象

OraDynasetオブジェクト

OraSQLStmtオブジェクト

説明

設計時には使用できません。実行時は読取り専用です。

使用方法

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



RelMsgId(OraAQ)プロパティ

適用対象

OraAQオブジェクト

説明

このプロパティを指定すると、このキュー・オブジェクトのメッセージが、メッセージIDで示したメッセージよりも前にエンキューされます。

使用方法

OraAq.RelMsgid = msg_id

データ型

String

備考

このメソッドは、エンキュー操作に対してのみ適用されます。

次の値を指定できます。

このプロパティを設定すると、ORAAQ_ENQ_BEFOREオプションでエンキューがコールされます。 キューの先頭にメッセージを配置するには、このプロパティをORAAQ_NULL_MSGIDに設定します。


RowPositionプロパティ

適用対象

OraDynasetオブジェクト

説明

ダイナセット内での現在の行の行番号を戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

rownum = OraDynaset.RowPosition

データ型

Integer


SafeArray(OraCollection)プロパティ

適用対象

OraCollectionオブジェクト

説明

VariantSAFEARRAYの要素の値を取得または設定します。

使用方法

SafeArray = OraCollection.SafeArrayOraCollection.SafeArray = SafeArray

引数

引数 説明
SafeArray SafeArray形式を表すVariant

データ型

SafeArray形式を表すVariant

備考

このプロパティは、VARCHAR2およびNUMBERなどの単純なスカラー要素型に対してのみ有効です。LOB型、オブジェクト型、REF型などの要素に対してはエラーが発生します。

VariantSAFEARRAYの索引は0から開始します。SAFEARRAY形式に変換すると、OraCollectionオブジェクトによって、要素の値が対応するSAFEARRAY Variant型に変換されます。次の表に、コレクション要素の型と対応するSAFEARRAY Variant型を示します。

コレクション要素の型 SAFEARRAY
Date String
Number String
CHARVARCHAR2 String
Real Real
Integer Integer

コレクションにSAFEARRAYを設定する場合、OraCollectionは、SAFEARRAY要素を最も近いコレクション要素型に変換します。


Second(OraTimeStamp)プロパティ

適用対象

OraTimeStampオブジェクト

説明

OraTimeStampオブジェクトのSecond属性を取得または設定します。

使用方法

second = OraTimeStampObj.SecondOraTimeStampObj.Second= second

引数

引数 説明
[in] second OraTimeStampオブジェクトのSecond属性。

データ型

Integer


Second(OraTimeStampTZ)プロパティ

適用対象

OraTimeStampTZオブジェクト

説明

OraTimeStampTZオブジェクトのSecond属性を取得または設定します。

使用方法

second = OraTimeStampTZObj.SecondOraTimeStampTZObj.Second= second

引数

引数 説明
[in] second OraTimeStampTZオブジェクトのSecond属性。

データ型

Integer


Secondsプロパティ

適用対象

OraIntervalDSオブジェクト

説明

OraIntervalDSオブジェクトのSeconds属性を取得および設定します。

使用方法

seconds = OraIntervalDSObj.SecondsOraIntervalDSObj.Seconds = seconds

引数

引数 説明
[in] seconds OraIntervalDSオブジェクトのSeconds属性の値を指定するための整数。

データ型

Integer


Serverプロパティ

適用対象

OraDatabaseオブジェクト

説明

このオブジェクトの連結先OraServerオブジェクトを戻します。

使用方法

Set oraserver = oradatabase.Server

データ型

OLEオブジェクト(OraServer


ServerTypeプロパティ

適用対象

OraParameterオブジェクト

OraParamArrayオブジェクト

説明

SQLまたはPL/SQLバインド変数に対するOracleの外部データ型を指定します。設計時には使用できません。実行時は読取り/書込みができます。

OraParamArrayオブジェクトの場合は読取り専用です。ServerTypeプロパティはAddTableメソッドの中で指定します。

使用方法

oraparameter.ServerType = oracle_type

データ型

Integer

備考

SQLまたはPL/SQL(入出力)バインド変数の外部データ型を指定するために使用します。このプロパティは、SQL文またはPL/SQLブロック内のプレースホルダのデータ型を一致させるために、SQL文またはPL/SQLブロックのローカル解析を実施しないようにするために必要です。

OraParameterオブジェクトがServerTypeBLOBCLOBBFILEOBJECTREFVARRAYまたは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

Sessionプロパティ

適用対象

OraCollectionオブジェクト

OraDatabaseオブジェクト

OraDynasetオブジェクト

OraSQLStmtオブジェクト

OraServerオブジェクト

説明

指定したオブジェクトに関連付けられているOraSessionオブジェクトを戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

Set orasession = oraconnection.Session
Set orasession = oradatabase.Session
Set orasession = oradynaset.Session
Set orasession = orasqlstmt.Session
Set orasession = oraserver.Session

データ型

OLEオブジェクト(OraSession

備考


Sessionsプロパティ

適用対象

OraClientオブジェクト

説明

指定したOraClientオブジェクトに対する全セッションのコレクションを戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

Set orasessions_collection = oraclient.Sessions

データ型

OLEオブジェクト(OraSessions

備考

このコレクションのセッションには、添字(序数)を使用して、または作成時に指定したセッション名を使用してアクセスできます。戻されたコレクションのCountプロパティを使用すると、コレクション内のセッションの総数を取得できます。整数の添字は0で開始し、Count-1で終了します。範囲外の索引値と無効な名前を指定すると、NULLOraSessionオブジェクトが戻ります。


Sizeプロパティ

適用対象

OraFieldオブジェクト

説明

このフィールドの戻り値に関連付けられているVariantの文字数またはバイト数を戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

field_size = orafield.Size

データ型

Long Integer

備考

LONGまたはLONG RAW型のフィールドには0が戻ります。LONGまたはLONG RAW型のフィールドの長さを判断するには、FieldSizeメソッドを使用します。


Size(OraCollection)プロパティ

適用対象

OraCollectionオブジェクト

説明

指定したコレクションについて、現在のサイズを戻します。実行時は読取り専用です。

使用方法

coll_size = OraCollection.Size

データ型

Integer

備考

ORATYPE_TABLE型のOraCollectionオブジェクトの場合、このプロパティは削除した要素を含んだコレクションの現在のサイズを戻します。


Size(OraLOBおよびOraBFILE)プロパティ

適用対象

OraBLOB、OraCLOBオブジェクト

OraBFILEオブジェクト

説明

OraBLOBおよびOraBFILEオブジェクトのバイト数、またはOraCLOBオブジェクトの文字数を戻します。読取り専用です。

使用方法

bytes = OraBFile.Size

bytes = OraBlob.Size

chars = OraClob.Size


SnapShotプロパティ

適用対象

OraDynasetオブジェクト

説明

SnapshotIDを戻します。

実行時は読取り/書込みができます。

使用方法

SnapshotID = OraDynaset.Snapshot

備考

SnapshotIDは、このダイナセットが作成された時点のスナップショットを示します。これは、タイムスタンプのように考えることができます。これを別のCreateDynasetメソッドのコールに使用して、元のダイナセットと同じ時点のデータでダイナセットを作成できます。

Snapshotプロパティには、別のSnapshotの値を設定できます。この新しいスナップショットは、次に問合せが再実行されたときのRefresh操作で使用されます。Snapshotプロパティは、常に、このOraDynasetオブジェクトの基になったSnapshotIDを戻します。snapshotプロパティを介して設定されたその他のSnapshotIDは戻しません。

SnapshotIDは、実行量とデータベースの構成に従って、ある時間が経過すると無効になります。SnapshotIDが無効になると、スナップショットが古すぎることを示すエラー・メッセージが戻ります。 スナップショットの詳細は、『Oracle Database概要』を参照してください。

このSnapshotIDは、このダイナセットが作成された時点を示します。このSnapshotIDを使用して追加作成されたダイナセットには、その時点以降に元のダイナセットに行われた変更(EditDeleteおよび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


関連項目:



Sortプロパティ

備考

OraDynasetオブジェクトはこのプロパティをサポートしていません。レコードセットは、SQLのORDER BY句を使用してソートしてください。


SQLプロパティ

適用対象

OraDynasetオブジェクト

OraSQLStmtオブジェクト

説明

指定したダイナセットまたは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


関連項目:

Refreshメソッド


Statusプロパティ

適用対象

OraParameterオブジェクト

OraParamArrayオブジェクト

説明

指定したパラメータの状態を示す整数を戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

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(OraLOB/BFILE)プロパティ

適用対象

OraBLOB、OraCLOBオブジェクト

OraBFILEオブジェクト

説明

現在のポーリング操作の状態を戻します。

読取り専用です。

使用方法

status = OraBFile.Status
status  = OraBlob.Status
status = OraClob.Status

データ型

Integer

備考

この値は、PollingAmountプロパティが0(ゼロ)以外でRead操作が発生した場合のみ意味があります。戻り値は、次のとおりです。


Subscriptionsプロパティ

適用対象

OraDatabaseオブジェクト

説明

指定したデータベースのOraSubscriptionsコレクションを戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

Set orasubscriptions_collection = oradatabase.Subscriptions

データ型

OLEオブジェクト(OraSubscriptions

備考

このコレクション内のサブスクリプションには、添字(順序を示す整数)を使用することでアクセスできます。戻されたコレクションのCountプロパティを使用すると、コレクション内のサブスクリプション数を取得できます。整数の添字は0(ゼロ)で開始し、Count-1で終了します。範囲外の索引値を指定すると、NULLOraSubscriptionオブジェクトが戻ります。

コレクションでは、サブスクリプションへアクセスできるほか、Addメソッドを使用してサブスクリプションを作成したり、Removeメソッドを使用して破棄することができます。

詳細な例は、「例: データベース・イベントが通知されるようにアプリケーションを登録する方法」を参照してください。


TableName(OraRef)プロパティ

適用対象

OraRefオブジェクト

説明

基礎となる参照可能オブジェクトを持つオブジェクト表の名前を含む文字列を戻します。

使用方法

table_name = OraRef.TableName

データ型

String

備考

このプロパティは読取り専用です。


TableSize(OraCollection)プロパティ

適用対象

OraCollectionオブジェクト

説明

指定したコレクションについて、現在のサイズを戻します。実行時は読取り専用です。

使用方法

table_size = OraCollection.TableSize

データ型

Integer

備考

ORATYPE_TABLE型のOraCollectionオブジェクトの場合、このプロパティは削除した要素を除くコレクションの現在のサイズを戻します。


TimeZone(OraTimeStampTZ)プロパティ

適用対象

OraTimeStampTZオブジェクト

説明

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
MinuteSecondNanosecond 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
MinuteSecondNanosecond 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


TotalDaysプロパティ

適用対象

OraIntervalDSオブジェクト

説明

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

TotalYearsプロパティ

適用対象

OraIntervalYMオブジェクト

説明

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


Transactionsプロパティ

適用対象

OraDynasetオブジェクト

説明

指定したダイナセットがトランザクション処理をサポートするかどうかを示します。設計時には使用できません。実行時は読取り専用です。

使用方法

if_transactions = oradynaset.Transactions

データ型

Integer(ブール)

備考

このプロパティは、常にTRUEを戻します。


Truncatedプロパティ

適用対象

OraFieldオブジェクト

説明

フェッチする際にフィールド値が切り捨てられたかどうかを示します。設計時には使用できません。実行時は読取り専用です。

使用方法

field_status = orafield.Truncated

データ型

Integer(ブール)

備考

切り捨てられたデータが戻る場合はTRUE、それ以外の場合はFALSEを戻します。切捨ては、LONGまたはLONG RAW型のフィールドに対してのみ発生します。このプロパティを使用して、GetChunkメソッドを介してOracleデータベースからデータをさらに取り出す必要があるかどうかを判断します。


Typeプロパティ

適用対象

OraFieldオブジェクト

OraParameterオブジェクト

OraParamArrayオブジェクト

説明

指定したオブジェクトのVariant型を戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

data_type = orafield.Type
data_type = oraparameter.Type
data_type = oraparamarray.Type

データ型

Integer

備考

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型が戻ることを意味します。


関連項目:

Valueプロパティ


Type(OraAttribute)プロパティ

適用対象

OraAttributeオブジェクト

説明

この属性の型を表す整数のコードを戻します。

使用方法

typecode = OraAttribute.Type

データ型

Integer

備考

これらの整数のコードは、Oracle Call Interface(OCI)の外部データ型に対応しています。「Oracleデータ型」の項を参照してください。


関連項目:

Oracleデータ型


Type(OraCollection)プロパティ

適用対象

OraCollectionオブジェクト

説明

コレクションの型をコードで戻します。

使用方法

coll_type = OraCollection.Type

データ型

Integer

備考

このプロパティは、次の値の1つを戻します。

定数 説明
ORATYPE_VARRAY 247 VARRAY型。
ORATYPE_TABLE 248 NESTED TABLE型。


Type(OraMetaData)プロパティ

適用対象

OraMetaDataオブジェクト

説明

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を超える値が指定される可能性があります。


関連項目:

ORAMD_TABLEの属性


TypeName(OraObjectおよびOraRef)プロパティ

適用対象

OraObjectオブジェクト

OraRefオブジェクト

説明

オブジェクトのユーザー定義型の名前を含む文字列を指定します。

使用方法

typename = OraRef.TypeName
typename = OraObject.TypeName

データ型

String

備考

このプロパティは、実行時は読取り専用です。


Updatableプロパティ

適用対象

OraDynasetオブジェクト

説明

指定したダイナセットが更新可能かどうかを戻します。設計時には使用できません。実行時は読取り専用です。

使用方法

if_updatable = oradynaset.Updatable

データ型

Integer(ブール)

備考

指定したダイナセットの行が更新可能な場合はTRUE、それ以外の場合はFALSEを戻します。

結果のダイナセットが更新可能であるかどうかは、Oracle SQLの更新可能性規則、付与されているアクセス権、およびCreateDynasetメソッドの読取り専用フラグによって決まります。

更新可能にするためには、次の3つの条件を満たす必要があります。

  1. SQL文が単純な列リストまたは列リスト全体(*)を参照すること

  2. SQL文でオプション引数の読取り専用フラグを設定しないこと

  3. 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


Valueプロパティ

適用対象

OraFieldオブジェクト

OraParameterオブジェクト

説明

指定したオブジェクトの値を取得または設定します。設計時には使用できません。実行時は読取り/書込みができます。

使用方法

orafield.Value = data_value
data_value = orafield.Value

oraparameter.Value = data_value
data_value = oraparameter.Value

データ型

Variant

備考

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を意味する目的で、OBJECTVARRAYおよびNESTED TABLEに対してはオブジェクトの属性がすべてNULLであることを意味する目的で使用できます。


Value(OraAttribute)プロパティ

適用対象

OraAttributeオブジェクト

説明

属性の値を取得または設定します。この値には、OraObjectOraRefまたはOraCollectionオブジェクト、あるいはサポートされているスカラー型(IntegerFloatなど)のインスタンスがあります。

使用方法

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
CHARVARCHAR2 String
Real Real
Integer Integer


Value(OraAQMsg)プロパティ

適用対象

OraAQMsgオブジェクト

説明

指定したオブジェクトの値を取得または設定します。

使用方法

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


Value(OraIntervalDS)プロパティ

適用対象

OraIntervalDSオブジェクト

説明

読取りでは、[+/-]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


Value(OraIntervalYM)プロパティ

適用対象

OraIntervalYMオブジェクト

説明

読取りでは、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)プロパティ

適用対象

OraMDAttributeオブジェクト

説明

属性の値を含む文字列を戻します。

使用方法

value = OraMDAttribute.Value

データ型

String

備考

これはデフォルトのプロパティです。


Value(OraNumber)プロパティ

適用対象

OraNumberオブジェクト

説明

読取りでは、現行の書式文字列を使用してOraNumberの値を表す文字列を取得します。設定では、Variant型の文字列、OraNumberまたは数値を使用できます。実行時は読取り/書込みができます。

使用方法

string = OraNumber.Value
OraNumber.Value = variantval

引数

引数 説明
[in] variantval Variant型の文字列、OraNumberまたは数値

データ型

Variant

備考

Valueプロパティが数値型(LONGなど)に設定されている場合、値は、数値に対してVisual Basicが保証する最大精度に制限されます。

その値に対して現行の書式を正常に適用できない場合は、エラーが発生します。このプロパティに対して、数値に変換できないVariant型の値(数値以外の文字を使用している文字列など)を設定した場合もエラーになります。


Value(OraTimeStamp)プロパティ

適用対象

OraTimeStampオブジェクト

説明

読取りでは、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"


Value(OraTimeStampTZ)プロパティ

適用対象

OraTimeStampTZオブジェクト

説明

読取りでは、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(OraObjectおよびRef)プロパティ

適用対象

OraObjectオブジェクト

OraRefオブジェクト

説明

基礎となる値インスタンスの型に対してユーザーが割り当てたバージョンを含んだ文字列を戻します。

使用方法

version  = OraRef.Version
version  = OraObject.Version

データ型

String

備考

このプロパティは、実行時は読取り専用です。


Visible(OraAQ)プロパティ

適用対象

OraAQオブジェクト

説明

エンキュー要求に対するトランザクション動作を指定します。

使用方法

Q.Visible = transaction_mode

データ型

Integer

備考

このプロパティは、エンキュー操作に対してのみ適用されます。

次の値を指定できます。

Msg.Value = "The visibility option used in the enqueue call is " & _
                    "ORAAQ_ENQ_IMMEDIATE"
Q.Visible = ORAAQ_ENQ_IMMEDIATE
Q.Enqueue


Wait(OraAQ)プロパティ

適用対象

OraAQオブジェクト

説明

使用可能なメッセージがない場合の待機時間(秒単位)を指定します。

使用方法

Q.Wait = seconds

データ型

Integer

備考

デキュー操作にのみ適用できます。

次の値を指定できます。


XMLAsAttributeプロパティ

適用対象

OraFieldオブジェクト

説明

このフィールド名が属性として指定されているかどうかを示すブール値を取得および設定します。値がFALSEの場合、フィールド名は要素に指定されています。実行時は読取り/書込みができます。

使用方法

OraField.XMLAsAttribute = True

備考

このプロパティのデフォルト値は、FALSEです。

BLOBCLOBBFILEObjectVARRAYNested TableLongおよびLongRaw型のフィールドは、XML属性には指定できません。


XMLCollIDプロパティ

適用対象

OraDynasetオブジェクト

説明

GetXMLまたはGetXMLToFileメソッドがコールされる際に発生するコレクション項目のレンダリングで、(<TYPENAME_ITEM id = "1">の)idに置き換わる属性名を取得および設定します。実行時は読取り/書込みができます。

使用方法

oradynaset.XMLCollID = "NEWID"

備考

このプロパティのデフォルト値は、idです。このプロパティがNULLに設定されているか、または空の文字列("")の場合、collectionid属性は省略されます。属性名は有効である必要があります。有効でないと、エラーが生じます。大/小文字が区別されます。


XMLEncodingTagプロパティ

適用対象

OraDynasetオブジェクト

説明

生成されたXMLドキュメントのencodingタグの文字列値を取得または設定します。

使用方法

OraDynaset.XMLEncodingTag = "SHIFT_JIS"

備考

このプロパティは、OO4Oで生成されたXMLドキュメントのキャラクタ・セットが、保存または解析される前のコードと異なるコードに変換される場合に有効です。データベースへのプロパティのロードまたはファイル・システムへのプロパティの保存時に発生する可能性があります。

このプロパティは、encodingタグの値を設定するだけで、実際のドキュメントのエンコードの変更は行いません。Visual BasicのGetXMLメソッドで生成されたドキュメントは、UCS2にエンコードされます。 GetXMLToFileメソッドで生成されたドキュメントには、現行のNLS_LANG設定と同じキャラクタ・セットが使用されます。

このプロパティが空の文字列の場合は、デフォルトのencodingタグが使用されます。タグを完全に省略する場合は、OraDynaset.XMLOmitEncodingTagを使用してください。

指定されたエンコーディング値の妥当性チェックは行われません。


XMLNullIndicatorプロパティ

適用対象

OraDynasetオブジェクト

説明

フィールド値がNULLの場合にNULL標識属性が使用されるかどうかを示すブール値を取得および設定します。このプロパティがFALSEの場合、NULL値のタグは省略されます。実行時は読取り/書込みができます。

使用方法

oradynaset.XMLNullIndicator = True

備考

このプロパティのデフォルト値は、FALSEです。


XMLOmitEncodingTagプロパティ

適用対象

OraDynasetオブジェクト

説明

encodingタグが省略されているかどうかを判断するブール値を取得または設定します。

使用方法

OraDynaset.XMLOmitEncodingTag = True

備考

デフォルト値はFALSEです。

このプロパティがFALSEに設定されている場合、encodingタグにはXMLEncodingTagプロパティの値が使用されます。


XMLRowIDプロパティ

適用対象

OraDynasetオブジェクト

説明

GetXMLまたはGetXMLToFileメソッドがコールされる際に発生するXMLのレンダリングで、(<ROW id= "1">の)idに置き換わる属性名を取得および設定します。実行時は読取り/書込みができます。

使用方法

 oradynaset.XMLRowID = "NEWID"

備考

このプロパティのデフォルト値は、idです。このプロパティがNULLに設定されているか、または空の文字列("")の場合、rowid属性は省略されます。属性名は有効である必要があります。有効でないと、エラーが生じます。大/小文字が区別されます。


XMLRowsetTagプロパティ

適用対象

OraDynasetオブジェクト

説明

GetXMLまたはGetXMLToFileメソッドがコールされる際に発生するXMLのレンダリングで、行セット・タグ<ROWSET>に置き換わるタグ名を取得または設定します。実行時は読取り/書込みができます。

使用方法

 oradynaset.XMLRowSetTag = "NEWROWSET"

備考

このプロパティのデフォルト値は、ROWSETです。タグ名は有効である必要があります。有効でないと、エラーが生じます。大/小文字が区別されます。ドキュメントとともにスキーマ・メタデータが要求されないかぎり、このタグはルートになります。


XMLRowTagプロパティ

適用対象

OraDynasetオブジェクト

説明

GetXMLまたはGetXMLToFileメソッドがコールされる際に発生するXMLのレンダリングで、<ROW>に置き換わるタグ名を取得および設定します。実行時は読取り/書込みができます。

使用方法

oradynaset.XMLRowTag = "NEWROW"

備考

このプロパティのデフォルト値は、ROWです。 このプロパティがNULLに設定されているか、または空の文字列("")の場合、<ROW>タグは省略されます。タグ名は有効である必要があります。有効でないと、エラーが生じます。大/小文字が区別されます。


XMLTagNameプロパティ

適用対象

OraFieldオブジェクト

説明

GetXMLまたはGetXMLToFileメソッドがコールされる際に発生するXMLのレンダリングで、このフィールドに使用されるタグ名を取得および設定します。実行時は読取り/書込みができます。

使用方法

orafield.XMLTagName = "EmployeeName"

備考

このプロパティのデフォルト値は、Nameプロパティの値です。このプロパティがNULLに設定されているか、または空の文字列("")の場合、このフィールドは省略されます。名前は有効である必要があります。有効でないと、エラーが生じます。大/小文字が区別されます。


XMLUpperCaseプロパティ

適用対象

OraDynasetオブジェクト

説明

GetXMLまたはGetXMLToFileメソッドがコールされる際に、タグ名または属性名が大文字かどうかを示すブール値を取得および設定します。実行時は読取り/書込みができます。

使用方法

oradynaset.XMLUpperCase = True

備考

このプロパティのデフォルト値は、FALSEです。このプロパティがTRUEに設定されている場合、タグ名および属性名はすべて大文字になります。このメソッドは、すべてのカスタム・タグまたは属性名がユーザーにより設定された後でコールする必要があります。


Year(OraTimeStamp)プロパティ

適用対象

OraTimeStampオブジェクト

説明

OraTimeStampオブジェクトのYear属性を取得または設定します。

使用方法

year = OraTimeStampObj.YearOraTimeStampObj.Year = year

引数

引数 説明
[in] year OraTimeStampオブジェクトのYear属性。

データ型

Integer


Year(OraTimeStampTZ)プロパティ

適用対象

OraTimeStampTZオブジェクト

説明

OraTimeStampTZオブジェクトのYear属性を取得または設定します。

使用方法

year = OraTimeStampObjTZ.Year
OraTimeStampObjTZ.Year = year

引数

引数 説明
[in] year OraTimeStampTZオブジェクトのYear属性。

データ型

Integer


Yearsプロパティ

適用対象

OraIntervalYMオブジェクト

説明

OraIntervalYMオブジェクトのYears属性を取得および設定します。

使用方法

years = OraIntervalYMObj.YearsOraIntervalYMObj.Years = years

引数

引数 説明
[in] years OraIntervalYMオブジェクトのYears属性の値を指定するための整数。

データ型

Integer