特集:VBでOracle Database開発入門(前編).NETによるOracle Database開発とは?初音 玲2008/11/11 |
|
|
■Oracleデータベース開発のテクノロジ
ご存じのように、.NET FrameworkのADO.NETは、Visual Basic(以下、VB)やC#などの開発言語を使ってデータベースにアクセスするためのクラス・ライブラリだ。もちろん、Oracle Databaseも最初からアクセス対象のデータベースに含まれている。
●ADO.NETとODP.NET
次の図はADO.NETプログラミングのモデルを図にしたものである。
図9 ADO.NETのプログラミング・モデル |
この図で分かるように、最終的にデータベースをアクセスするコンポーネントが「.NETデータ・プロバイダ」である。これには、ODBC用、OLE DB用、SQL Server用、Oracle用など、データベース対象に応じたものがそれぞれ用意されており、ADO.NETでデータベース・アクセスの実装を開始する際に、適切なものを選択できるようになっている。
例えば、Oracle Databaseと接続できる.NETデータ・プロバイダには次のものがある。ここでは4つのコンポーネントを図示している。
図10 Oracle Databaseに接続する4つの方法 |
最初の3つは、その名前空間から分かるように.NET Frameworkに最初から搭載されている.NETデータ・プロバイダであり、最後の1つのOracle Data Provider for .NET(以下、ODP.NET)はオラクル社が実装、提供している.NETデータ・プロバイダだ。
どの.NETデータ・プロバイダを使ったとしても、VBからOracle Databaseにアクセスすることはできるが、機能面や性能面を含め総合的に判断すると、やはりオラクル社自らが提供しているODP.NETの使用をお勧めする。
●Oracle Data Access Componentについて
ODP.NETは「Oracle Data Access Component」(以下、ODAC)と呼ばれるパッケージの一部としてオラクル社が提供しているものだ。ODACはオラクル社のサイトから誰でもが自由にダウンロードして使用できる(実際の使用に際しては接続先のOracle Databaseのライセンスが必要)。
ODACの構成内容は以下のようになっている。
図11 Oracle Data Access Component |
ODP.NET、ODT、ODE.NETについて詳しくは後述する。 Visual StudioやODT(Oracle Developer Tools for Visual Studio)などの開発環境と、ODP.NETのクラス・ライブラリを使ってデータベース・アクセスを実装し、ビルドを行い、.NETアセンブリ(プログラム)を生成する。出来上がった.NETアセンブリを実行するには、その運用環境にODP.NETが必要である。 単なる.NETアセンブリとしてだけでなく、.NETストアド(=.NETによるストアド・プロシージャのアセンブリ)も作成できる。.NETストアドを利用するには、運用環境にODP.NETに加えて、(Oracle Databaseに提供する拡張である)ODE.NET(Oracle Database Extensions for .NET)が必要になる。 |
上の図の各要素について説明していこう。
○ODP.NET
ODP.NETはODACの中心的なコンポーネントであり、その実体は.NETデータ・プロバイダとしてOracelデータベースを操作するためのクラス・ライブラリである。よって、.NETアセンブリを実行する場合にも必要となり、ODP.NETは開発環境と実行環境の両方に導入する必要がある。
○ODT(Oracle Developer Tools for Visual Studio)
ODTは、Oracle Databaseのテーブルの内容などをVisual StudioのIDEから参照できるようにする拡張機能だ。そのため、ODTのバージョンによって、対応するOracle DatabaseおよびVisual Studioのバージョンが異なるので注意が必要だ(表3)。
対応Oracle Database | 対応Visual Studio | |
ODT 10.1.x.x | Oracle 9i Database Release 2 Oracle Database 10g Release 1 |
Visual Studio .NET 2003 |
ODT 10.2.0.1 | Oracle 9i Database Release 2 Oracle Database 10g Release 1 Oracle Database 10g Release 2 |
Visual Studio .NET 2003 |
ODT 10.2.0.2 | Oracle8i R8.1.7.4以降 | Visual Studio .NET 2003 Visual Studio 2005 |
ODT 11.1.0.6 | Oracle 9i Database Release 2〜 | Visual Studio .NET 2003 Visual Studio 2005 Visual Studio 2008 |
表3 ODTバージョン別の対応 | ||
ODT 10.2までのODTは[サーバー エクスプローラ]とは別物。 ODT 11.1以降のODTは[サーバー エクスプローラ]に統合されている。 |
ODTのバージョン間の違いで最も顕著なのが、ODT 11.1だ。ODT 10.2までは、IDEに「Oracleエクスプローラ」という独自のツール・ウィンドウを追加していたが、ODT 11.1からはその機能がVisual StudioのIDEのサーバ・エクスプローラに統合され、そこからOracle Database独自の管理設定ができるようになっている。
図12 独自の[Oracle エクスプローラ]から標準の[サーバー エクスプローラ]に統合 |
○ODE.NET(Oracle Database Extensions for .NET)
ODE.NETはクライアント側の拡張ではなくWindows上で稼働しているOracle Databaseに対する機能拡張だ。ODE.NETを使えばストアド・プロシージャの開発言語として.NET言語を使用できようになる。SQL ServerにおけるSQL CLRに相当する機能だ。
●Oracle Instant Client
Oracle Databaseを使用するVBのアプリケーションを動作させるには、ODP.NET以外に「Oracleクライアント」と呼ばれるミドルウェアが必要だ。
以前であれば、Oracleクライアントは、Oracle Database製品のCDからOracle Installerを使ってインストールする必要があったが、最近のODACには「Oracle Instant Client」として添付されているので、ODACをダウンロードしてインストールするだけで済む(Oracle Instant Clientを個別にインストールする必要はない)。このため、非常に簡単に実行環境が作れるようになった。
さらにOracle Instant Clientには次のような特徴がある。
- ORACLE_HOME環境変数が不要なため、同じPC上で異なるOracleクライアントのバージョンが同時使用可能
- アプリケーションからOracle Databaseに接続するための最小構成
- Oracle Universal Installerによるインストールだけではなく、.zipファイルを任意のフォルダに解凍してインストールすることも可能
- path環境変数以外に設定が必要なのは、NLS_LANG環境変数だけ
- ISVやパートナーは自社アプリケーションといっしょにOracle Instant Clientを配布可
■
INDEX | ||
[特集]VBでOracle Database開発入門(前編) | ||
.NETによるOracle Database開発とは? | ||
1..NETで、なぜデータベースが必要なのか? | ||
2.Oracle Databaseの歴史と最新のOracle 11gとは | ||
3.Oracleデータベース開発のテクノロジ | ||
[特集]VBでOracle Database開発入門(後編) | ||
SQL Server開発者のためのOracle DB入門 | ||
1.SQL Server開発者から見たOracle Databaseの特徴 | ||
2.Oracle DatabaseとSQL Serverのコードの主な違い | ||
3.VB6×Oracleから.NET×Oracle 11g移行のポイント | ||
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|
- - PR -