.NETユーザー必見! Oracle 10gのお作法

連載第5回

Oracle独自の“変更通知機能”で同時実行性を向上


日本オラクル
三谷 亮太
2007/8/10
オラクル社が提供する3つの.NET環境用開発ツール「ODP.NET」「ODT」「ODE.NET」。Oracle 10gリリース2に対応した最新版を使って、Oracleデータベースを前提とした.NETアプリケーションの開発手法を解説する。(編集部)
主な内容
--Page 1--
変更通知機能とは?
アプリケーションの作成
--Page 2--
EMP表の表示・更新
--Page 3--
変更通知を実装する
変更通知のテスト

変更通知機能とは?

 最終回となる今回は、Oracleデータベースの独自機能である行レベルの変更通知機能を活用します。データベース変更通知とは、SELECTを行ったオブジェクトの変更情報をイベントとして受け取る機能のことです。イベントはOracleCommandを通じて通知されます。

 通常、排他制御を行う場合は以下のような手段が考えられます。

  • SELECT時にはロックをかけず、更新時にほかの人が変更していないかチェックし、変更されていた場合はロールバックする
  • SELECT時にロックをかけ、あらかじめほかの人が更新できないようにする

 前者の場合はデータが変更されていると入力内容が無駄になる可能性があり、後者の場合は同時実行性が低くなるというデメリットがあります。変更通知機能を使うことでロックをかけず、変更された場合は即座にユーザーに通知することで修正の手間を軽減できます(図1)。

図1 Oracleデータベースの行レベルの変更通知機能

 図1では行番号注1を受け取っていますが、ほかにも以下のような情報を通知可能です。

  • 変更されたオブジェクト名
  • 変更されたオブジェクトのスキーマ名
  • 通知を発生させるデータベース・イベント(挿入、更新、削除など)
注1:行番号(ROWID)の詳細については、オラクル社のドキュメントをご覧ください。

アプリケーションの作成

 これまでの連載ではWebアプリケーションを中心に解説してきましたが、今回はWindowsアプリケーションで作成します。なお、Webアプリケーションで変更通知機能を使う場合はConnectionオブジェクトのインスタンスが稼働中に破棄されないよう、ライフサイクルに注意する必要があります。

 [ファイル]メニューの[新しいプロジェクト]より[Windowsアプリケーション]を選択します(図2)。

図2 Windowsアプリケーションの新規プロジェクト作成

 作成したプロジェクトに「Oracle.DataAccess」の参照設定を追加します。これまでと同様、メニューの[プロジェクト]→[参照の追加]から「Oracle.DataAccess」を選択します。

  1/3

 Index
連載:.NETユーザー必見! Oracle 10gのお作法(5)
 Oracle独自の“変更通知機能”で同時実行性を向上
Page 1
・変更通知機能とは?
・アプリケーションの作成
  Page 2
・EMP表の表示・更新
  Page 3
・変更通知を実装する
・変更通知のテスト


.NETユーザー必見! Oracle 10gのお作法

TechTargetジャパン

Database Expert フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH