小手調べにASP.NETからOracleに接続してみよう:.NETユーザー必見! Oracle 10gのお作法(1)(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とは?
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)。
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.