OracleDataAdapterウィザード

OracleDataAdapterウィザードは、Oracle Databaseをアプリケーションに接続できるように、Oracle Data Provider .NETコードを生成します。これにより、OracleDataAdapterOracleConnectionおよびOracleCommandコンポーネントで生成されるSELECTINSERTUPDATEおよびDELETE各文と接続情報を変更できます。

OracleDataAdapterウィザードは、Visual Studio 2003との下位互換性のために用意されています。

Visual Studio 2005およびVisual Studio 2008ユーザーは通常、Microsoft TableAdaptersを使用し、Microsoftデータ・ソース・ウィンドウおよびMicrosoft表アダプタ・ウィザードを使用してTableAdaptersを生成します。TableAdaptersの詳細は、Microsoftのドキュメントを参照してください。

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

OracleDataAdapterウィザードの起動

OracleDataAdapterウィザードを起動するには、次のいずれかの方法を使用します:

  • OracleDataAdapterコンポーネントを右クリックし、メニューから「Configure with OracleDataAdapter Wizard」を選択します。

  • ツールボックスからプロジェクトのフォーム・デザイナにOracleDataAdapterコンポーネントをドラッグします。

OracleDataAdapterウィザードの開始画面は次のように表示されます:

OracleDataAdapterウィザードの使用

通常、OracleDataAdapterウィザードは、データベース・オブジェクト用のOracle Data Providerのデータ・アクセス・コードを変更する際に使用します。ウィザードを完了すると、変更内容がOracleDataAdapterOracleConnectionおよびOracleCommandコンポーネントに反映されます。

OracleDataAdapterウィザードのウィンドウは次のとおりです:

ウィンドウ 説明

Welcome to the OracleDataAdapter Wizard

ウィザードのようこそページ。次にウィザードを実行する際にこのページを省略するには、「Do not show this page again」チェック・ボックスを選択します。

Configure your OracleConnection

デフォルトとして提供されている現在の接続を使用して、Oracleデータ・アダプタのデータ接続を指定します。別の接続を使用するには、

「New Connection」をクリックします。OracleConnectionコンポーネントに新規の接続情報が表示されます。

Specify your SELECT statement type

次の項目から選択して、OracleDataAdapter SELECTコマンドを実行します:

  • Create a SQL SELECT statement

  • Create anonymous PL/SQL SELECT statement

  • Create SELECT statement using an existing Stored Procedure

Configure your SELECT statement

前のウィンドウで選択した項目に応じて、次の処理を行います:

  • 前のウィンドウでSQL SELECT文または無名のPL/SQL SELECT文のオプションを選択した場合は、SELECT文を実行するコードを入力します。

    SELECT文のパラメータを作成するには、「Parameters」をクリックします。SELECT文が動作することを検証するには、「Preview Results」をクリックします。

  • 既存のプロシージャを使用してSELECT文を作成するオプションを選択した場合、ドロップダウン・リストから目的のプロシージャを選択してください。プロシージャは次の順序で表示されます:

    1. 現在のユーザーが所有するプロシージャとファンクション。

    2. 現在のユーザーが所有するパッケージ・メソッド。

    3. 他のユーザーが所有するプロシージャとファンクション。

    4. 他のユーザーが所有するパッケージ・メソッド。

    ファンクションを選択した場合は、そのパラメータ(パラメータ名とデータ型(すべてのデータ型とOracle固有のデータ型))が「Parameters」領域に表示されます。パラメータを生成できない場合は、かわりにエラーが表示されます。

Configure your INSERT, UPDATE, and DELETE statements

次の選択肢から選択します:

  • Automatic: 前述のステップで作成したSELECT文に基づいてINSERTUPDATEおよびDELETE文を生成します。

  • Custom: INSERT文、UPDATE文およびDELETE文をカスタマイズできます。

  • Do not create: INSERTUPDATEおよびDELETE文の作成を省略します。

Specify your INSERT statement type

Specify your UPDATE statement

Specify your DELETE statement

前述のステップで「Custom」を選択した場合、これらの画面を使用して、SELECT文のINSERTUPDATEおよびDELETE文を入力します。

INSERTUPDATEまたはDELETE文のパラメータを作成するには、「Parameters」をクリックします。文が動作することを検証するには、「Preview Results」をクリックします。

ノート: すべてのノードがINSERT文、UPDATE文およびDELETE文を生成できるわけではありません。

Summary

すべての選択項目のサマリーを表示します。ウィザードを完了するには、「Finish」をクリックします。

文のパラメータの構成

OracleDataAdapterウィザードでSELECT文、INSERT文、UPDATE文またはDELETE文を構成する際、「Parameters」ボタンをクリックして、文のパラメータの設定オプションを使用できます。次のようなダイアログ・ボックスが表示されます:

「Parameters」ダイアログ・ボックスには、次のコントロールがあります:

コントロール 説明

Parameters

この文のパラメータをリストします。

新規パラメータを作成するには、「Add」をクリックし、「Parameter Details」ペインを使用して、パラメータを必要に応じて変更します。パラメータを削除するには、パラメータを選択して「Remove」をクリックします。

表示されるパラメータは、前に選択した項目(SQL、PL/SQLまたはストアド・プロシージャ)に基づきます。

Parameter Details

使用している文のタイプに応じて、次の情報を表示します:

  • Name: パラメータの名前を入力します。「Parameter Binding」の下で「By name」オプションを選択している場合、この名前はパラメータ・バインドに使用されます。

  • Direction: 次の項目から選択します:

    • Input: 文のコール時にパラメータの値を指定する必要があることを示します。

    • Output: 実行後にコール元の環境に文がこのパラメータの値を戻すことを示します。

    • Input-Output: 文のコール時にパラメータの値を指定する必要があり、実行後にコール元の環境に文が値を戻すことを示します。

    • ReturnValue: パラメータがファンクション・コールの戻り値をパラメータが保持することを示します。通常、SQLまたはPL/SQL文にはReturnValueパラメータはありません。

  • Type: 次のいずれかを表します。

    • Oracle DbType: Oracle Databaseでサポートされているデータ型のリストから選択します。この設定により、パラメータの値が適切なOracle Data Provider.NET (ODP.NET)型で返されます。または、「DbType」からデータ型を選択します。

    • DbType: Microsoft Active X Data Objects .NET (ADO.NET)データ型のリストから選択します。この設定により、パラメータの値が適切なシステム・タイプで返されます。または、「Oracle DbType」からデータ型を選択します。

  • Precision: 「Type」の選択内容に応じて、パラメータの精度を指定します。

  • Scale: 「Type」の選択内容に応じて、パラメータのスケールを指定します。

  • Size: 「Type」の選択内容に応じて、パラメータのサイズを指定します。

  • Source column: パラメータのバインド先のDataSet列の名前。INSERT文、UPDATE文またはDELETE文の場合のみ。「Source version」の説明で例を参照してください。

  • Source version: INSERTUPDATEまたはDELETE文でDataSetのどの状態の変更をデータベースに書き込むかを選択できます。次の中から選択します:

    • Original: 変更が適用される前の値。通常、この値はデータベースから最後に取得された値です。更新または削除のWHERE句のパラメータに使用されます。

    • Current: DataSetの現在の値。通常、挿入する新規の値にも使用されます。

    • Proposed: 進行中の編集内容やDataSetに追加されていない新規行など、DataSetに対する未適用の変更の値。

    • Default: 変更が適用される前のDataSetの値。この値は、ODP.NETのAcceptChangesコールによってデータベースに書き込まれています。

    たとえば、表EMPEMPNOENAMEの2つの列があるものとします。コマンド・テキストは次のようになります:

    UPDATE EMP SET EMPNO = :0, ENAME = :1 where EMPNO = :2 and ENAME = :3

    「Source version」に「Original」を使用するWHERE句のパラメータ23を設定すると、行に対する更新は、その行が最後にフェッチされて以降変更されないことが保証されます。

    • パラメータ0: 「Source version」設定 = Current; 「Source column」 = "EMPNO"

    • パラメータ1: 「Source version」設定 = Current; 「Source column」 = "ENAME"

    • パラメータ2: 「Source version」設定 = Original; 「Source column」 = "EMPNO"

    • パラメータ3: 「Source version」設定 = Original; 「Source column」 = "ENAME"

Parameter Binding

次のいずれかを選択します:

  • By position: OracleCommandに追加された順序に基づいて、このコマンドのパラメータをバインドします。

  • By name: 「Parameter Details」の下の「Name」ボックスでパラメータに対して入力した名前に基づいて、このコマンドのパラメータをバインドします。

OK

パラメータを作成し、OracleDataAdapterウィザードに戻ります。