連載
» 2007年03月14日 00時00分 公開

.NETユーザー必見! Oracle 10gのお作法(1):小手調べにASP.NETからOracleに接続してみよう (1/4)

オラクル社が提供する3つの.NET環境用開発ツール「ODP.NET」「ODT」「ODE.NET」。Oracle 10gリリース2に対応した最新版を使って、Oracleデータベースを前提とした.NETアプリケーションの開発手法を解説する。(編集部)

[三谷亮太,日本オラクル]

 本連載はオラクル社が提供しているMicrosoft .NET(以下、.NET)環境用の開発ツールを中心に、Microsoft Visual Studio 2005(以下、Visual Studio 2005)とOracle Database 10g(以下、Oracle 10g)を使ったアプリケーション開発について解説します。

 Oracle Data Provider For .NET(以下、ODP.NET)、Oracle Developer Tools for Visual Studio .NET(以下、ODT)、Oracle Database Extensions for .NET(以下、ODE.NET)といったツールの説明や設定方法から実際の開発手順やサンプルコード、開発上での注意点やTIPSを紹介していきます。

ODP.NET、ODT、ODE.NETの概要

 初めに、Oracleデータベースを用いた.NETアプリケーション開発において重要な3つの無償ソフトウェアを紹介します。それぞれ稼働するロケーションが異なることに注意してください(図1)。

  • ODP.NET:.NET環境からOracleデータベースに接続するための高機能なミドルウェア。Oracle Database Client上で動作(クライアント/サーバ・システムの場合はクライアント、Webシステムの場合はWebサーバとなる)
  • ODT:GUI操作でOracleアプリケーション開発を行うためのVisual Studio 2005のアドインツール。開発環境(Visual Studio 2005)上で動作
  • ODE.NET:Oracleデータベース上で.NETストアド・プロシージャを実行するための機能。Oracleデータベース・サーバ上で動作
図1 ODP.NET、ODT、ODE.NETが稼働するロケーション 図1 ODP.NET、ODT、ODE.NETが稼働するロケーション

 なお、これらの環境がすべて別マシン上にあるとは限りません。特に開発時は実行環境のアプリケーション・サーバ、データベース・サーバを1台の開発用マシンに置くことも珍しくないでしょう。

ODP.NETとは?

 ODP.NETは、.NET環境からOracleデータベースへネイティブに接続可能なミドルウェアです。ODP.NET以外にもOracle Objects for OLE(以下、OO4O)やODBC.NETなどのデータプロバイダも使用可能ですが、ODP.NETには以下のようなメリットがあります。

  • マネージコードのためRCW(Runtime Callable Wrapper)によるオーバーヘッドが発生しない
  • Oracle接続に最適化されているため、パフォーマンスが良い
  • Oracle独自の機能が使用可能

 Visual Studio 2005上でも、OO4OやODBC.NETを用いてOracleデータベースに接続することは可能ですが、OO4OはRCWによるオーバーヘッドが発生し、DataSetへのバインドなど.NET独自の機能が使用できません。ODBC.NETはOracle独自の機能が使えず、またほかのデータベース製品でも使用可能となるよう汎用化されているため、パフォーマンスがODP.NETより劣る可能性があります。

 特別な理由がある場合を除き、.NET環境からOracleデータベースに接続するにはODP.NETが最善の選択となります(図2)。

図2 Oracleと.NETをつなぐ各種の接続用ドライバ 図2 Oracleと.NETをつなぐ各種の接続用ドライバ

 2007年3月現在、ODP.NETの最新バージョンは10.2.0.2です。バージョン10.1と比較すると以下の機能が追加されています。

  • プロバイダ・ファクトリクラスおよび基本クラス
  • 接続文字列ビルダ
  • データソース列挙子
  • スキーマ検出のサポート
  • System.Transactionsサポート
  • バッチ処理サポート
  • ODP.NETのサーバ側機能
  • クライアント識別子のサポート
  • Real Application Clusters(RAC)に対する接続プールの最適化
  • Database Change Notificationサポート
  • 接続プーリング管理
  • Oracle 10gリリース2(10.2)以降でのLOBのパフォーマンスおよび機能の向上
  • INおよびIN/OUT REF CURSORオブジェクトのサポート

 詳細については、オラクル社の技術者サイト「OTN」からダウンロード可能な「Oracle Data Provider for .NET開発者ガイド」をご覧ください。このうち、いくつかの機能については今後の連載でも紹介する予定です。

ODTとは?

 ODTは、Visual Studio .NET用のアドインです。.NET開発者はODTを使用することで、より簡単かつ迅速にODP.NETを用いたOracleアプリケーションを作成できます。ODTの主な機能は次のようになります。

  • Oracleエクスプローラ
     ツリー構造を介してOracleスキーマを参照および変更できる
  • デザイナとウィザード
     表デザイナなどで、データベース・タスクを容易にする
  • 自動コード生成
     ドラッグ&ドロップで作業用コードを作成できる
  • PL/SQLエディタ
     統合されたVisual Studio .NET環境でストアド・プロシージャやストアド関数を編集できる
  • ストアド・プロシージャのテスト
     ストアド・プロシージャやストアド関数を実行できる
  • Oracleデータ・ウィンドウ
     Oracleデータを表示および編集できる
  • SQL問い合わせウィンドウ
     非定型SQL文やスクリプトを実行できる
  • 統合されたヘルプ・システム
     SQL、PL/SQLおよびエラーのリファレンス・マニュアル

ODE.NETとは?

 ODE.NETは、C#やVB.NETなどの.NETマネージド言語で書かれた.NETストアド・プロシージャおよびファンクションをOracleデータベース上で実行させるための、Oracleデータベース側の機能です。これを活用することにより、PL/SQLを使用せずにストアド・プロシージャを開発できます。詳細に関しては、次回以降であらためて紹介します。

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。