ヘッダーをスキップ
Oracle® Objects for OLE開発者ガイド
11gリリース2 (11.2) for Microsoft Windows
B58887-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

OraMetaDataオブジェクト

説明

OraMetaDataオブジェクトは、OraDatabaseインタフェースのDescribeメソッドをコールすることによって戻されます。Describeメソッドは、emp表などのスキーマ・オブジェクトの名前を取得して、OraMetaDataオブジェクトを戻します。OraMetaDataオブジェクトは、記述されているスキーマ・オブジェクトのすべての属性(OraMDAttributeコレクション)に動的にナビゲートおよびアクセスするメソッドを提供します。

OraMetaDataオブジェクトは、OraMDAttributeオブジェクトのコレクションで、データベース内の特定のスキーマ・オブジェクトに関する記述情報を表します。次の表は、OraMetaDataオブジェクト型の表(ORAMD_TABLE)の属性の例です。

表9-2に、ORAMD_TABLEの属性を示します。

表9-2 ORAMD_TABLEの属性

属性名 値の型 説明

ObjectID

Integer

オブジェクトID。

NumCols

Integer

列の数。

ColumnList

OraMetaData

列リスト。

IsTyped

ブール

表に入力されたかどうかを示す。

IsTemporary

ブール

一時表かどうかを示す。

Duration

String

期間 - セッション、トランザクション、NULLのいずれか。

DBA

Integer

セグメント・ヘッダーのデータ・ブロック・アドレス。

TableSpace

Integer

表が属する表領域。

IsClustered

ブール

表がクラスタ化されているかどうかを示す。

IsPartitioned

ブール

表がパーティション化されているかどうかを示す。

IsIndexOnly

ブール

索引構成表かどうかを示す。


備考

OraMetaDataオブジェクトは、3つの列を含む表として視覚化できます。

  • メタデータ属性名

  • メタデータ属性値

  • Valueが別のOraMetaDataオブジェクトであるかどうかを示すフラグ

順序を示す整数を使用する添字を作成するか、またはプロパティ名を使用することによって、OraMDAttributeオブジェクトに含まれるOraMDAttributeオブジェクトにアクセスできます。コレクションの範囲(0からCount-1)外の添字で参照すると、NULLOraMDAttributeオブジェクトが戻ります。

これらの例で使用されているOraMetaDataスキーマ定義については、「OraMetaDataの例で使用されているスキーマ・オブジェクト」を参照してください。

次のVisual Basicの例では、この機能の簡単な使用方法を示します。ここでは、emp表のいくつかの属性を取り出して表示します。

Set empMD = OraDatabase.Describe("emp") 
 
'Display the name of the Tablespace 
msgbox empMD("tablespace") 
 
'Display name, data type, and size of each column in the emp table. 
Set empColumnsMD = empMD("Columns") 
for I = 1 to empColumns.Count 
   Set ColumnMD = empColumnsMD(I) 
   MsgBox ColumnMD("Name") & ColumnMD("Data Type") & ColumnMD("Length")
Next I

例: ユーザー定義型の記述

「例: ユーザー定義型の記述」を参照してください。

例: 不明なスキーマ・オブジェクトの記述

「例: 不明なスキーマ・オブジェクトの記述」を参照してください。