ODE.NETを使用するための準備が終わったら、VS.NETで.NETストアド・プロシージャを作成しましょう。今回はデータベースへのアクセスのない、簡単な.NETストアド・プロシージャを作成することで、開発からデータベースへのデプロイ、デバッグまでの手順を説明します。
VS.NETより新規プロジェクトを作成します。ODT 10.2がインストールされた環境では、Visual Basicプロジェクト、Visual C#プロジェクトのテンプレートとして「Oracle Project」を選択することが可能です。「Oracle Project」を選択して.NETストアド・プロシージャの作成を開始します。
Class1.vb(Visual Basicプロジェクト)やClass1.cs(Visual C#プロジェクト)が作成され、ひな型となるコードが表示されます(図8)。
.NETストアド・プロシージャとしてデプロイするプロシージャやファンクションは、VB.NETの場合は「Public Shared」、C#の場合は「public static」で宣言されている必要があります。この点に注意して、引数として渡された数値を2倍にするファンクション「double_value」と半分にするファンクション「half_value」を作成してみます(リスト3)。
Public Class Class1 |
リスト3 簡単な.NETストアド・ファンクションのコード(VB.NET) |
コードの記述が終わったら、メニューバーより「ビルド」-「ソリューションの配置」をクリックします(図9)。これにより.NETアセンブリのビルドが行われ、データベースへのデプロイを行うためのOracle Deployment Wizard for .NETが起動します。
Oracle Deployment Wizard for .NETは、ビルドされた.NETアセンブリを所定の位置(デフォルトではORACLE_HOME\BIN\CLR以下)にコピーしLIBRARYを作成し、その.NETアセンブリをコールする窓口となるPL/SQLラッパーを生成します。
.NETアセンブリのデプロイはSYSDBA権限で行う必要があります。SYSDBAでの接続が作成されていない場合、新規作成ボタンをクリックして接続を作成します(図10)。
.NETストアド・プロシージャを所有するスキーマやセキュリティ・レベルの設定を行います(図11)。
セキュリティ・レベルは表1の3レベルが用意されています。
セキュリティ・レベル | 説明 |
---|---|
安全(デフォルト) | データベース・リソースへのアクセスのみが許可される。ローカル・ファイルやネットワークなどの外部リソースへのアクセスは許可されない |
外部 | ローカル・ファイルの読み取りまたは書き込みと、ソケットやインターネット・ノードなどのネットワーク・リソースへのアクセスも許可される |
危険 | 管理されていないコードの実行を含め、制限なしの実行が許可される。ほかのすべてのセキュリティ・レベルのスーパーセット |
表1 セキュリティ・レベル |
ウィザードに従って設定を行うだけでデプロイは簡単に終了します。(次ページへ続く)
Copyright © ITmedia, Inc. All Rights Reserved.