ヘッダーをスキップ
Oracle Databaseプラットフォーム共通日本語README
11g リリース2(11.2)
B56292-13
  目次
目次

前
 
次
 

Oracle COM Automation for PL/SQL README

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


Oracle COM Automation for PL/SQL 11.2.0.1.0 製品版

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

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を使用するデータベース・ユーザーに、「ライブラリの作成」権限を付与します。

        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接続をオープンできません。」というエラーが返された場合は、次のいずれかの可能性があります。

次に示すのは、外部ストアド・プロシージャの起動にプロセス間通信(IPC)が使用されるように、listener.oraおよびtnsnames.oraファイルを構成する方法の例です。 listener.oraおよびtnsnames.oraファイルでの外部プロシージャの構成方法に関する追加情報は、『Oracle COM Automation機能開発者ガイド』または『Oracle 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の箇所はタイムスタンプ)を開き、内容を確認します。

MAPIソリューション

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

MAPIソリューションは、Extended MAPIクライアントを操作するためのいくつかのAPIを公開するPL/SQLパッケージ(ORDMAPI)を提供します。 さらに、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. テキスト・エディタでMAPIDem.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ではこれが行われません。