ODE.NETを使ったプロシージャの開発とデバッグ.NETユーザー必見! Oracle 10gのお作法(3)(4/4 ページ)

» 2007年05月31日 00時00分 公開
[三谷亮太日本オラクル]
前のページへ 1|2|3|4       

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

 配置したストアドプロシージャを実行します。Oracleエクスプローラより[ファンクション]を右クリックして[最新の情報に更新]を選びます。すると配置した3つのファンクションが表示されるので、[PARSEEMAILADDRESS]を右クリックし[実行]します(図14)。

図14 ファンクションを実行する 図14 ファンクションを実行する

 パラメータ入力画面が表示されます。「test@oracle.com」など正しい書式の電子メールアドレスを入力すると戻り値が「1」、「AAA」など不正な値を入力すると戻り値が「0」となることを確認します(図15)。

図15 パラメータ入力画面 図15 パラメータ入力画面

 EMAILREGISTERも正常なEMPIDを入力すると戻り値「1」、不正なEMPIDの場合は戻り値が「0」となることを確認します。

 SERIALIZEEMPDATAに関しては戻り値が「1」となること、および正常にxmlファイルが作成されていることを確認します(図16)。

図16 SERIALIZEEMPDATAで生成されたxmlファイル 図16 SERIALIZEEMPDATAで生成されたxmlファイル

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

 .NETストアドプロシージャのデバッグを行います。外部プロセスのデバッグとなるため、SQL*PlusやSQL Developerなどストアドプロシージャを実行するクライアントツールを別途使用します。ここではVisual Studio 2005を二重起動して一方をデバッグ用、もう一方をストアドプロシージャ起動用として使用します。

手順1

 事前準備として、起動用のVisual Studio 2005でストアドプロシージャを実行し「extproc.exe」(外部ストアドプロシージャ実行用プロセス)を起動させておきます。

手順2

 デバッグ用のVisual Studio 2005でプロセスへのアタッチを行います。メニューの[ツール]→[プロセスにアタッチ]を選択します。表示された画面で[extproc.exe]を選択しアタッチ先を[マネージ]とします(図17)。

図17 extproc.exeプロセスにアタッチする(画像をクリックすると拡大します) 図17 extproc.exeプロセスにアタッチする(画像をクリックすると拡大します)

手順3

 デバッグ用のVisual Studio 2005がデバッグ実行状態となります。ストアドプロシージャのソースファイルを開き、ブレークポイントを設定します。

手順4

 実行用のVisual Studio 2005から再度ファンクションを実行します(図18)。

図18 再度ファンクションを実行する 図18 再度ファンクションを実行する

 アタッチ実行中のVisual Studio 2005のブレークポイントで停止することが確認できます(図19)。

図19 ブレークポイントで処理が停止した 図19 ブレークポイントで処理が停止した

外部プロセスをデバッグする場合の注意

ストアドプロシージャを起動させる接続は「extproc.exe」を起動させた接続と同一である必要があります。本記事の例では同じクライアントツールを使うことで同一の接続としています。



 .NETストアドプロシージャを使用することで、PL/SQLが不得手な方でもストアドプロシージャ開発が可能となります。また、Oracleデータベース側で.NET Frameworkの多彩な機能を活用できることも大きなメリットです。

 次回はOracleの独自機能を使用した.NETアプリケーションの構築を行います。お楽しみに。


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

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

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

メールマガジン登録

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