連載
» 2006年02月07日 00時00分 公開

Oracleにも“SQL CLR”と同じ開発生産性を!.NETでOracleアプリを作ろう(4)(4/4 ページ)

[小海友和,日本オラクル]
前のページへ 1|2|3|4       

.NETストアド・プロシージャの実行とデバッグ

.NETストアド・プロシージャの実行

 デプロイが完了したらOracleエクスプローラより、.NETストアド・プロシージャを実行してみましょう。実行するファンクション名を右クリックして「実行」をクリックします。ファンクションを実行した場合、引数を入力するダイアログが表示されますので、引数を入力して、OKボタンをクリックすると、結果が表示されます(図12)。

図12 .NETストアド・プロシージャの実行 図12 .NETストアド・プロシージャの実行

 .NETストアド・プロシージャは通常のPL/SQLストアド・プロシージャと同様、SQL文内でも使用することが可能です(リスト4)。

SQL> SELECT double_value(100) FROM dual;

DOUBLE_VALUE(100)
-----------------
              200

SQL> SELECT half_value(100) FROM dual;

HALF_VALUE(100)
---------------
             50
リスト4 SQL文での実行

.NETストアド・プロシージャのデバッグ

 デプロイされた.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)。

図13 extproc.exeプロセスのアタッチ 図13 extproc.exeプロセスのアタッチ

4)デバッグするプログラムの種類の選択

 デバッグするプログラムの種類として、「Common Language Runtime」にチェックを入れ「OK」ボタンをクリックします。これで、extproc.exeプロセスがアタッチされます(図14)。

図14 デバッグするプログラムの種類の選択 図14 デバッグするプログラムの種類の選択

5).NETストアド・プロシージャのコール

 VS.NET上でブレークポイントなどを設定して、2)で使用したSQL*Plusなどから再度、.NETストアド・プロシージャをコールします。ブレークポイントを設定していれば、.NETストアド・プロシージャの実行は設定個所でいったんストップし、ステップ実行や、変数のチェックなどのデバッグ作業を行うことが可能です(図15)。

図15 ブレークポイントの設定 図15 ブレークポイントの設定

 以上で、.NETストアド・プロシージャの開発、デプロイ、デバッグの一連の操作は終了です。


 今回は、.NETストアド・プロシージャを実現するODE.NETの概要と、.NETストアド・プロシージャの開発、デプロイ手順を簡単なサンプルを使って解説しました。.NETプログラマにとって、.NET準拠言語によるストアド・プロシージャの実装は大きな魅力があります。ぜひOracle Database 10g Release 2と、VS.NET+ODTをお試しください。

 次回は、データベースにアクセスする.NETストアド・プロシージャの作成や、ODP.NETの新機能について説明する予定です。ご期待ください。


前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。