検索
連載

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

本記事では、Oracleが提供する.NETプラットフォーム開発向けのミドルウェアやツールを使って、.NET環境でOracleアプリケーション開発を効率的に行うためのノウハウを解説する。(編集部)

PC用表示 関連情報
Share
Tweet
LINE
Hatena

.NETストアド・プロシージャの開発とデプロイ

 ODE.NETを使用するための準備が終わったら、VS.NETで.NETストアド・プロシージャを作成しましょう。今回はデータベースへのアクセスのない、簡単な.NETストアド・プロシージャを作成することで、開発からデータベースへのデプロイ、デバッグまでの手順を説明します。

手順1 新しいプロジェクトの作成

 VS.NETより新規プロジェクトを作成します。ODT 10.2がインストールされた環境では、Visual Basicプロジェクト、Visual C#プロジェクトのテンプレートとして「Oracle Project」を選択することが可能です。「Oracle Project」を選択して.NETストアド・プロシージャの作成を開始します。

図7 「Oracle Project」を選択して.NETストアド・プロシージャの作成を開始
図7 「Oracle Project」を選択して.NETストアド・プロシージャの作成を開始

 Class1.vb(Visual Basicプロジェクト)やClass1.cs(Visual C#プロジェクト)が作成され、ひな型となるコードが表示されます(図8)。

図8 ひな型となるソースファイル
図8 ひな型となるソースファイル

手順2 ロジックの作成

 .NETストアド・プロシージャとしてデプロイするプロシージャやファンクションは、VB.NETの場合は「Public Shared」、C#の場合は「public static」で宣言されている必要があります。この点に注意して、引数として渡された数値を2倍にするファンクション「double_value」と半分にするファンクション「half_value」を作成してみます(リスト3)。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

手順3 ソリューションの配置(デプロイ)

 コードの記述が終わったら、メニューバーより「ビルド」-「ソリューションの配置」をクリックします(図9)。これにより.NETアセンブリのビルドが行われ、データベースへのデプロイを行うためのOracle Deployment Wizard for .NETが起動します。

図9 ソリューションの配置
図9 ソリューションの配置

 Oracle Deployment Wizard for .NETは、ビルドされた.NETアセンブリを所定の位置(デフォルトではORACLE_HOME\BIN\CLR以下)にコピーしLIBRARYを作成し、その.NETアセンブリをコールする窓口となるPL/SQLラッパーを生成します。

 .NETアセンブリのデプロイはSYSDBA権限で行う必要があります。SYSDBAでの接続が作成されていない場合、新規作成ボタンをクリックして接続を作成します(図10)。

図10 SYSDBA権限での接続
図10 SYSDBA権限での接続

 .NETストアド・プロシージャを所有するスキーマやセキュリティ・レベルの設定を行います(図11)。

図11 スキーマ、セキュリティ・レベルの設定
図11 スキーマ、セキュリティ・レベルの設定

 セキュリティ・レベルは表1の3レベルが用意されています。

セキュリティ・レベル 説明
安全(デフォルト) データベース・リソースへのアクセスのみが許可される。ローカル・ファイルやネットワークなどの外部リソースへのアクセスは許可されない
外部 ローカル・ファイルの読み取りまたは書き込みと、ソケットやインターネット・ノードなどのネットワーク・リソースへのアクセスも許可される
危険 管理されていないコードの実行を含め、制限なしの実行が許可される。ほかのすべてのセキュリティ・レベルのスーパーセット
表1 セキュリティ・レベル

 ウィザードに従って設定を行うだけでデプロイは簡単に終了します。(次ページへ続く)

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る