.NETでOracleアプリを作ろう(2) Page 1/4
これがODT+VS.NETの開発スタイルだ
日本オラクル
小海 友和
2005/12/2
本記事では、Oracleが提供する.NETプラットフォーム開発向けのミドルウェアやツールを使って、.NET環境でOracleアプリケーション開発を効率的に行うためのノウハウを解説する。(編集部)
| 主な内容 --Page 1--
--Page 2--
--Page 3--
--Page 4--
|
今回は、実際の開発のシーンで「Oracle Developer Tools for Visual Studio .NET」(以下、ODT)をどのように使うかにフォーカスを当てて説明します。単に機能を説明しても少々退屈ですので、サンプルのアプリケーションを作成する中でODTの説明を行います。
データベース・アプリケーションを作成する場合、実際のアプリケーション開発のみならず、データベースの設定などが必要なケースも多くあります。このサンプル・アプリケーションの作成は、今回の「データベース設定編」と次回の「アプリケーション作成編」の2回に分けて行います。どちらもODTの機能をフル活用したVisual Studio .NET(以下、VS.NET)上からの作業となります。
サンプル・アプリケーションの作成に入る前に、ODTのインストールとVS.NETでの環境の設定を行いましょう。この作業の詳細については、OTN-Jの「.NET Developer Center」にドキュメントがありますので、ここでは概略のみを説明します。
1. ODTのインストール
VS.NETがインストールされた環境に、ODTをインストールします。インストール作業はおなじみのOracle Universal Installer(図1)より行います。
![]() |
| 図1 Oracle Universal Installer |
2. Oracleエクスプローラの表示
インストール後、VS.NETのメニューから「表示」をクリックして、Oracleエクスプローラを表示します(図2)。
![]() |
| 図2 Oracleエクスプローラの表示 |
3. 接続の作成
ODTをインストールした当初はデータベースへの接続がありませんので、新しくデータベースへの接続を作成します。今回は、SCOTTユーザーでの接続とSYSTEMユーザーでの接続を作成しておきます。新しく接続を作成するためには、Oracleエクスプローラの「データ接続」を右クリックして、サブメニューの「接続を追加」をクリックします(図3)。
接続対象となるデータベースのデータソース名(接続識別子)をプルダウンから選択し、ユーザー名としてSCOTTを、パスワードにはSCOTTユーザーのパスワードを入力して「OK」をクリックすることで、SCOTTユーザーとしての接続が作成されます。同様の作業を繰り返し、SYSTEMユーザーの接続も作成しておきます。
![]() |
| 図3 Oracleデータベースへの接続の追加 |
| メモ:SCOTTユーザーのアカウントは、インストール直後、ロックされており接続できない可能性があります。その場合、アカウントのアンロックが必要です。アンロックはSQLコマンドで行うことも可能ですが、「Oracle
Database Easy Control Manager(DBECM)」という無償の管理ツールを使用することで、簡単に行うことが可能です。 DBECMは、ユーザー管理のほか、データベースの起動/停止やバックアップ、アラートの確認などを容易に行うことができますので、ぜひ活用してください。 |
まず、今回作成するサンプル・アプリケーションの概要について説明します。今回は「Oracle Data Provider for .NET」(以下、ODP.NET)10.2の新機能であるClientIdの機能を使用して、セキュリティを高めるサンプル・アプリケーションを作成することにします注1。
![]() |
| 図4 サンプル・アプリケーション |
| 注1:ODP.NET 10.2の新機能やClientIdについては連載の第1回「Oracleにおける.NET開発環境の概要」をご覧ください。 |
図4のサンプル・アプリケーションは、ClientIdを入力するテキストボックスに適当な値を入力し、検索ボタンを押すことで、ClientId値に応じた結果を返します。
このアプリケーションは、Oracleデータベースの「Virtual Private Database」(以下、VPD)の機能を使用します。まず簡単にVPDの説明を行い、ODTの機能を使用してVS.NETからOracleデータベースの設定を行います。
VPDの概要
VPDの概念図は以下のようになります。
![]() |
| 図5 VPDによるアクセス制御 |
VPDでは、表、ビュー、シノニムに対して直接ポリシー(アクセス制御を定めたルール)を作成します。ユーザーがポリシー付きのオブジェクトにアクセスする場合、アプリケーションに関係なく、必ずこのポリシーが適用されます。ポリシーが設定された表にアクセスがあった場合、その問い合わせに対して、ポリシーに従う形で内部的にSQL文が書き換えられて実行されます。
VPDを使用することで、アーキテクチャ的に回避できないアクセス制御を提供でき、また、行レベルや列レベルでの細やかなアクセス制御を実装することが可能です。VPDのメリットを簡単にまとめると以下のようになります。
- 不可避的なアクセス制御の提供
- 行レベル、列レベルでの細やかなアクセス制御
- アプリケーションでアクセス制御を実装した場合、ほかのアプリケーション(例えばSQL*Plusなど)からのアクセスは制御できないが、VPDならばすべてのアクセスを制御可能
- 同一のデータベースユーザーを使用して異なるアクセス制御が可能
- データベース管理者とアプリケーション開発者の持つ権限を明確に分けることができる
- 複数のビューを作成して、同じようなことを実現することは可能だが、データベース管理やアプリケーションの作成が煩雑になり、ミスによるアクセス制御の漏れが発生する可能性がある
これらのポリシーの作成やポリシーを実現するファンクションの作成はデータベース上で行う作業になります。ODTを使用することで、これらデータベース上の作業もVS.NET上から行うことが可能です。それでは、VPDの設定をVS.NETから行ってみましょう。(次ページへ続く)
| 1/4 |
| Index | |
| .NETでOracleアプリを作ろう(2) これがODT+VS.NETの開発スタイルだ |
|
| Page
1 ・ODTのインストールとVS.NET環境の準備 ・サンプル・アプリケーションの概要 |
|
| Page 2 ・サンプル・アプリケーション作成の事前準備 |
|
| Page
3 ・ポリシー・ファンクションの作成 |
|
| Page
4 ・ポリシーの作成 ・ポリシー適用後のデータの確認 |
|
| .NETでOracleアプリを作ろう |
TechTargetジャパン
- やはりSELECT文は永遠のテーマです (2012/2/7)
Database Expertフォーラムの2012年1月のアクセスランキングをお届けします。定番の記事を一気に追い抜いてあの記事が…… - SELECT文で取り出したデータを加工して表示する (2012/1/25)
SELECT文で取り出したデータを対象に四則演算する方法など、データを見やすくする方法を解説します - 2012年は私たちが勉強会を盛り上げる! (2012/1/23)
2011年12月、データベース業界初の女子会が発足しました。そこで、女子会を盛り上げていってくれそうな2人にお話を伺いました - 複数の条件を指定してSELECT文を実行する (2012/1/13)
複数の条件を指定してSELECT文を実行する方法と、条件指定に必要な論理演算子、比較演算子の役割を解説します
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -





