ヘッダーをスキップ

Oracle Databaseプラットフォーム共通日本語README
11gリリース1(11.1)
E05740-05
  目次
目次
 

戻る
戻る
次へ
次へ
 

Oracle COM Automation for PL/SQL README

原典情報: $ORACLE_HOME\com\readme.txt

このドキュメントでは、Oracle COM Automationドキュメントの内容を補足する情報を提供します。このドキュメントには、Oracle COM Automation Feature for PL/SQLをインストールおよび構成するための手順が記載されています。


目次

Oracle COM Automation Feature for PL/SQLのインストール

外部プロシージャの構成

Oracle COM Automation Feature for PL/SQLのソリューション

Microsoft Wordソリューション

Microsoft Excelソリューション

Microsoft PowerPoint 97ソリューション

MAPIソリューション

既知の不具合

回避策


Oracle COM Automation Feature for PL/SQLには、次のコンポーネントが含まれます。

Oracle COM Automation Feature for PL/SQLのインストール

Oracle COM Automation Feature for PL/SQLをインストールするには、次のようにします。

  1. MS-DOSコマンド・プロンプトを開きます。

  2. 次のコマンドを使用して、comディレクトリに移動します。

    cd ORACLE_BASE\ORACLE_HOME\com
    

  3. SQL*Plusを使用し、systemとしてデータベースに接続します。次に例を示します。

    sqlplus system/manager
    

  4. Oracle COM Automation Feature for PL/SQLを使用するデータベース・ユーザーに、Create Library権限を付与します。

    grant create library to hr
    

  5. Oracle COM Automation Feature for PL/SQLを使用するデータベース・ユーザーとしてログインします。

    connect hr/hr
    

  6. Oracleホームのcomディレクトリ(Oracle COM Automation Feature for PL/SQLをインストールした場所)にある、comwrap.sqlスクリプトを実行します。

    @comwrap.sql
    

    このスクリプトにより、現行ユーザーのスキーマ内にORDCOMパッケージが作成されます。なお、このスクリプトを最初に実行する際には、「ORA-04043: オブジェクトXXXXは存在しません」というメッセージがいくつか表示されます。これらのエラーは無視しても支障ありません。

外部プロシージャの構成

Oracle COM Automation Feature for PL/SQLは外部プロシージャ・コールアウトに依存するため、この機能を使用するには、リスナーとOracle Net Services RPCメカニズムを適切に構成することが不可欠です。

ORA-28575: 外部プロシージャ・エージェントへのRPC接続をオープンできません。」というエラーが返された場合は、次のいずかの可能性があります。

次に示すのは、listener.oraおよびtnsnames.oraファイルを変更して、外部ストアド・プロシージャの起動にプロセス間通信(IPC)が使用されるように構成する方法の例です。listener.oraおよびtnsnames.oraファイルでの外部プロシージャの構成に関する追加情報は、『Oracle COM Automation機能開発者ガイド』または『Oracle Database Net Services管理者ガイド』を参照してください。

構成ファイルlistener.ora:

LISTENER =
  (ADDRESS_LIST =
	(ADDRESS=
	  (PROTOCOL= IPC)
	  (KEY= EXTPROC0)
	)
  )

STARTUP_WAIT_TIME_LISTENER = 0
CONNECT_TIMEOUT_LISTENER = 10
TRACE_LEVEL_LISTENER = OFF

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = ORCL)
    )
    (SID_DESC =
      (SID_NAME = extproc)
      (PROGRAM=extproc)
    )
  )

PASSWORDS_LISTENER = (oracle)

構成ファイルtnsnames.ora:

extproc_connection_data.world =
  (DESCRIPTION =
    (ADDRESS=
	(PROTOCOL=IPC)
	  (KEY=EXTPROC0)
    )
    (CONNECT_DATA = (SID=extproc)
    )
  )

Oracle COM Automation Feature for PL/SQLのソリューション

Oracle COM Automation Feature for PL/SQLには、Oracle COM Automation Feature for PL/SQLを使用したソリューション作成方法の参考用として、いくつかのソリューションが含まれています。これらのソリューションは、次の用途に使用できます。

Microsoft Wordソリューション

次の各項では、Microsoft Wordソリューションのインストール方法について説明するとともに、そのソリューションが公開するアプリケーション・プログラミング・インタフェース(API)について説明します。このソリューションは、OracleデータベースとMicrosoft Wordを使用して作成できるソリューション・タイプのサンプルとして提供されています。

Microsoft Wordソリューションには、Microsoft Wordを操作するためのいくつかのAPIを公開するPL/SQLパッケージ(ORDWord)が含まれています。Microsoft Wordソリューションにはさらに、OracleデータベースとMicrosoft Word間のデータ交換機能をデモンストレーションするためのスクリプトも含まれています。このスクリプト(WordDem.sql)は、OracleデータベースのEMPLOYEES表からMicrosoft Word文書へのデータ交換を行います。

このスクリプトは、ソリューションのインストール後に実行する必要があります。

このデモは、共通スキーマ内のHRスキーマに依存します。

Microsoft Wordソリューションのインストール

Microsoft Wordソリューションをインストールするには、次のようにします。 このソリューションを正常に機能させるには、Microsoft Wordをローカル・マシン上にインストールする必要があります。

  1. MS-DOSコマンド・プロンプトを開きます。

  2. 次のコマンドを使用して、com\demosディレクトリに移動します。 次に例を示します。

    cd ORACLE_BASE\ORACLE_HOME\com\demos
    
  3. SQL*Plusを起動し、Microsoft Wordソリューションを使用するデータベース・ユーザーとしてログインします。次に例を示します。

    connect hr/hr
    
  4. ORACLE_BASE\ORACLE_HOME\com\demosディレクトリにあるWordSol.sqlスクリプトを実行します。

    @WordSol.sql
    

    このスクリプトにより、現行ユーザーのスキーマ内にORDWordパッケージが作成されます。 なお、このスクリプトを最初に実行する際には、「ORA-04043: オブジェクトXXXXは存在しません」というメッセージがいくつか表示されます。これらのエラーは無視しても支障ありません。

Microsoft Wordソリューションの使用方法

Microsoft Wordソリューションを実行するには、次のようにします。

  1. MS-DOSコマンド・プロンプトを開きます。

  2. 次のコマンドを使用して、com\demosディレクトリに移動します。 次に例を示します。

    cd ORACLE_BASE\ORACLE_HOME\com\demos
    
  3. SQL*Plusを起動します。

    sqlplus.exeが現在のパスにない場合は、ORACLE_BASE\ORACLE_HOME\binディレクトリにあります。

  4. Microsoft Wordソリューションを使用するデータベース・ユーザーとしてログインします。 次に例を示します。

    connect hr/hr
    
  5. ORACLE_BASE\ORACLE_HOME\com\demosディレクトリにあるWordDem.sqlスクリプトを実行します。

    @WordDem.sql
    

    このスクリプトは、c:\ディレクトリにWordドキュメント(worddemo.doc)を作成します。このドキュメントには、EMPLOYEES表から取得されたデータが含まれています。

  6. worddemo.docファイルを開き、内容を確認します。

Microsoft Excelソリューション

次の各項では、Microsoft Excelソリューションのインストール方法について説明するとともに、そのソリューションが公開するアプリケーション・プログラミング・インタフェース(API)について説明します。 このソリューションは、OracleデータベースとMicrosoft Excelを使用して作成できるソリューション・タイプのサンプルとして提供されています。

Microsoft Excelソリューションには、Microsoft Excelを操作するためのいくつかのAPIを公開するPL/SQLパッケージ(ORDExcel)が含まれています。Microsoft Excelソリューションにはさらに、OracleデータベースとMicrosoft Excel間のデータ交換機能をデモンストレーションするためのスクリプトも含まれています。このスクリプト(ExcelDem.sql)は、OracleデータベースのEMPLOYEES表とJOBS表からMicrosoft Excelワークシートへのデータ交換を行い、そのグラフを作成します。

このスクリプトは、ソリューションのインストール後に実行する必要があります。

このデモは、共通スキーマ内のHRスキーマに依存します。

Microsoft Excelソリューションのインストール

Microsoft Excelソリューションをインストールするには、次のようにします。

  1. MS-DOSコマンド・プロンプトを開きます。

  2. 次のコマンドを使用して、com\demosディレクトリに移動します。

    cd ORACLE_BASE\ORACLE_HOME\com\demos
    
  3. SQL*Plusを起動します。

    sqlplus.exeが現在のパスにない場合は、ORACLE_BASE\ORACLE_HOME\binディレクトリにあります。

  4. Microsoft Excelソリューションを使用するデータベース・ユーザーとしてログインします。 次に例を示します。

    connect hr/hr
  5. ORACLE_BASE\ORACLE_HOME\com\demosディレクトリにあるExcelsol.sqlスクリプトを実行します。

    @ExcelSol.sql 
    

    このスクリプトにより、現行ユーザーのスキーマ内にORDExcelパッケージが作成されます。 なお、このスクリプトを最初に実行する際には、「ORA-04043: オブジェクトXXXXは存在しません」というメッセージがいくつか表示されます。これらのエラーは無視しても支障ありません。

Microsoft Excelソリューションの使用方法

Microsoft Excelソリューションを実行するには、次のようにします。

  1. MS-DOSコマンド・プロンプトを開きます。

  2. 次のコマンドを使用して、com\demosディレクトリに移動します。

    cd ORACLE_BASE\ORACLE_HOME\com\demos
    
  3. SQL*Plusを起動します。

    sqlplus.exeが現在のパスにない場合は、ORACLE_BASE\ORACLE_HOME\binディレクトリにあります。

  4. Microsoft Excelソリューションを使用するデータベース・ユーザーとしてログインします。 次に例を示します。

    connect hr/hr
    
  5. ORACLE_BASE\ORACLE_HOME\com\demosディレクトリにあるExcelDem.sqlスクリプトを実行します。

    @ExcelDem.sql
    

    このスクリプトは、c:\ディレクトリにExcelスプレッドシート(excelxxxxx.xls)を作成します。 このドキュメントには、OracleデータベースのEMPLOYEES表とJOBS表から取得されたデータが含まれています。

  6. excelxxxxx.xlsファイル(xxxxxの箇所はタイムスタンプ)を開き、内容を確認します。

Microsoft PowerPoint 97ソリューション

次の各項では、Microsoft PowerPoint 97ソリューションのインストール方法について説明するとともに、そのソリューションが公開するアプリケーション・プログラミング・インタフェース(API)について説明します。このソリューションは、OracleとMicrosoft PowerPointを使用して作成できるソリューション・タイプのサンプルとして提供されています。

Microsoft PowerPoint 97ソリューションには、Microsoft PowerPoint 97を操作するためのいくつかのAPIを公開するPL/SQLパッケージ(ORDPPT)が含まれています。Microsoft PowerPoint 97ソリューションにはさらに、OracleとMicrosoft PowerPoint間のデータ交換機能をデモンストレーションするためのスクリプトも含まれています。このスクリプト(PPTDem.sql)は、OracleデータベースのEMPLOYEES表からMicrosoft PowerPoint 97スライドへのデータ交換を行います。

このスクリプトは、ソリューションのインストール後に実行する必要があります。

注意: PowerPoint Object Models for Office 95、97および2000には、それぞれ少しずつ違いがあります。 このデモは、PowerPoint 97とともに実行することを前提に設計されています。

このデモは、共通スキーマ内のHRスキーマに依存します。

Microsoft PowerPoint 97ソリューションのインストール

Microsoft PowerPoint 97ソリューションをインストールするには、次のようにします。

  1. MS-DOSコマンド・プロンプトを開きます。

  2. 次のコマンドを使用して、com\demosディレクトリに移動します。

    cd ORACLE_BASE\ORACLE_HOME\com\demos
    
  3. SQL*Plusを起動します。

    sqlplus.exeが現在のパスにない場合は、ORACLE_BASE\ORACLE_HOME\binディレクトリにあります。

  4. Microsoft PowerPoint 97ソリューションを使用するデータベース・ユーザーとしてログインします。次に例を示します。

    connect hr/hr
  5. ORACLE_BASE\ORACLE_HOME\com\demosディレクトリにあるPPTSol.sqlスクリプトを実行します。

    @PPTSol.sql

    このスクリプトにより、現行ユーザーのスキーマ内にORDPPTパッケージが作成されます。なお、このスクリプトを最初に実行する際には、「ORA-04043: オブジェクトXXXXは存在しません」というメッセージがいくつか表示されます。これらのエラーは無視しても支障ありません。

Microsoft PowerPoint 97ソリューションの使用方法

Microsoft PowerPoint 97ソリューションを実行するには、次のようにします。

  1. MS-DOSコマンド・プロンプトを開きます。

  2. 次のコマンドを使用して、com\demosディレクトリに移動します。

    cd ORACLE_BASE\ORACLE_HOME\com\demos
    
  3. SQL*Plusを起動します。

    sqlplus.exeが現在のパスにない場合は、ORACLE_BASE\ORACLE_HOME\binディレクトリにあります。

  4. Microsoft PowerPoint 97ソリューションを使用するデータベース・ユーザーとしてログインします。

    connect hr/hr
    
  5. ORACLE_BASE\ORACLE_HOME\com\demosディレクトリにあるPPTDem.sqlスクリプトを実行します。

    @PPTDem.sql
    

    このスクリプトは、c:\ディレクトリにPowerPointプレゼンテーション(PPTDemo.ppt)を作成します。 このドキュメントには、全従業員の名前がリストされます。

  6. PPTDemo.pptファイルを開き、内容を確認します。

MAPIソリューション

次の各項では、MAPIソリューションのインストール方法について説明するとともに、そのソリューションが公開するアプリケーション・プログラミング・インタフェース(API)について説明します。このソリューションは、OracleとExtended MAPIクライアントを使用して作成できるソリューション・タイプのサンプルとして提供されています。

Microsoft MAPIソリューションには、Extended MAPIクライアントを操作するためのいくつかのAPIを公開するPL/SQLパッケージ(ORDMAPI)が含まれています。Microsoft MAPIソリューションにはさらに、OracleデータベースとExtended MAPIクライアント間のデータ交換機能をデモンストレーションするためのスクリプトも含まれています。このスクリプト(MAPIDem.sql)は、OracleデータベースのEMPLOYEES表からExtended MAPI電子メール・メッセージへのデータ交換を行います。

このスクリプトは、ソリューションのインストール後に実行する必要があります。

このデモは、共通スキーマ内のHRスキーマに依存します。

MAPIソリューションのインストール

MAPIソリューションは、Oracleデータベースに代わってExtended MAPIクライアントを起動します。なお、Oracle Database Service on NTは、デフォルトではNTシステム・ユーザーLocalSystemとして実行されますが、ユーザーLocalSystemのMAPIプロファイルは簡単に構成できません。そのため、MAPIソリューションを使用する前に、NTのOracle Database ServiceとOracle TNS Listener Serviceの両方に対し、Windows NTユーザー・アカウントを使用して起動するように変更を加える必要があります。これを行うには次のようにします。

  1. ローカル・ユーザー・アカウントまたはドメイン・ユーザー・アカウントを使用してNTにログオンします。 次に例を示します。

    DOMAIN1\userXYZ
    
  2. MAPIサーバー(たとえば、Microsoft Outlook)を起動し、NTユーザーDOMAIN1\userXYZを使用するようMAPIプロファイルを構成します。このとき、このプロファイルが電子メール送信に使用可能であることを確認してください。

  3. NTの「コントロール パネル」→「サービス」に移動します。

  4. Oracle TNS Listener Serviceを停止します。

  5. Oracle TNS Listener Serviceを選択し、「開始」をクリックします。

  6. 「ログオン」で「アカウント」を選択し、NTユーザー名としてDOMAIN1\userXYZと入力します。

  7. NTユーザー名DOMAIN1\userXYZのパスワードを入力し、さらに確認入力をします。

  8. Oracle TNS Listener Serviceを再起動します。

  9. Oracle Database Serviceを停止します。

  10. Oracle Database Serviceを選択し、「開始」をクリックします。

  11. 「ログオン」で「アカウント」を選択し、NTユーザー名としてDOMAIN1\userXYZと入力します。

  12. NTユーザー名DOMAIN1\userXYZのパスワードを入力し、さらに確認入力をします。

  13. Oracle Database Serviceを再起動します。

MAPIのデモをインストールする前に、次の修正を適用する必要があります。

  1. MSDN記事268272に記載されている要領で、CDO.DLLにパッチを適用します。このDLLは、Microsoft Exchange Server 5.5に含まれるものです。パッチを適用したら、DLLを適切な場所に手動でコピーします。このDLLのデフォルトの場所は次のとおりです。

    C:\Program Files\Common Files\System\Mapi\1033\NT
    
  2. WindowsエクスプローラからMAPI.REGをダブルクリックしてレジストリ設定を更新します。 MAPI.REGは次の場所にあります。

    ORACLE_BASE\ORACLE_HOME\com\demos
    

MAPIソリューションをインストールするには、次のようにします。

  1. MS-DOSコマンド・プロンプトを開きます。

  2. 次のコマンドを使用して、com\demosディレクトリに移動します。

    cd ORACLE_BASE\ORACLE_HOME\com\demos
    
  3. SQL*Plusを起動します。

    sqlplus.exeが現在のパスにない場合は、ORACLE_BASE\ORACLE_HOME\binディレクトリにあります。

  4. MAPIソリューションを使用するデータベース・ユーザーとしてログインします。次に例を示します。

    connect hr/hr
    
  5. ORACLE_BASE\ORACLE_HOME\com\demosディレクトリにあるMAPISol.sqlスクリプトを実行します。

    @MAPISol.sql
    

    このスクリプトにより、現行ユーザーのスキーマ内にORDMAPIパッケージが作成されます。 なお、このスクリプトを最初に実行する際には、「ORA-04043: オブジェクトXXXXは存在しません」というメッセージがいくつか表示されます。これらのエラーは無視しても支障ありません。

MAPIソリューションの使用方法

MAPIソリューションを実行するには、次のようにします。

  1. MS-DOSコマンド・プロンプトを開きます。

  2. 次のコマンドを使用して、com\demosディレクトリに移動します。

    cd ORACLE_BASE\ORACLE_HOME\com\demos
    
  3. テキスト・エディタでMAPISol.sqlを開き、ORDMapi.AddRecipient内の電子メール・アドレスhr@us.oracle.comを自分の電子メール・アドレスに変更します。 自分のプロファイル名にデフォルト値以外を使用している場合は、MS Exchange SettingsのORDMapi.CreateMAPISessionに示されているプロファイル名も変更します。

  4. 変更を保存します。

  5. SQL*Plusを起動します。 sqlplus.exeが現在のパスにない場合は、ORACLE_BASE\ORACLE_HOME\binディレクトリにあります。

  6. MAPIソリューションを使用するデータベース・ユーザーとしてログインします。次に例を示します。

    connect hr/hr
    
  7. ORACLE_BASE\ORACLE_HOME\com\demosディレクトリにあるMAPIDem.sqlスクリプトを実行します。

    @MAPIDem.sql
    

    このスクリプトは、OracleデータベースのEMPLOYEES表から全従業員名を取得し、それらをリストした電子メールを送信します。

  8. MAPIクライアントを開いて、送信された電子メールの内容を確認します。

既知の不具合

現在のところ、Oracle COM Automationでは、ウィンドウ、メッセージ・ボックスおよびダイアログ・ボックスを表示するメソッドをコールすることはできません。

回避策

これらダイアログ・ボックスなどを表示するメソッドのコールを回避する必要があります。 たとえば、Microsoft Excelソリューションでは、同じ名前のファイルが2つ存在することがないよう、ファイル名にタイムスタンプが追加されます(例: excelxxxxx.xls)。ファイルに他と同じ名前が付けられた場合、COM Automationを使用してそのファイルを保存しようとすると、Excelによって上書き保存用のダイアログ・ボックスが表示されますが、Microsoft Wordではこれが行われません。