この章では、Oracle Reportsで構築したレポートをMicrosoft Officeに配信する方法を示します。レポート出力をMicrosoft ExcelスプレッドシートまたはMicrosoft Wordドキュメントとして保存する方法および電子メール添付ファイルとして送信する方法を示します。
この章の内容は次のとおりです。
Oracle Reportsは、洗練されたWebレポートおよび印刷レポートを任意のデータソース(Oracleデータベース、JDBC、XML、テキスト・ファイル、Oracle OLAPなど)に対して迅速に作成およびデプロイできる強力なエンタープライズ・レポート作成ツールです。JSPやXMLなどの最新のJ2EEテクノロジを利用して、様々な形式(HTML、XML、PDF、スプレッドシート、区切りテキスト、PostScript、RTFなど)のレポートをスケーラブルかつ効率的な方法で任意の宛先に発行できます。電子メール、Webブラウザ、OracleAS Portal、ファイル・システム、FTP、WebDAVなどの組込みの宛先に加えて、Oracle Reports Java APIを使用して独自のカスタム宛先へのアクセスを定義できます。
レポートを他の人と共有する場合は、追加ソフトウェアのインストールを必要としない、使い慣れた形式を使用して行うと便利です。Oracle Reportsは、追加の設定を必要とせずに、指定した出力形式に直接レポートを実行できます。この章の詳細な手順に従うことにより、ブラウザとMicrosoft Officeがインストールされている任意のユーザーにレポートを送信できます。
注意: Oracle Reportsに用意されているJDBC-ODBCドライバを使用して、Microsoft ExcelをODBCデータソースとして使用できます。JDBC-ODBCドライバの詳細は、『Oracle Application Server Reports ServicesレポートWeb公開ガイド』の「JDBC PDSの構成および使用」の章を参照してください。すぐに利用できるMicrosoft Officeとの統合を拡張するために、Oracle Reports Java APIを使用して独自のカスタム宛先およびデータソースを作成できます。Oracle Reports 10gリリース2(10.1.2)のJava APIドキュメント( |
この章で概説した手順を実行するには、最初に次の前提条件がマシンで利用可能であることを確認する必要があります。
Oracle Application Server 10gリリース2(10.1.2)。この章の手順は、Business Intelligence and Formsのインストール環境に依存します。他のインストール・タイプで作業する場合は、Oracle Application Serverのドキュメントを参照してください。
オプションで(Reports Builderを使用するには)、Oracle Developer Suite 10gリリース2(10.1.2)。
Sales Historyサンプル・スキーマがインストールされたOracle Database 10gデータベースへのアクセス。Oracle Database 10gデータベースにアクセスするには、(ORACLE_HOME
\network\admin
にある)tnsnames.ora
ファイルにデータベースのエントリが含まれている必要があります。データベースにSales Historyサンプル・スキーマがインストールされているかどうかが不明な場合は、データベース管理者に問い合せてください。Oracle Database 10gのインストール環境に用意されているすべてのサンプル・スキーマについては、『Oracle Databaseサンプル・スキーマ』で説明されています。
Microsoft Office 2000以上。
Microsoft ExcelおよびMicrosoft Wordでのドキュメントの表示をサポートするWebブラウザ。
Web上でのレポートのデプロイを可能にするための実行中のOC4Jインスタンス。
Oracle Application Serverインストール環境では、Oracle Process Manager and Notification Server(OPMN)を使用してReports Serverを起動します。
Oracle Developer Suiteインストール環境では、要求を送信する前に、次のようにマシン上のOC4Jインスタンスを起動します。
「スタート」メニューで、「すべてのプログラム」→「Oracle iDS Home」→「Reports Developer」→「Start OC4J Instance」の順に選択します。
または、コマンド・プロンプトで次のように入力します。
cd %ORACLE_HOME%\j2ee\home runoc4j.bat
J2EEのコンテナが初期化された後でOC4Jインスタンスが起動します。
OC4Jが稼働し、Web上でレポート・リクエストを実行するように環境が正しく設定されていることを確認するには、ブラウザに次のURLを入力してReportsサーブレット(rwservlet
)のヘルプ・ページを表示します。
http://hostname:port/reports/rwservlet
ヘルプ・ページが表示された場合は、Webでレポート・リクエストを実行する準備ができています。
サーバー構成ファイル(ORACLE_HOME
\reports\conf\
server_name
.conf
)およびReports Builder構成ファイル(ORACLE_HOME
\reports\conf\rwbuilder.conf
)内のpluginParam
要素は、発信SMTPメール・サーバー名を指定します。たとえば、次のようになります。
<pluginParam name="mailServer">smtpserver.mycompany.com</pluginParam>
サンプル・レポートの名前はreports\mypaperreport.rdf
です。サンプル・ファイルの検索方法の詳細は、「はじめに」の「デモ・サポート・ファイルへのアクセス」を参照してください。表13-1に、この章で使用しているサンプル・ファイルをリストし、説明します。
この項の手順では、Oracle Reportsを使用してレポートを作成し、Microsoft Officeアプリケーションにデプロイする方法を示します。
Oracle Reportsでレポートを作成するには、Reports Builderを含むOracle Developer Suiteをインストールする必要があります。
Reports Builderには、WebおよびE-Businessの要件を満たす動的レポートおよび忠実度の高い印刷レポートを作成するためのレポート設計プロセスをガイドするユーザー・フレンドリなウィザードが用意されています。Reports Builderで既存のJSPおよびHTMLファイルを編集してレポート・レイアウトを追加することもできます。
任意のデータソースのデータを使用して、ニーズに合せてカスタマイズされたWebベース・レポートまたは印刷レポートを作成するためのReports Builderの使用方法は、『Oracle Reportsチュートリアル』および『Oracle Reportsレポート作成ガイド』を参照してください。レポートを作成した後で、そのレポートを任意の宛先にデプロイできます。次の各項では、提供されているサンプル・レポートmypaperreport.rdf
をMicrosoft Excel、Microsoft Wordおよび電子メール受信者にデプロイする手順を示します。
この項では、Oracle Reports 10gリリース2(10.1.2)に導入されたスプレッドシート出力機能を示します。この機能を使用すると、印刷レイアウト・レポートからMicrosoft Excel 2000以上で直接開くことのできるMicrosoft Excel互換のHTML形式まで、豊富な形式の出力を生成できます。
注意: OC4JのReports Serverを使用してJSPベースのWebレポートをデプロイし、WebブラウザでMicrosoft Excelに表示することもできます。この処理を行う手順は、『Oracle Reportsレポート作成ガイド』の「スプレッドシート出力用のレポートの作成」の章を参照してください。 |
rwservlet
を使用してMicrosoft Excelにレポートを表示するには、次の手順を実行します。
13.2項「前提条件」の説明に従って、OC4Jインスタンスを開始してレポートのデプロイを可能にします。
注意: Oracle Developer Suiteインストール環境では、スタンドアロンOC4Jインスタンスがテストの目的で用意されており、rwservlet で実行しているレポートおよび実行しているJSPレポートに対してOracle Reportsアプリケーションを手動でデプロイできます。Oracle Application Serverインストール環境では、OC4J_BI_Forms インスタンスはOracle Reportsアプリケーションを自動的にデプロイします。 |
Webブラウザ(Internet Explorerなど)で、次のいずれかのURLを入力します。
WebブラウザでMicrosoft Excelに表示されるレポート出力を生成するには、次のように入力します。
http://hostname:port/reports/rwservlet?report=report_name &userid=username/password@database&destype=cache&desformat=spreadsheet
たとえば、次のようになります。
http://myas.us.oracle.com:8888/reports/rwservlet?report=mypaperreport.rdf &userid=sh/sh@ora10g&destype=cache&desformat=spreadsheet
出力は図13-1のようになります。
Microsoft Excelで開けるHTMLファイルを生成するには、次のように入力します。
http://hostname:port/reports/rwservlet?report=report_name &userid=username/password@database&destype=file&desformat=spreadsheet &desname=output_filename.htm
たとえば、次のようになります。
http://myas.us.oracle.com:8888/reports/rwservlet? report=mypaperreport.rdf&userid=sh/sh@ora10g&destype=file &desformat=spreadsheet&desname=C:\temp\myexcel_output.htm
Microsoft Excelで開けるHTMLファイルを生成した場合は、Microsoft Excelを起動し、レポート出力ファイル(C:\temp\myexcel_output.htm
など)を開きます。
出力は図13-1のようになります。
注意: スプレッドシート出力に埋め込まれているグラフは静的イメージ・ファイルであり、対話型ではありません。他にもReports BuilderとMicrosoft Excel出力のレポート・レイアウトに違いがあることに気付く場合があります。これらの差異は、Microsoft Excelがレポート・レイアウトを解釈する方法が原因です。スプレッドシート出力に関する使用上の注意と制限事項の詳細は、Oracle Reportsオンライン・ヘルプの「スプレッドシート出力について」または『Oracle Reportsレポート作成ガイド』の「高度な概念」の章を参照してください。 |
Reports Builderからスプレッドシート出力を生成することはできません。かわりに、desformat=spreadsheet
を指定したReports Serverクライアント(rwservlet
またはrwclient
)またはrwrun
を使用してレポートを実行します。
Oracle Reportsでは、書式設定データとすべてのオブジェクトを含むリッチ・テキスト形式(RTF)ファイルにレポート出力を生成できます。RTFは、Microsoft Wordなどの多くの異なるワード・プロセッシング・ソフトウェア・パッケージで読み取ることができます。ソフトウェアの編集およびグラフィック機能を使用して、レポート出力を変更および拡張できます。レポート出力をRTFファイルに生成する場合は、電子メール、プリンタ、OracleAS Portal、Webブラウザなどの任意のRTF宛先に出力を配布できます。
この項では、Oracle Reportsで使用可能なRTF出力機能を示します。この機能を使用して、印刷形式のレポートからMicrosoft Wordで開くことのできるRTFファイルまでの出力を生成できます。
rwservlet
を使用してMicrosoft Wordにレポートを表示するには、次の手順を実行します。
13.2項「前提条件」の説明に従って、OC4Jインスタンスを開始してレポートのデプロイを可能にします。
注意: Oracle Developer Suiteインストール環境では、スタンドアロンOC4Jインスタンスがテストの目的で用意されており、rwservlet で実行しているレポートおよび実行しているJSPレポートに対してOracle Reportsアプリケーションを手動でデプロイできます。Oracle Application Serverインストール環境では、OC4J_BI_Forms インスタンスはOracle Reportsアプリケーションを自動的にデプロイします。 |
Webブラウザ(Internet Explorerなど)で、次のいずれかのURLを入力します。
WebブラウザにRTF形式で表示されるレポート出力を生成するには、次のように入力します。
http://hostname:port/reports/rwservlet?report=report_name &userid=username/password@database&destype=cache&desformat=rtf &mimetype=application/msword
たとえば、次のようになります。
http://myas.us.oracle.com:8888/reports/rwservlet?report=mypaperreport.rdf &userid=sh/sh@ora10g&destype=cache&desformat=rtf &mimetype=application/msword
注意: mimetype=application/msword オプションは、Microsoft WordでRTFドキュメントを開くために必要です。 |
出力は図13-2のようになります。
Microsoft Wordで開けるRTFファイルを生成するには、次のように入力します。
http://hostname:port/reports/rwservlet?report=report_name &userid=username/password@database&destype=file&desformat=rtf &desname=output_filename.rtf
たとえば、次のようになります。
http://myas.us.oracle.com:8888/reports/rwservlet? report=mypaperreport.rdf&userid=sh/sh@ora10g&destype=file &desformat=rtf&desname=C:\temp\myword_output.rtf
Microsoft Wordで開けるRTFファイルを生成した場合は、Microsoft Wordを起動し、レポート出力ファイル(C:\temp\myword_output.rtf
など)を開きます。出力は図13-2のようになります。
または、Oracle Developer Suiteがインストールされている場合は、Reports Builderを使用して次のようにRTF出力をファイルに生成できます。
Reports Builderを起動します(「スタート」→「すべてのプログラム」→「iDS Home」→「Reports Developer」→「Reports Builder」の順に選択するか、コマンド・プロンプト・ウィンドウを開き、rwbuilder
と入力します)。
「Reports Builderへようこそ」ダイアログ・ボックスで、「既存レポートを開く」を選択し、「OK」をクリックします。
「開く」ダイアログ・ボックスで、サンプル・レポートmypaperreport.rdf
を探し、開きます。
「ファイル」→「接続」を選択して、Sales Historyスキーマを含むデータベースに接続します。
ツールバーの「ペーパー・レイアウトを実行」ボタンをクリックしてレポートを実行します。
Microsoft Wordドキュメントでレポート出力をプレビューするには、「ファイル」→「プレビュー・フォーマット」→「RTF」の順に選択します。
レポート出力をRTFファイルとして保存するには、「ファイル」→「ファイルへ出力」→「RTF」の順に選択します。
「保存」ダイアログ・ボックスで、場所とファイル名(C:\temp\myword_output.rtf
など)を指定します。「保存」をクリックします。
Microsoft Wordを起動し、レポート出力ファイル(C:\temp\myword_output.rtf
など)を開きます。出力は図13-2のようになります。
注意: RTF出力に関する使用上の注意の詳細は、Oracle Reportsオンライン・ヘルプの「RTF出力について」または『Oracle Reportsレポート作成ガイド』の「高度な概念」の章を参照してください。 |
任意のインターネット標準プロトコルSMTPメール・アプリケーションを使用して、Microsoft Outlookなどの電子メール・ユーティリティを使用している受信者に様々な形式(PDF、HTML、HTMLCSS、XML、RTF、ASCII、区切りテキストなど)でレポートを電子メール送信できます。
レポートを電子メールで送信するには、次の手順を実行します。
ブラウザ(Internet Explorerなど)で、次のURLを入力します。
http://hostname:port/reports/rwservlet?report=report_name &userid=username/password@database&destype=mail &desformat=pdf|html|htmlcss|xml|rtf|ascii|delimited &desname=email_address[&from=email_address]
たとえば、次のようになります。
http://myas.us.oracle.com:8888/reports/rwservlet? report=c:\orawin\examples\mypaperreport.rdf&userid=sh/sh@ora10g &from=tom.smith@oracle.com &desformat=pdf&destype=mail&desname=jan.jones@oracle.com
電子メール受信者は、Microsoft Outlookなどの電子メール・ユーティリティを使用して電子メールを開くことができます。
Oracle Developer Suiteがインストールされている場合は、Reports Builderを使用して次のように電子メール出力の送信をテストできます。
Reports Builderを起動します(「スタート」→「すべてのプログラム」→「iDS Home」→「Reports Developer」→「Reports Builder」の順に選択するか、コマンド・プロンプトを開き、rwbuilder
と入力します)。
注意: すでに開かれている場合は、Reports Builderを再起動して、rwbuilder.conf に対して行った変更を有効にします。発信メール・サーバーが以前にrwbuilder.conf に定義されている場合は、Reports Builderを再起動する必要はありません。 |
オブジェクト・ナビゲータで、サンプル・レポートmypaperreport.rdf
を探し、開きます。
まだ接続していない場合は、「ファイル」→「接続」を選択して、Sales Historyスキーマを含むデータベースに接続します。
「ファイル」→「メール」を選択します。
図13-3に示すように、「メール」ダイアログ・ボックスで、電子メール・レポートの各フィールドに適切な値を指定します。
「OK」をクリックして、指定した出力形式でレポートを受信者の電子メール・アドレスに送信します。
注意: Oracle Reportsの高度な配布機能を使用して、1つのレポートを必要な形式で複数の電子メール受信者に一括して配布することもできます。配布XMLファイルのmail 要素を使用して、多くの追加電子メール・オプションを指定できます。詳細は、『Oracle Application Server Reports ServicesレポートWeb公開ガイド』の「高度な配布の作成」の章を参照してください。 |
この項では、この章の手順を実行する際に発生する可能性のあるエラーまたは設定の問題をいくつか説明します。詳細なトラブルシューティング情報は、『Oracle Application Server Reports ServicesレポートWeb公開ガイド』の付録「トラブルシューティング」と、エラー・メッセージに関するOracle Reportsのオンライン・ヘルプ(Reports Builder、およびOracle Technology NetworkのOracle Reports 10gのページ(http://www.oracle.com/technology/products/reports/index.html
)で参照できます)を参照してください。
注意: レポートの問題について推奨されるトラブルシューティング方法は、トレースおよびエンジン診断オプションを有効にすることです。詳細は、『Oracle Application Server Reports ServicesレポートWeb公開ガイド』の「OracleAS Reports Servicesの構成」の章を参照してください。 |
この章の手順の実行中に次のいずれかのエラーが発生した場合は、この項の情報が問題の解決に役立ちます。
REP-51002: Reports Serverへのバインドに失敗しました
原因: Reportsサーブレット(rwservlet
)がReports Serverを特定できません。
処置: このエラーはいくつかの理由で発生します。次のいずれかの処置でエラーが解決することがあります。
VPNを通じてネットワークに接続している場合、またはファイアウォールが使用されている場合は、Reports Server検出のためのOracle Reports組込みブロードキャスト・メカニズムが動作しません。この場合は、Sun MicrosystemsのJDKに用意されているCommon Object Service(COS)ネーミング・サービスorbd
を使用するように検出メカニズムを構成する必要があります。COSネーミング・サービスの使用方法の詳細は、『Oracle Application Server Reports ServicesレポートWeb公開ガイド』の「OracleAS Reports Servicesの構成」の章を参照してください。
Oracle Reportsインプロセス・サーバーを使用している場合は、サーブレット構成ファイル(ORACLE_HOME
\reports\conf\
rwservlet.properties
)内でSERVER_IN_PROCESS=YES
と設定されていることを確認します。
スタンドアロン・サーバーを使用している場合は、サーバーがOracle Enterprise Manager 11を通じて実行されているかどうかを確認します。
Reports Server検出用のOracle Reports組込みブロードキャスト・メカニズム(multicast
)が使用されている場合は、rwdiag
ユーティリティを使用して、Reports Serverの特定にかかる時間を調べます。Reportsサーブレット(rwservlet
)は、Reports Serverを特定している間にタイムアウトになることがあります。この状況は、Reports Serverが別のネットワーク・サブネット上で実行されている場合に発生することが最も多くなります。
たとえば、次のようになります。
$ rwdiag.sh -find server_name server_name found in the network Time taken - 101 millisecond
rwnetwork.conf
ファイル内の(timeout * retry
)値よりも長い時間がかかる場合は、rwnetwork.conf
でtimeout
値を増やし、Reports ServerおよびOC4J_BI_Forms
インスタンス(または、Oracle Developer Suiteインストール環境のスタンドアロンOC4J)を再起動します。この状況は、Reports Serverが別のネットワーク・サブネット上で実行されている場合に発生することが多くなります。
REP-110: ファイル: report_nameが開けません。
原因: Reports Serverがレポート定義ファイルを特定できません。
処置: REPORTS_PATH
を変更して、レポート定義ファイルが格納されているフォルダを含めます。
たとえば、c:\myreports
にレポート定義ファイルが含まれているとします。
REPORTS_PATH=c:\myreports;C:\OraHome_5\reports\templates...
REP-56048: エンジンrwEng-0に障害が起きました
原因: このエラーは、エンジン・プロセス(JVM)に割り当てられているメモリーがスプレッドシート出力の生成に不十分である場合に発生します。スプレッドシート・レポートに多数のページ(数百ページ)が含まれている場合は、デフォルトのヒープ・メモリー割当てではレポートの生成に不十分です。
処置: サーバー構成ファイル(ORACLE_HOME
\reports\conf\
server_name
.conf
)のengine
要素のjvmOptions
属性を設定して、エンジン・プロセス(JVM)のヒープ・メモリーを増やします。たとえば、次のようになります。
<engine id="rwEng" jvmOptions="-Xmx512M" class="oracle.reports.engine.EngineImpl"...
jvmOptions
属性の設定の詳細は、『Oracle Application Server Reports ServicesレポートWeb公開ガイド』の「OracleAS Reports Servicesの構成」の章を参照してください。
注意: Reportsエンジンはなんらかの理由で失敗することがあります。Reports Serverでエンジンまたはジョブが失敗した場合、または応答を停止した場合に推奨される解決方法は、『Oracle Application Server Reports ServicesレポートWeb公開ガイド』の「OracleAS Reports Servicesの構成」の章の説明に従って、サーバー構成ファイル(ORACLE_HOME \reports\conf\ server_name .conf )のengine 要素のengineResponseTimeout 属性を設定することです。 |
REP-50159: 正常に実行されましたが、出力の配布にいくつか問題があります
このエラーは、レポート出力を電子メール送信先に送信する際にいくつかの理由で発生することがあります。
原因1: メール・サーバーが正しく構成されていません。
処置1: サーバー構成ファイル(ORACLE_HOME
\reports\conf\
server_name
.conf
)およびReports Builder構成ファイル(ORACLE_HOME
\reports\conf\rwbuilder.conf
)でメール・サーバーを構成します。pluginParam
要素では、発信SMTPサーバー名を指定する必要があります。たとえば、次のようになります。
<pluginParam name="mailServer">smtpserver.mycompany.com</pluginParam>
詳細は、『Oracle Application Server Reports ServicesレポートWeb公開ガイド』の「OracleAS Reports Servicesの構成」の章を参照してください。
原因2: メール・サーバーが応答していないか、稼働していません。
処置2: メール・サーバーが稼働し、適時に応答しているかどうかを確認します。Microsoft Outlookクライアントを使用して、メール・サーバーに接続し、ステータスをチェックできます。
原因3: 有効な受信者電子メール・アドレスがdesname
キーワードに対して指定されていません。
処置3: 有効な受信者電子メール・アドレスをdesname
キーワードに対して指定します。
原因4: メール・サーバーがSSL対応になっています。
処置4: 非SSLメール・サーバーを使用します。Oracle Reportsでは、電子メールの送信にSSL対応メール・サーバーをサポートしていません。
『Oracle Reportsレポート作成ガイド』
『Oracle Application Server Reports ServicesレポートWeb公開ガイド』
Oracle Reportsオンライン・ヘルプ