検索
連載

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

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

PC用表示 関連情報
Share
Tweet
LINE
Hatena

 本連載はオラクル社が提供している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を使用せずにストアド・プロシージャを開発できます。詳細に関しては、次回以降であらためて紹介します。

       | 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る