.NETでOracleアプリを作ろう(2) Page 4/4
これがODT+VS.NETの開発スタイルだ
日本オラクル
小海 友和
2005/12/2
| 使用するODTの機能 | |
| ・ | Oracle問合せウィンドウ |
用意したEMP_VPD表にポリシーを作成します。Oracleエクスプローラで、SYSTEMユーザーでの接続からOracle問合せウィンドウを開いてリスト2のコードを入力し、実行します(図17)。
BEGIN |
| リスト2 ポリシーの追加 |
ポリシーの追加には、DBMS_RLS.ADD_POLICY関数を使用します。リスト2に赤字番号で示したそれぞれのパラメータの概略は以下のようになります。
- ポリシーを設定する表を所有するユーザー
- ポリシーを設定する表
- ポリシー名。1つの表について一意の名前である必要があります
- ポリシー・ファンクションを所有するユーザー
- ポリシー・ファンクション名
- ポリシーを適用する文の種類
![]() |
| 図17 問合せウィンドウでのポリシーの作成 |
| 使用するODTの機能 | |
| ・ | Oracleデータ・ウィンドウ |
| ・ | Oracle問合せウィンドウ |
Oracleデータ・ウィンドウを使用してEMP_VPDのデータを確認します。ポリシーを設定する前には見えていたデータが見えません。普通に接続されたセッションにはCLIENT_IDENTIFIERの値がセットされていませんので、ポリシーに従い、「WHERE 1=2」が内部的に追加され、データが表示されないのが正常な動作になります(図18)。
![]() |
| 図18 Oracleデータ・ウィンドウ(表示データなし) |
CLIENT_IDENTIFIERに値をセットするには、.NETアプリケーションではClientIdを使用することで簡単にセットできますが、問合せウィンドウからプロシージャ(DBMS_SESSION.SET_IDENTIFIER)を使用してセットすることも可能です。CLIENT_IDENTIFIERをセットした後であれば、条件に応じたデータが表示されます。
正常にVPDの設定ができたかどうかを確認するために、CLIENT_IDENTIFIERにD10をセットして、その後、EMP_VPD表にアクセスします。D10がセットされているのでdeptnoが10のものだけが表示されることが確認できます(図19)。
まず、リスト3のプロシージャを使用して、CLIENT_IDENTIFIER値をセットし、同じ問合せウィンドウ内で、SELECT文(リスト4)を実行します(図19)。
BEGIN |
| リスト3 CLIENT_IDENTIFIERの値をセット |
SELECT * FROM emp_vpd; |
| リスト4 emp_vpdにアクセス |
![]() |
| 図19 問合せウィンドウでCLIENT_IDENTIFIERのセット後、問合せを実行 |
問合せウィンドウでは、クエリの結果をグリッドで表示しますが、テキスト形式での表示に変更することも可能です(図20)。
![]() |
| 図20 問合せ出力の設定の変更 |
以上でVPDの設定・確認は終了です。
◇
今回はVPDの設定をODTの機能を使用して行いました。ODTを使用することで、VPDのような複雑な設定を含め、アプリケーション開発に必要なデータベース上の作業はすべてVS.NETから可能であることが理解できたと思います。また、データベースの設定だけではなく、PL/SQLの開発もVS.NETを用いてコーディングからコンパイルまでを行うことができます。
次回は、いよいよ今回設定した表にアクセスする.NETアプリケーションを作成します。ご期待ください。(次回に続く)
| 4/4 |
| Index | |
| .NETでOracleアプリを作ろう(2) これがODT+VS.NETの開発スタイルだ |
|
| Page
1 ・ODTのインストールとVS.NET環境の準備 ・サンプル・アプリケーションの概要 |
|
| Page 2 ・サンプル・アプリケーション作成の事前準備 |
|
| Page 3 ・ポリシー・ファンクションの作成 |
|
| Page 4 ・ポリシーの作成 ・ポリシー適用後のデータの確認 |
|
| .NETでOracleアプリを作ろう |
TechTargetジャパン
- IBMが歴史を変える!? 新カテゴリの製品を発表 (2012/5/25)
IBMは新たな製品カテゴリとなる「PureSystems」を発表。DB2 10とビッグデータの関係、PureSytemsの斬新さはどこかに迫ります - クラウド時代のデータ処理を支える分散KVSの可能性 (2012/5/23)
現在、高速データ処理の主流はインメモリ型データ処理だが、別の方法として分散KVSが注目を集めている。今回は分散KVSについて話を聞いた - 複数の表からデータを取り出して表示させる(2) (2012/4/23)
前回はSQLの基本的な結合構文について説明しました。今回は、より複雑な自己結合や外部結合について説明します - SQL Server、OOWにIQ、盛りだくさんの4月 (2012/4/20)
オラクルオープンワールドが3年ぶりに東京で開催されたほか、SQL Server 2012が提供開始されるなど、今月は話題が盛りだくさんです
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -




