| Oracle Databaseプラットフォーム共通日本語README 11gリリース1(11.1) E05740-05 |
|
![]() 戻る |
![]() 次へ |
原典情報: $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 PowerPoint 97ソリューション
Oracle COM Automation Feature for PL/SQLには、次のコンポーネントが含まれます。
Oracle COM Automation Feature for PL/SQLをインストールするには、次のようにします。
MS-DOSコマンド・プロンプトを開きます。
次のコマンドを使用して、comディレクトリに移動します。
cd ORACLE_BASE\ORACLE_HOME\com
SQL*Plusを使用し、systemとしてデータベースに接続します。次に例を示します。
sqlplus system/manager
Oracle COM Automation Feature for PL/SQLを使用するデータベース・ユーザーに、Create Library権限を付与します。
grant create library to hr
Oracle COM Automation Feature for PL/SQLを使用するデータベース・ユーザーとしてログインします。
connect hr/hr
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接続をオープンできません。」というエラーが返された場合は、次のいずかの可能性があります。
リスナーが起動していない。
この場合管理者は、サービス・コントロール・パネルか、またはコマンドラインから(例: net start OracleORCLTNSListner)Oracle TNS Listenerサービスを起動できます。
リスナーが適切に構成されていない。
この場合は、管理者がlistener.oraおよびtnsnames.oraファイルを修正する必要があります。
次に示すのは、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を使用したソリューション作成方法の参考用として、いくつかのソリューションが含まれています。これらのソリューションは、次の用途に使用できます。
次の各項では、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をローカル・マシン上にインストールする必要があります。
MS-DOSコマンド・プロンプトを開きます。
次のコマンドを使用して、com\demosディレクトリに移動します。 次に例を示します。
cd ORACLE_BASE\ORACLE_HOME\com\demos
SQL*Plusを起動し、Microsoft Wordソリューションを使用するデータベース・ユーザーとしてログインします。次に例を示します。
connect hr/hr
ORACLE_BASE\ORACLE_HOME\com\demosディレクトリにあるWordSol.sqlスクリプトを実行します。
@WordSol.sql
このスクリプトにより、現行ユーザーのスキーマ内にORDWordパッケージが作成されます。 なお、このスクリプトを最初に実行する際には、「ORA-04043: オブジェクトXXXXは存在しません」というメッセージがいくつか表示されます。これらのエラーは無視しても支障ありません。
Microsoft Wordソリューションを実行するには、次のようにします。
MS-DOSコマンド・プロンプトを開きます。
次のコマンドを使用して、com\demosディレクトリに移動します。 次に例を示します。
cd ORACLE_BASE\ORACLE_HOME\com\demos
SQL*Plusを起動します。
sqlplus.exeが現在のパスにない場合は、ORACLE_BASE\ORACLE_HOME\binディレクトリにあります。
Microsoft Wordソリューションを使用するデータベース・ユーザーとしてログインします。 次に例を示します。
connect hr/hr
ORACLE_BASE\ORACLE_HOME\com\demosディレクトリにあるWordDem.sqlスクリプトを実行します。
@WordDem.sql
このスクリプトは、c:\ディレクトリにWordドキュメント(worddemo.doc)を作成します。このドキュメントには、EMPLOYEES表から取得されたデータが含まれています。
worddemo.docファイルを開き、内容を確認します。
次の各項では、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ソリューションをインストールするには、次のようにします。
MS-DOSコマンド・プロンプトを開きます。
次のコマンドを使用して、com\demosディレクトリに移動します。
cd ORACLE_BASE\ORACLE_HOME\com\demos
SQL*Plusを起動します。
sqlplus.exeが現在のパスにない場合は、ORACLE_BASE\ORACLE_HOME\binディレクトリにあります。
Microsoft Excelソリューションを使用するデータベース・ユーザーとしてログインします。 次に例を示します。
connect hr/hr
ORACLE_BASE\ORACLE_HOME\com\demosディレクトリにあるExcelsol.sqlスクリプトを実行します。
@ExcelSol.sql
このスクリプトにより、現行ユーザーのスキーマ内にORDExcelパッケージが作成されます。 なお、このスクリプトを最初に実行する際には、「ORA-04043: オブジェクトXXXXは存在しません」というメッセージがいくつか表示されます。これらのエラーは無視しても支障ありません。
Microsoft Excelソリューションを実行するには、次のようにします。
MS-DOSコマンド・プロンプトを開きます。
次のコマンドを使用して、com\demosディレクトリに移動します。
cd ORACLE_BASE\ORACLE_HOME\com\demos
SQL*Plusを起動します。
sqlplus.exeが現在のパスにない場合は、ORACLE_BASE\ORACLE_HOME\binディレクトリにあります。
Microsoft Excelソリューションを使用するデータベース・ユーザーとしてログインします。 次に例を示します。
connect hr/hr
ORACLE_BASE\ORACLE_HOME\com\demosディレクトリにあるExcelDem.sqlスクリプトを実行します。
@ExcelDem.sql
このスクリプトは、c:\ディレクトリにExcelスプレッドシート(excelxxxxx.xls)を作成します。 このドキュメントには、OracleデータベースのEMPLOYEES表とJOBS表から取得されたデータが含まれています。
excelxxxxx.xlsファイル(xxxxxの箇所はタイムスタンプ)を開き、内容を確認します。
次の各項では、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ソリューションをインストールするには、次のようにします。
MS-DOSコマンド・プロンプトを開きます。
次のコマンドを使用して、com\demosディレクトリに移動します。
cd ORACLE_BASE\ORACLE_HOME\com\demos
SQL*Plusを起動します。
sqlplus.exeが現在のパスにない場合は、ORACLE_BASE\ORACLE_HOME\binディレクトリにあります。
Microsoft PowerPoint 97ソリューションを使用するデータベース・ユーザーとしてログインします。次に例を示します。
connect hr/hr
ORACLE_BASE\ORACLE_HOME\com\demosディレクトリにあるPPTSol.sqlスクリプトを実行します。
@PPTSol.sql
このスクリプトにより、現行ユーザーのスキーマ内にORDPPTパッケージが作成されます。なお、このスクリプトを最初に実行する際には、「ORA-04043: オブジェクトXXXXは存在しません」というメッセージがいくつか表示されます。これらのエラーは無視しても支障ありません。
Microsoft PowerPoint 97ソリューションを実行するには、次のようにします。
MS-DOSコマンド・プロンプトを開きます。
次のコマンドを使用して、com\demosディレクトリに移動します。
cd ORACLE_BASE\ORACLE_HOME\com\demos
SQL*Plusを起動します。
sqlplus.exeが現在のパスにない場合は、ORACLE_BASE\ORACLE_HOME\binディレクトリにあります。
Microsoft PowerPoint 97ソリューションを使用するデータベース・ユーザーとしてログインします。
connect hr/hr
ORACLE_BASE\ORACLE_HOME\com\demosディレクトリにあるPPTDem.sqlスクリプトを実行します。
@PPTDem.sql
このスクリプトは、c:\ディレクトリにPowerPointプレゼンテーション(PPTDemo.ppt)を作成します。 このドキュメントには、全従業員の名前がリストされます。
PPTDemo.pptファイルを開き、内容を確認します。
次の各項では、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ソリューションは、Oracleデータベースに代わってExtended MAPIクライアントを起動します。なお、Oracle Database Service on NTは、デフォルトではNTシステム・ユーザーLocalSystemとして実行されますが、ユーザーLocalSystemのMAPIプロファイルは簡単に構成できません。そのため、MAPIソリューションを使用する前に、NTのOracle Database ServiceとOracle TNS Listener Serviceの両方に対し、Windows NTユーザー・アカウントを使用して起動するように変更を加える必要があります。これを行うには次のようにします。
ローカル・ユーザー・アカウントまたはドメイン・ユーザー・アカウントを使用してNTにログオンします。 次に例を示します。
DOMAIN1\userXYZ
MAPIサーバー(たとえば、Microsoft Outlook)を起動し、NTユーザーDOMAIN1\userXYZを使用するようMAPIプロファイルを構成します。このとき、このプロファイルが電子メール送信に使用可能であることを確認してください。
NTの「コントロール パネル」→「サービス」に移動します。
Oracle TNS Listener Serviceを停止します。
Oracle TNS Listener Serviceを選択し、「開始」をクリックします。
「ログオン」で「アカウント」を選択し、NTユーザー名としてDOMAIN1\userXYZと入力します。
NTユーザー名DOMAIN1\userXYZのパスワードを入力し、さらに確認入力をします。
Oracle TNS Listener Serviceを再起動します。
Oracle Database Serviceを停止します。
Oracle Database Serviceを選択し、「開始」をクリックします。
「ログオン」で「アカウント」を選択し、NTユーザー名としてDOMAIN1\userXYZと入力します。
NTユーザー名DOMAIN1\userXYZのパスワードを入力し、さらに確認入力をします。
Oracle Database Serviceを再起動します。
MAPIのデモをインストールする前に、次の修正を適用する必要があります。
MSDN記事268272に記載されている要領で、CDO.DLLにパッチを適用します。このDLLは、Microsoft Exchange Server 5.5に含まれるものです。パッチを適用したら、DLLを適切な場所に手動でコピーします。このDLLのデフォルトの場所は次のとおりです。
C:\Program Files\Common Files\System\Mapi\1033\NT
WindowsエクスプローラからMAPI.REGをダブルクリックしてレジストリ設定を更新します。 MAPI.REGは次の場所にあります。
ORACLE_BASE\ORACLE_HOME\com\demos
MAPIソリューションをインストールするには、次のようにします。
MS-DOSコマンド・プロンプトを開きます。
次のコマンドを使用して、com\demosディレクトリに移動します。
cd ORACLE_BASE\ORACLE_HOME\com\demos
SQL*Plusを起動します。
sqlplus.exeが現在のパスにない場合は、ORACLE_BASE\ORACLE_HOME\binディレクトリにあります。
MAPIソリューションを使用するデータベース・ユーザーとしてログインします。次に例を示します。
connect hr/hr
ORACLE_BASE\ORACLE_HOME\com\demosディレクトリにあるMAPISol.sqlスクリプトを実行します。
@MAPISol.sql
このスクリプトにより、現行ユーザーのスキーマ内にORDMAPIパッケージが作成されます。 なお、このスクリプトを最初に実行する際には、「ORA-04043: オブジェクトXXXXは存在しません」というメッセージがいくつか表示されます。これらのエラーは無視しても支障ありません。
MAPIソリューションを実行するには、次のようにします。
MS-DOSコマンド・プロンプトを開きます。
次のコマンドを使用して、com\demosディレクトリに移動します。
cd ORACLE_BASE\ORACLE_HOME\com\demos
テキスト・エディタでMAPISol.sqlを開き、ORDMapi.AddRecipient内の電子メール・アドレスhr@us.oracle.comを自分の電子メール・アドレスに変更します。 自分のプロファイル名にデフォルト値以外を使用している場合は、MS Exchange SettingsのORDMapi.CreateMAPISessionに示されているプロファイル名も変更します。
変更を保存します。
SQL*Plusを起動します。 sqlplus.exeが現在のパスにない場合は、ORACLE_BASE\ORACLE_HOME\binディレクトリにあります。
MAPIソリューションを使用するデータベース・ユーザーとしてログインします。次に例を示します。
connect hr/hr
ORACLE_BASE\ORACLE_HOME\com\demosディレクトリにあるMAPIDem.sqlスクリプトを実行します。
@MAPIDem.sql
このスクリプトは、OracleデータベースのEMPLOYEES表から全従業員名を取得し、それらをリストした電子メールを送信します。
MAPIクライアントを開いて、送信された電子メールの内容を確認します。
現在のところ、Oracle COM Automationでは、ウィンドウ、メッセージ・ボックスおよびダイアログ・ボックスを表示するメソッドをコールすることはできません。
これらダイアログ・ボックスなどを表示するメソッドのコールを回避する必要があります。 たとえば、Microsoft Excelソリューションでは、同じ名前のファイルが2つ存在することがないよう、ファイル名にタイムスタンプが追加されます(例: excelxxxxx.xls)。ファイルに他と同じ名前が付けられた場合、COM Automationを使用してそのファイルを保存しようとすると、Excelによって上書き保存用のダイアログ・ボックスが表示されますが、Microsoft Wordではこれが行われません。