ヘッダーをスキップ
Oracle® Objects for OLE開発者ガイド
11gリリース2 (11.2) for Microsoft Windows
B58887-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

1 Oracle Objects for OLEの紹介

この章では、Oracle Objects for OLE(OO4O)を紹介します。


注意:

Oracle Database 11gリリース2(11.2)は、Oracle Objects for OLEをサポートする最後のデータベース・バージョンです。Oracle Database 11gリリース2(11.2)の後にリリースされるOracle Databaseバージョンでは、Oracle Objects for OLEはサポートされません。オラクル社のライフタイム・サポート・ポリシーの対象となっている既存のOracle Databaseバージョンでは、Oracle Objects for OLEを引き続き使用できます。

内容は次のとおりです。

Oracle Objects for OLEの概要

Oracle Objects for OLE(OO4O)を使用すると、Microsoft COMオートメーションおよびActiveXテクノロジをサポートするプログラミングまたはスクリプト言語を介して、Oracleデータベースに格納されたデータにアクセスできます。これには、Visual Basic、Visual C++、Visual Basic for Applications(VBA)、IIS Active Server Pages(VBScriptおよびJavaScript)などが含まれます。

図1-1に、OO4O製品を構成するソフトウェア・レイヤーを示します。

図1-1 OO4Oのソフトウェア・レイヤー

図1-1の説明は次にあります。
「図1-1 OO4Oのソフトウェア・レイヤー」の説明

OO4Oでは、次の内容が提供されます。

Oracle Objects for OLEインプロセス・オートメーション・サーバー

OO4Oインプロセス・オートメーション・サーバーは、Oracleデータベースへの接続、SQL文やPL/SQLブロックの実行、および結果へのアクセスのための一連のCOMオートメーション・オブジェクトです。

図1-2に、OO4O製品を構成するオブジェクト・モデルを示します。

図1-2 オートメーション・オブジェクト

OraSessionから始まる階層ダイアグラム
「図1-2 オートメーション・オブジェクト」の説明

Microsoft ActiveX Data Objects(ADO)などのCOMベースのデータベース接続APIとは異なり、OO4Oオートメーション・サーバーは、特にOracle Databaseを対象に作成されたものです。これは、Oracle Database固有の機能にアクセスするために最適化されたAPIを提供し、このAPIを使用せずにODBCまたはOLE DBコンポーネントからアクセスすると、煩雑であったり機能を利用できません。

OO4Oは、Visual BasicやExcelなどで開発された典型的な2層クライアント/サーバー・アプリケーションから、Microsoft Internet Information Server(IIS)やMicrosoft Transaction Server(MTS)におけるWebサーバー・アプリケーションなど複数層アプリケーション・サーバー環境に配置されたアプリケーション・サーバーまで、様々な環境でOracleデータベースに効率的かつ簡単にアクセスするための主機能を備えています。

次の機能があります。

  • Oracle 11gはグリッド対応であるため、開発者は既存コードを変更せずにグリッド・サポートをフルに活用できます。

  • 問合せの結果セットに簡単かつ効率的にアクセスするための、スクロール可能で更新可能なクライアント側カーソル(調整可)。

  • PL/SQLの無名ブロックおよびストアド・プロシージャを実行するためのPL/SQLのサポート。これには、PL/SQLストアド・プロシージャのパラメータに必要なOracleデータ型(PL/SQLカーソルなど)のサポートも含まれます。

  • 配列のフェッチ、更新および挿入に対するサポート。これによって、ネットワーク・ラウンドトリップの回数が減少します。

  • Oracleデータベースに格納されている動的コンテンツを使用し処理するスケーラブルな中間層アプリケーション・コンポーネント(IIS Active Server Pagesなど)の開発を可能にする接続プール。

  • COM+およびMicrosoft Transaction Server(MTS)が管理するトランザクションのサポート。

  • 次に示す拡張Oracleデータ型のインスタンスへのシームレスなアクセス。

    • オブジェクト参照(REF)

    • オブジェクト・インスタンス(オブジェクト)

    • ネストした表

    • VARRAY

    • BLOBCLOBNCLOBおよびBFILE

  • XMLの生成。

  • アドバンスト・キューイングの完全なサポート。

  • データベース・イベントの公開、検出およびサブスクライブのサポート。

  • SQL文とPL/SQLブロックの非同期処理のサポート。

  • スキーマ・オブジェクトを記述するための使いやすいインタフェース。

  • ストアド・プロシージャ用のOracleコード・ウィザード。このウィザードは、PL/SQLまたはJavaストアド・プロシージャを実行するOO4Oコードを自動的に生成します。

  • マルチスレッド環境におけるオートメーション・オブジェクトへの安全なアクセスを可能にするスレッド・セーフティ。

Oracle Data Control

Oracle Data Controlは、Oracleデータベースとビジュアル・コントロールとの間のデータ交換を簡素化するために設計されたActiveXコントロールです。このビジュアル・コントロールには、Visual Basicやカスタム・コントロールをサポートする他の開発ツールの編集、テキスト、リストおよびグリッドのコントロールなどがあります。

データ・コントロールによって、コードの記述なしに、ほとんどのデータ・アクセス操作を実行できます。データ・コントロール付きのダイナセットを作成するには、ConnectDatabaseNameおよびRecordSourceの各プロパティを設定して、Refreshコマンドを実行します。

データ・コントロールは、基礎となるダイナセットの1フィールド、1レコードまたは複数レコードを表示する他のコントロールにバインドできます。レコードの移動が発生すると、バインド済コントロール内のデータはダイナセットのカレント・レコードと同期します。データ・コントロールにバインドされているコントロールのデータをユーザーが変更した場合、その変更内容は基礎となるダイナセットとデータベースに自動的に反映されます。

Oracle Data Controlは、Visual Basicに含まれているMicrosoftデータ・コントロールと互換性があります。Visual Basicのデータ・コントロールに習熟している場合は、Oracle Data Controlの使用方法をすぐに理解できます。データ認識コントロールとData Controlとの間の通信は、Microsoftが指定したプロトコルによって制御されます。

Oracle Objects for OLE C++クラス・ライブラリ

Oracle Objects for OLE C++クラス・ライブラリは、OO4Oオートメーション・サーバーへのプログラム的なアクセスを提供するC++クラスのコレクションです。このクラス・ライブラリはOLEオートメーションを使用して実装されますが、使用するためにOLE開発キットやOLE開発の知識は必要ありません。このライブラリを使用すると、C++開発者はOO4OインタフェースにアクセスするためのCOMクライアント・コードを記述する必要がありません。

オブジェクト・クラスに加え、このクラス・ライブラリもバインド済クラスを提供し、これにより、テキスト・ボックスやリスト・ボックスなどのコントロールをダイナセット(データベース内の表の列)のフィールドに直接リンクできます。このバインド済クラスは、Visual Basicと同様に、遅延実行時バインディングをサポートします。Oracle Objects for OLE C++クラス・ライブラリは、バインド済クラスに関してMicrosoft Visual C++およびMicrosoft Foundation Classesでサポートされています。


関連項目:

オンライン・ヘルプとして利用できるOracle Objects for OLE C++クラス・ライブラリ開発者ガイド

必要な設定

この項では、Oracle Objects for OLEを使用するために必要な設定を説明します。

インストール

Oracle Database 10gからは、Oracle Objects for OLEを複数のOracleホームにインストールできるようになりました。ただし、COMコンポーネントであるため、コンピュータ上でアクティブにできるのは1つのインスタンスのみです。つまり、前のインストールは、現在(最新)のインストールによって非アクティブにされます。OracleホームはOracleインストーラを使用して切り替えることができます。

システム要件


注意:

Oracle Objects for OLEは、Windows x64オペレーティング・システムでサポートされていません

Oracle Objects for OLEをインストールするには、次のシステム要件が必要です。

  • Windowsオペレーティング・システム。

    • 32-bit: Windows 7(Professional、EnterpriseおよびUltimate Edition)、Windows Vista(Business、EnterpriseおよびUltimate Edition)、Windows Server 2008(Standard、Enterprise、Datacenter、WebおよびFoundation Edition)、Windows Server 2003 R2(すべてのエディション)、Windows Server 2003(すべてのエディション)、またはWindows XP Professional Edition。

      Oracleは、これらのオペレーティング・システム上で32-bitのOracle Objects for OLE x86版、AMD64およびIntel EM64Tプロセッサをサポートしています。

  • ローカルまたはリモートのOracleデータベース(Oracle9i リリース2以上)。

  • Oracle Client。Oracle Universal Installerは、RSFがOO4Oインストールの一部としてインストールされていることを確認します。

  • OO4Oオートメーション・サーバーには、COMオートメーションをサポートする次のようなアプリケーションが必要です。

    • Microsoft Visual Basic

    • Microsoft Excel

    • Microsoft Access

    • Microsoft Internet Information Server(IIS)

    • Borland Delphi

その他の要件

次の要件が必要になる場合があります。

  • Oracle Data ControlにはVisual Basicが必要です。

  • Oracle Objects for OLE C++クラス・ライブラリにはMicrosoft Visual C++ Version 6.0以上が必要です。

  • OO4Oコード・ウィザードにはVisual Basic 6が必要です。Visual Basic 6は、コード・ウィザードをインストールする前にインストールする必要があります。

  • OO4O Visual Basicプロジェクトを開発する際は、Oracleインプロセス・サーバー・タイプ・ライブラリ(oipVER.tlb)を参照する必要があります。

    参照するには、「Project」メニュー(VB 5.0/6.0)から「References」を選択し、ORACLE_BASE\\ORACLE_HOME\bin\oipVER.tlbファイルを指しているOracle In-Process Server 5.0 Type Libraryの横にあるボックスを選択します。詳細は、「Visual BasicでのOracle Objects for OLEオートメーションの使用」参照してください。


関連項目:

Oracle Objects for OLEの要件の詳細は、「Oracle Objects for OLEの再配布可能ファイル」および「問題解決」を参照してください。

Oracle Objects for OLEファイルの場所

OO4Oのインストールの一部として次のディレクトリが作成され、対応するファイルが格納されます。

  • ORACLE_BASE\ORACLE_HOME\OO4O - SQLスクリプトおよび定数ファイル

  • ORACLE_BASE\ORACLE_HOME\OO4O\CPP - ライブラリ、インクルード・ファイル、DLL、クラス・ライブラリのソース

  • ORACLE_BASE\ORACLE_HOME\OO4O\CPP\MFC - ライブラリ、インクルード・ファイル、MFCバインド済クラス・ライブラリのソース

  • ORACLE_BASE\ORACLE_HOME\OO4O\EXCEL\SAMPLES - Excelのサンプル

  • ORACLE_BASE\ORACLE_HOMEOO4O\VB\SAMPLES - Visual Basicのサンプル

  • ORACLE_BASE\ORACLE_HOME\OO4O\VB\SAMPLES\QT - Visual Basicクイック・ツアー・ガイド

  • ORACLE_BASE\ORACLE_HOME\OO4O\IIS\SAMPLES - IISのサンプル

  • ORACLE_BASE\ORACLE_HOME\OO4O\codewiz - OO4Oコード・ウィザードのサンプル

コンポーネントの認証

最新の動作保証情報は、My Oracle Support(以前のOracleMetaLink)を参照してください。

http://metalink.oracle.com/

My Oracle Supportを使用する前にオンライン登録を行う必要があります。My Oracle Supportにログインした後、左側の列から「製品ライフサイクル」を選択します。「製品ライフサイクル」ページから、「動作保証」をクリックします。その他の「製品ライフサイクル」オプションには、「製品アベイラビリティ」、「サポート終了日のご案内」および「アラート」があります。

Oracle Objects for OLEの再配布可能ファイル

この項では、エンド・ユーザーまたは開発者が使用するコンピュータで再配布または更新できるファイルについて説明します。

エンド・ユーザーが現行リリースのOracle Objects for OLEをコンピュータにインストールしているかどうかが明確ではない場合は、Oracle Objects for OLEに含まれるOO4Oアプリケーション固有のファイルを再配布する必要があります。典型的な例は、OO4OがOracle Universal Installerを使用せずにパッチとしてインストールされた場合です。

再配布可能ファイルの場所

表1-1に、再配布可能ファイルの場所、コメントおよび必要な動作を示します。

表1-1 再配布可能ファイルの場所

ファイル ディレクトリの場所 必要な処理 備考

oipVER.dll

ORACLE_BASE\ ORACLE_HOME\bin

コマンド・プロンプトで次のコマンドを実行します。

drive:\path>

regsvr32.exe oipVER.dll

なし

oipVER.tlb

ORACLE_BASE\ ORACLE_HOME\bin

なし

なし

oraansiVER.dll

ORACLE_BASE\ ORACLE_HOME\bin

なし

VERは現行バージョンに変更してください。

oo4oparm.reg

ORACLE_BASE\ ORACLE_HOME\oo4o

ご使用のコンピュータの正しいORACLE_HOMEの位置とHOMEIDに編集します。コマンド・プロンプトで次のコマンドを実行します。drive:\path>

oo4oparm.reg

OO4O構成情報を登録するためのファイルです。

oiplang.msb

ORACLE_BASE\ ORACLE_HOME \oo4o\mesg

なし

このメッセージ・ファイルは、言語ごとに異なります。oipus.msbは英語版、oipja.msbは日本語版です。

oraclm32.dll

(Microsoft

VC++用)

または

oradc.ocx

ORACLE_BASE\ ORACLE_HOME\bin

oradc.ocxの場合は、次のコマンドを実行します。

regsvr32.exe oradc.ocx drive:\path>

アプリケーションで使用した開発ソフトウエアに対応するファイルを配布してください。


さらに、「Oracle Objects for OLEの概要」で説明したシステム要件を満たしていることを確認してください。

アプリケーションの構築に使用した開発ソフトウエアに対応して、次のリストにあるファイルを配布する必要があります。

  • oraclm32.dll(Microsoft Visual C++用)

  • oradc.ocx

ファイルの更新と登録

OO4O構成情報を登録するためのoo4oparm.regファイルが用意されています。このファイルを確認し、必要に応じて編集して、正しいORACLE_HOMEの位置とHOMEIDをご使用のコンピュータに反映してください。oipVER.dllを登録し、レジストリのoo4oparm.regにOO4O構成情報を入力するには、コマンド・プロンプトで次のコマンドを実行してください。

drive:\path> regsvr32.exe oipVER.dll

drive:\path> oo4oparm.reg

メッセージ・ファイルoiplang.msbも用意して、ORACLE_BASE\ORACLE_HOME\oo4o\mesgディレクトリにコピーする必要があります。このメッセージ・ファイルは、言語ごとに異なります。たとえば、oipus.msbは英語版、oipja.msbは日本語版です。


注意:

これが機能するためには、Oracle Data Control(oradc.ocx)を登録する必要があります。OLE Control Extension(OCX)は、コマンド・プロンプトで次のコマンドを実行することによって登録できます。

drive:\path> regsvr32.exe oradc.ocx



関連項目:

Oracle Data Control