デプロイが完了したらOracleエクスプローラより、.NETストアド・プロシージャを実行してみましょう。実行するファンクション名を右クリックして「実行」をクリックします。ファンクションを実行した場合、引数を入力するダイアログが表示されますので、引数を入力して、OKボタンをクリックすると、結果が表示されます(図12)。
.NETストアド・プロシージャは通常のPL/SQLストアド・プロシージャと同様、SQL文内でも使用することが可能です(リスト4)。
SQL> SELECT double_value(100) FROM dual; |
リスト4 SQL文での実行 |
デプロイされた.NETストアド・プロシージャは、VS.NETからデバッグが可能です。
1)PDBファイルのコピー
コンパイル時にはVS.NETのプロジェクトフォルダ内に、DLLファイルと同時にPDBファイルが作成されます。このPDBファイルを、デプロイした場所(デフォルトではORACLE_HOME\BIN\CLR)にコピーします。
2).NETストアド・プロシージャのコール
.NETストアド・プロシージャを実行するextproc.exeプロセスを起動するために、いったんSQL*Plusなどで、.NETストアド・プロシージャを実行します。実行するために使用したSQL*Plusなどのセッションは切断せずに、以降の手順を行います。
3)extproc.exeプロセスのアタッチ
「ツール」-「デバッグ プロセス」をクリックし、「プロセス」ダイアログを開きます。「システム プロセスを表示」にチェックを入れ、extproc.exeを選択し、「アタッチ」ボタンをクリックします(図13)。
4)デバッグするプログラムの種類の選択
デバッグするプログラムの種類として、「Common Language Runtime」にチェックを入れ「OK」ボタンをクリックします。これで、extproc.exeプロセスがアタッチされます(図14)。
5).NETストアド・プロシージャのコール
VS.NET上でブレークポイントなどを設定して、2)で使用したSQL*Plusなどから再度、.NETストアド・プロシージャをコールします。ブレークポイントを設定していれば、.NETストアド・プロシージャの実行は設定個所でいったんストップし、ステップ実行や、変数のチェックなどのデバッグ作業を行うことが可能です(図15)。
以上で、.NETストアド・プロシージャの開発、デプロイ、デバッグの一連の操作は終了です。
今回は、.NETストアド・プロシージャを実現するODE.NETの概要と、.NETストアド・プロシージャの開発、デプロイ手順を簡単なサンプルを使って解説しました。.NETプログラマにとって、.NET準拠言語によるストアド・プロシージャの実装は大きな魅力があります。ぜひOracle Database 10g Release 2と、VS.NET+ODTをお試しください。
次回は、データベースにアクセスする.NETストアド・プロシージャの作成や、ODP.NETの新機能について説明する予定です。ご期待ください。
Copyright © ITmedia, Inc. All Rights Reserved.