Oracleカスタム・クラス・ウィザード

Oracleカスタム・クラス・ウィザードを使用すると、.NETカスタム・クラスをオブジェクト・タイプとコレクション・タイプの両方に対して生成できます。これらのクラスを使用して、Oracle DatabaseのUDTで機能するODP.NETアプリケーションをビルドできます。

Oracleカスタム・クラス・ウィザードにより、C#、VB.NETまたはManaged C++のうち1つの言語で.NETカスタム・クラスを生成します。

このウィザードにより、カスタム・クラスのいくつかのプロパティを構成できます。

このセクションの内容は次のとおりです。

Oracleカスタム・クラス・ウィザードの起動

Oracleカスタム・クラス・ウィザードを起動するには、次を実行します:

オブジェクト・タイプまたはコレクション・タイプのノードのメニューから「Generate Custom Class」項目を選択します。

プロジェクトが開いているかぎりOracleカスタム・クラス・ウィザードは起動できません。ソリューションにプロジェクトがない場合は起動できません。

Oracleカスタム・クラス・ウィザードの開始画面は次のように表示されます:

Oracleカスタム・クラス・ウィザードの使用

Oracleカスタム・クラス・ウィザードにより、カスタム・クラスに関する詳細を制御する機能が提供されます。

Oracleカスタム・クラス・ウィザードの言語

ウィザードでは、プロジェクトの言語を検出し、その言語でコードを生成します。

ソリューション内の別の言語から複数のプロジェクトが開いている場合、ウィザードによって生成されたプロジェクトは次の順序で指定されます:

  1. 最初のC#プロジェクトの検出。

  2. 最初のVisual Basicプロジェクトの検出。

  3. 最初のManaged C++プロジェクトの検出。

関連項目

Oracleカスタム・クラス・ウィザードを使用したクラスの生成

Oracleカスタム・クラス・ウィザードを使用したクラスの生成

Oracleカスタム・クラス・ウィザードには、コードの生成をカスタマイズできる、2つの主要な画面があります。

最初のウィンドウでは、次のようにタイプを選択してコード生成の詳細を構成できます。

2つ目のウィンドウでは、最初のウィンドウで選択したタイプの属性をカスタマイズできます。

このウィザードでは、選択したユーザー定義タイプの関連情報に基づいて、次のデフォルト名が自動的に生成されます。

  • File name

  • Project

  • Namespace

  • Class name

  • Super class Name

  • Property Name

自動生成されるすべての名前には、大文字小文字が混在します。

Oracleカスタム・クラス・ウィザードには、コレクション・タイプとオブジェクト・タイプの両方のUDTに対応するカスタム・クラスを生成するための次のウィンドウがあります:

ウィンドウ 説明

Welcome to the Oracle Custom Class Wizard

ウィザードのようこそページ。次にウィザードを実行する際にこのページを省略するには、「Do not show this page again」チェック・ボックスを選択します。「Oracleカスタム・クラス・ウィザードの起動」を参照してください。

Choose Types and Configure Code Generation Details

次のように、ツリー・ビューがウィザードの左側に表示されます:

  • 要素のタイプがUDTであるコレクション・タイプの場合、ツリー・ビューには要素のベース・タイプが表示され、その下に要素のタイプが表示されます。次に、コレクション・タイプのノードが別々の階層に要素のベース・タイプと同じレベルで表示されます。

  • オブジェクト・タイプの場合、ツリー・ビューにはベース・タイプが階層で表示されます。

該当のユーザー定義タイプを選択します。「Oracleカスタム・クラス・ウィザードの使用」を参照してください。

UDTを選択しない場合、「Next」は無効になります。

次の情報を指定します:

  • File name: カスタム・クラスが生成されるファイルです。デフォルト値は、UDT名と拡張子.cs.vbまたは.cppです。これは、次のように選択したプロジェクトのタイプに基づいています。UDTがPERSON_TYPEの場合、ファイル名はPerson_Type.xxです。

  • Project: ソリューションにロードされるプロジェクトのリスト。各クラスは異なるプロジェクトに生成でき、プロジェクトはリストから選択できます。

  • Inherit from Project: これを選択すると、ネームスペースがプロジェクト名から導出され、「Namespace」フィールドが読取り専用になります。デフォルトでは、「Inherit from Project」が選択されています。

    選択したプロジェクトがVB.NETタイプの場合、フィールドは無効になります。

  • Namespace: クラスを追加するネームスペース。デフォルトでは、プロジェクトのネームスペース名になっており、これはプロジェクト名から導出されます。「Inherit from Project」の選択を解除することでこの名前を変更できます。

    VB.NETプロジェクトの場合、カスタム・クラスは別のネームスペースではなくデフォルトのプロジェクト・ネームスペースに生成されます。選択したプロジェクトがVB.NETタイプの場合、フィールドは無効になります。

  • Class name: クラスの名前。デフォルトはUDTの名前です。

  • Super class name: 次のオブジェクト・タイプの場合のみ:

    スーパー・クラスを指定した場合、スーパー・クラス。指定した場合、生成するクラスは、ここで入力するスーパー・クラスから導出されます。これは、ネームスペースを含む完全修飾クラス名である必要があります。デフォルトでは、データベースで定義されているObjectType.SuperClassから取得されます。タイプにスーパー・タイプを定義していない場合、このフィールドは無効になります。

Customize Attributes

このウィンドウには、ABS_PERSONAL_TYPEなど、前の画面で選択したタイプ(オブジェクト・タイプまたはコレクション・タイプ)が左側に表示されます。

右側のウィンドウには、読取り専用モードでタイプのプロパティが表示されます。これらのプロパティは、「Back」をクリックすることで引き続き使用できます。プロパティには、「Filename」、「Project」、「Namespace」、「Class Name」および「Superclass Name」が含まれています。

「Next」をクリックして、このウィンドウの2つ目の部分を表示します。UDTおよび属性を選択しない場合、「Next」は無効になります。

同様のツリー・ビューが表示されますが、右側に(オブジェクト・タイプの)属性のプロパティおよび(コレクション・タイプの)要素があります。ツリー・ビューで属性または要素を強調表示すると、次のようにプロパティが右側に表示されます:

  • Property Name: 属性に関連付けられているプロパティ名。デフォルト値は属性名ですが、先頭文字が大文字になります。たとえば、属性名がIDNOの場合、プロパティ名はIdnoです。

  • Database Type: データベースの属性のタイプです。読取り専用です。

  • .NET Data Type: SQL型に対応する.NETデータ型です。SQL型のコンテキストで適用可能な型のリストから選択し、デフォルトの.NET型を上書きできます。属性自体がUDT型である場合、「.NET Data Type」フィールドは空白および読取り専用です。このリストには、OracleBLOBOracleBFileなど、ODP.NETでサポートされるOracle固有型も含まれるため、プロパティを直接これらの型にマップできます。

  • Class Name: UDT型の属性にのみ適用されます。それ以外の場合は、読取り専用および空白になります。UDT型の属性の場合、このフィールドには、先頭文字が大文字でUDT型の名前でクラス名が自動的に入力されます。ユーザーは、すでに生成されているか、後で生成するユーザー定義型の属性に対応するクラスに名前を変更できます。

  • Property Access: プロパティのアクセス修飾子です。リストで使用可能な有効な値は、「public」、「private」、「internal」および「protected」です。デフォルトでは、「public」になっていますが、この値は変更可能です。

「Class Name」フィールドまたは「Property Name」フィールドが空白の場合、ウィザードにエラー・メッセージが表示されます。

Summary

必要な情報が提供された場合に、.NETカスタム・クラスの生成を実行する様々なタスクのサマリーを表示します。「Summary」では、クラスを追加するプロジェクトおよびクラス定義を格納するファイルを示します。

このウィンドウは、「Configure Class details」画面または「Customize Attributes」画面のいずれかでUDT型が選択されていない場合、クラスが生成されないことを示しています。

ウィザード・タスクを完了するには、「Finish」をクリックし、情報の変更または追加を実行するには、「Back」をクリックします。

コードの生成時に、生成中の各ファイルに対して、指定したファイル名のファイルがすでに存在する場合、次のように上書きするように求められます:

  • 「Yes」を選択すると、ファイルが上書きされ、プロセスが継続します。

  • 「No」を選択すると、対応するファイルは作成されず、上書きされません。ウィザードは開いたままで、既存のファイルの名前変更または上書きを実行できます。

プロジェクトを選択すると、Oracle.DataAccess.dll (ODP.NET)への参照がウィザードにより追加されます。参照がすでに存在する場合はオーバーライドされませんが、参照が追加されなかったことを示すメッセージが出力ウィンドウに表示されます。参照セクションに正しいバージョンのODP.NETが必要です。

プロセスが完了すると、ウィザードが閉じ、新規作成されたすべてのファイルが編集用として開きます。また、出力ウィンドウには、コード生成の成功または失敗がリストされます。