Oracle® Fusion Middleware

Oracle Reports ServicesレポートWeb公開ガイド

11g リリース2 (11.1.2)

B70751-03(原本部品番号:E24479-03)

2014年3月

Oracle Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイド, 11gリリース2 (11.1.2)

B70751-03

Copyright (C) 2003, 2014, Oracle and/or its affiliatesAll rights reserved.

原本主著者: Swati Thacker

原本協力著者: Kumar Dhanagopal、Gururaj B S、Usha M P、Ingrid Snedecor

協力者: Rajesh Ramachandran、Rajiv Malhotra、Ratheesh Pai、Vidya Viswanathan、Suma Shanthappa、Vikram Nanda、Pankaj Yadav、Balaravikumar Shanmugasundaram、Hariharan Srinivasan、Vinod Murthy、Nagesh Patange、Navneet Singh、Rohit Marwaha、Prabakara Reddy、Philipp Weckerle

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントが、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供される場合は、次のNoticeが適用されます。

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.   As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

このソフトウェアおよびドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

目次

例一覧

図一覧

表一覧

タイトルおよび著作権情報

はじめに

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメント

- 表記規則

第I部 スタート・ガイド

1 概要

- 1.1 Oracle Reportsの概要

- 1.1.1 Oracle Reports Builder

- 1.1.2 Oracle Reports Bridge

- 1.1.3 Oracle Reports Client

- 1.1.4 Oracle Reports Runtime

- 1.1.5 Oracle Reports Servlet

- 1.1.6 Oracle Reports Server

- 1.2 このリリースでの新機能

2 Oracle Reports Servicesのアーキテクチャの理解

- 2.1 このリリースでの新機能

- 2.2 Oracle Fusion Middlewareプラットフォーム

- 2.3 Oracle Reports Services

- 2.3.1 概要

- 2.3.2 Oracle Reports Servicesのコンポーネント

- 2.3.3 Oracle Reports Servicesのランタイム・プロセス

- 2.3.4 Oracle Reports Servicesの通信アーキテクチャ

- 2.3.4.1 ブロードキャスト・メカニズムを使用したサーバーの検出

- 2.3.4.2 COSネーミング・サービスを使用したサーバーの検出

- 2.4 システムの設定

- 2.4.1 使用されるリクエスト・タイプの選択

- 2.4.2 Oracle Reports Servlet、JSPまたはWebサービスの選択

- 2.4.3 シングルマシン構成とマルチマシン構成の選択

- 2.5 高可用性環境の設定

- 2.5.1 高可用性の維持

- 2.5.2 rwservlet.propertiesファイルの構成

- 2.5.3 Reports Serverでの高可用性の構成

- 2.5.3.1 Oracle Enterprise Managerでの高可用性の構成

3 インストールの確認

- 3.1 このリリースでの新機能

- 3.2 Oracle Fusion Middlewareのインストール構造の理解

- 3.3 すぐに使用できるインストールの確認

- 3.3.1 Oracle Enterprise Managerの使用

- 3.4 Reports Server環境の確認

- 3.4.1 Oracle HTTP Serverのチェック

- 3.4.2 Oracle Reports Servletのチェック

- 3.4.3 Reports Serverのチェック

- 3.5 Oracle Portalベース・セキュリティによるセキュリティの確認

- 3.5.1 Oracle Enterprise Managerの使用

- 3.5.2 コマンドラインの使用

- 3.6 前のリリースからのアップグレード

- 3.6.1 下位互換性および相互運用性

- 3.7 RWbuilderへのアクセス権限の付与

4 相互運用性のシナリオおよび考慮事項

- 4.1 以前のバージョンのOracle Reportsとの相互運用性

- 4.2 その他のOracleコンポーネントとの相互運用性

5 Oracle Reports Servicesの起動と停止

- 5.1 Reports Serverの起動と停止

- 5.1.1 Oracle Enterprise ManagerからのReports Serverの起動、停止および再起動

- 5.1.2 Oracle Process Manager and Notification ServerからのReports Serverの起動、停止および再起動

- 5.1.3 Reports Serverを起動および停止するその他の方法

- 5.1.3.1 インプロセス・サーバーの起動(WindowsおよびUNIX)

- 5.1.3.2 コマンドラインからのReports Serverの起動(WindowsおよびLinux)

- 5.1.3.3 Reports Serverの停止

- 5.2 Oracle Reportsブリッジの起動と停止

- 5.2.1 Oracle Process Manager and Notification ServerからのOracle Reportsブリッジの起動、停止および再起動

- 5.2.2 コマンドラインからのOracle Reportsブリッジの起動と停止

- 5.3 インスタンス停止後のReportsコンポーネントの起動

- 5.3.1 Reports Servletの起動

- 5.3.2 Reportsスタンドアロン・サーバーの起動

- 5.4 COSネーミング・サービスの起動と停止

- 5.5 Oracle Enterprise ManagerによるOracle Reportsコンポーネントの起動、停止および再起動

- 5.6 Oracle Reports ServletによるインプロセスReports Serverの起動と停止

- 5.7 Oracle HTTP Serverが実行されていることの確認

- 5.8 Reports ServletおよびReports Serverが実行されていることの確認

第II部 Oracle Reports Servicesの管理

6 Oracle Enterprise ManagerによるOracle Reports Servicesの管理

- 6.1 このリリースでの新機能

- 6.2 Oracle Enterprise Managerを使用するためのReports Serverの構成

- 6.3 コンポーネント・トポロジの表示

- 6.4 Oracle Reportsコンポーネントの起動、停止および再起動

- 6.5 Oracle Reportsコンポーネントの構成

- 6.5.1 メール・サーバーの構成

- 6.6 Oracle Enterprise Managerの管理ロールの定義

- 6.7 ジョブの管理およびスケジュール

- 6.7.1 ジョブの表示

- 6.7.2 統合されたジョブ・キューの表示

- 6.7.3 ジョブに対する操作の実行

- 6.7.4 ジョブのスケジュール

- 6.8 Oracle Reports Servicesの保護

- 6.8.1 セキュリティの有効化と無効化

- 6.8.1.1 Oracle Portalセキュリティへの切替え

- 6.8.2 レポートのセキュリティ・ポリシーの定義

- 6.8.3 ディレクトリのセキュリティ・ポリシーの定義

- 6.8.4 Webコマンドのセキュリティ・ポリシーの定義

- 6.8.5 ディレクトリへの読取り/書込みアクセス権の定義

- 6.8.6 Single Sign-Onの有効化と無効化

- 6.8.7 Oracle Access Managerの使用

- 6.8.8 資格証明の管理

- 6.9 フォントの管理

- 6.9.1 フォントの構成

- 6.9.2 フォント問題の診断

- 6.10 パフォーマンスの監視

- 6.10.1 ReportsがSecure Sockets Layer (SSL)用に構成されている場合のReportsのメトリックの表示に関する問題

- 6.11 ログ・ファイルの管理

- 6.11.1 ログ・ファイルの表示と検索

- 6.11.2 ログ・レベルの構成

- 6.11.3 ログ・ファイルの編集

- 6.12 Reports Server監査構成の変更

- 6.13 Reports Serverへのプラガブル宛先の登録

- 6.14 プロキシ情報の構成

- 6.15 レポート高可用性(HA)ソリューションの管理および監視

- 6.15.1 Reports Serverでの高可用性の構成

- 6.15.2 統合されたジョブ・キューの表示

- 6.15.3 共有キャッシュ・ディレクトリの指定

- 6.16 Oracle Fusion MiddlewareのシステムMBeanブラウザについて

- 6.16.1 Oracle Fusion MiddlewareのシステムMBeanブラウザはいつ使用すればよいか

- 6.16.2 レポート構成MBeanについて

- 6.17 システムMBeanブラウザによるレポート構成設定の変更

- 6.18 問題の診断

- 6.18.1 ロギング情報の指定

- 6.18.2 フォント問題の診断

7 Oracle Reports Servicesの構成

- 7.1 Oracle Reports Services構成ファイル

- 7.2 Reports Server構成ファイル

- 7.2.1 Reports Serverの構成要素

- 7.2.1.1 ORBPorts

- 7.2.1.2 pluginParam

- 7.2.1.3 cache

- 7.2.1.4 cluster

- 7.2.1.5 connection

- 7.2.1.6 destination

- 7.2.1.7 environment

- 7.2.1.8 envVariable

- 7.2.1.9 engine

- 7.2.1.10 job

- 7.2.1.11 jobRecovery

- 7.2.1.12 jobStatusRepository

- 7.2.1.13 log

- 7.2.1.14 jobRepository

- 7.2.1.15 notification

- 7.2.1.16 oidconnection

- 7.2.1.17 orbClient

- 7.2.1.18 persistFile

- 7.2.1.19 identifier

- 7.2.1.20 property

- 7.2.1.21 queue

- 7.2.1.22 folderAccess

- 7.2.1.23 security

- 7.2.1.24 proxyServer

- 7.2.1.25 domain

- 7.2.1.26 bypassProxy

- 7.2.1.27 proxyServers

- 7.2.1.28 proxyInfo

- 7.2.1.29 webLayout

- 7.2.1.30 dbProxyKey

- 7.2.1.31 dbProxyConnKeys

- 7.2.1.32 jobThresholds

- 7.2.1.33 server

- 7.2.2 動的な環境切替え

- 7.2.2.1 例

- 7.2.2.2 使用上の注意

- 7.3 Oracle Reports Servlet構成ファイル

- 7.3.1 Oracle Reports Servlet構成の要素

- 7.3.1.1 rwservlet

- 7.3.2 代替のOracle Reports Servlet構成ファイルの指定

- 7.4 Oracle Reports Bridge構成ファイル

- 7.4.1 Oracle Reports Bridgeの構成要素

- 7.4.1.1 bridge

- 7.4.1.2 identifier

- 7.4.1.3 remoteBridge

- 7.4.1.4 remoteBridges

- 7.5 ネットワーク構成ファイル

- 7.5.1 ネットワークの構成要素

- 7.5.1.1 discoveryService

- 7.5.1.2 multicast

- 7.5.1.3 namingService

- 7.6 URLエンジンの構成

- 7.7 プロキシ情報の入力

- 7.7.1 Oracle Enterprise Managerの使用

- 7.7.2 サーバー構成ファイルの編集

- 7.8 Oracle Process Manager and Notification ServerおよびOracle Enterprise ManagerによるReports Serverの構成

- 7.8.1 opmn.xml

- 7.8.1.1 モジュールの指定

- 7.8.1.2 スタンドアロンのReports Serverの指定

- 7.8.1.3 Oracle Reportsブリッジの指定

- 7.8.1.4 COSネーミング・サービスの指定

- 7.8.2 新規Reports Serverの作成

- 7.8.3 新規ブリッジ・コンポーネント・タイプの作成

- 7.9 SOA統合の概要

- 7.9.1 BPELについて

- 7.10 Oracle ReportsとOracle BPEL Process Managerとの通信の構成

- 7.10.1 RWWebserviceを使用してジョブをReports Serverに送信する方法

- 7.10.2 ジョブをReports ServerにBPELプロセスから非同期で送信する方法

- 7.11 レポート配布の最適化

- 7.12 system-jazn-data.xmlファイルの例

- 7.13 Reports管理対象サーバーの構成

- 7.14 Oracle ReportsのHTTPSの有効化

第III部 実行時の動作の管理

8 Oracle Reportsでのフォントの管理

- 8.1 フォントの使用

- 8.1.1 Oracle Reports Builderのフォント

- 8.1.2 レポート出力のフォント

- 8.1.2.1 フォントの検索

- 8.1.3 ユーザー・インタフェースのフォント

- 8.2 フォントの追加

- 8.2.1 Oracle Reports Builderへのフォントの追加

- 8.2.2 レポート出力用のフォントの追加

- 8.2.2.1 UNIXでのフォントの追加

- 8.2.2.2 Windowsでのフォントの追加

- 8.3 フォント構成ファイル

- 8.3.1 ファイルの検索

- 8.4 フォント・エイリアシング

- 8.4.1 エイリアシング情報の指定

- 8.4.2 フォント・エイリアシングのメカニズム

- 8.4.3 フォント・エイリアス・ファイルのセクション

- 8.4.4 フォント・エイリアシング・ファイルの検証

- 8.5 フォントのタイプ

- 8.5.1 文字セット

- 8.5.2 Unicode

- 8.5.3 Type1フォント

- 8.5.4 TrueTypeフォント

- 8.5.5 TrueType Collection

- 8.5.6 バーコード・フォント

- 8.5.7 CIDフォント

- 8.6 異なるプラットフォームでのレポート出力の確認

- 8.7 TTF/TTCフォントを使用したUnicodeレポートの実行

- 8.8 フォント問題の診断

- 8.8.1 コマンドラインの使用

- 8.8.2 Oracle Enterprise Managerの使用

- 8.9 フォントに関する問題のトラブルシューティング

9 UNIXでのOracle Reportsによる印刷

- 9.1 UNIXでの印刷の概要

- 9.1.1 全体的な印刷のメカニズム

- 9.1.2 UNIXおよびWindowsでのOracle Reportsの印刷メカニズム

- 9.1.3 印刷のサポート

- 9.2 UNIXでのプリンタの設定

- 9.2.1 UNIXでのプリンタのインストール

- 9.2.2 Oracle Reportsで使用するプリンタの設定の確認

- 9.3 印刷環境の構成

- 9.3.1 uiprint.txtファイルの編集

- 9.3.2 環境変数

- 9.3.3 印刷プロパティのダイアログ・ボックス

- 9.3.3.1 「ページ設定」ダイアログ・ボックス

- 9.3.3.2 「ジョブの印刷」ダイアログ・ボックス

- 9.4 プリンタ関連のファイル

- 9.4.1 ファイルの概要

- 9.4.2 PPDファイル

- 9.4.2.1 ローカルでのPPDファイルのカスタマイズ

- 9.4.3 HPDファイル

- 9.4.4 フォント・メトリック・ファイル

- 9.4.4.1 AFMファイル

- 9.4.4.2 TFMファイル

- 9.4.5 uifont.ali

- 9.4.6 uiprint.txt

- 9.4.7 プリンタ関連ファイルの編集

- 9.4.7.1 PPDファイルの編集

- 9.4.7.2 PCL印刷を行うためのHPDファイルの編集

- 9.5 CUPSによって強化されたLinux印刷

- 9.5.1 1台の印刷用サーバーの設定

- 9.6 グローバリゼーション・サポート

- 9.6.1 マルチバイト・キャラクタ・セットの印刷

- 9.6.2 IXおよびPASTAの概要

- 9.7 デバッグ・オプション

- 9.7.1 DEBUG_SLFIND

- 9.7.2 TK_DEBUG_POSTSCRIPT

- 9.8 UNIXでのDISPLAYおよびプリンタ依存性の解消

- 9.8.1 ScreenPrinter

- 9.8.2 拡張イメージングのサポート

- 9.9 よくある質問

- 9.9.1 一般的な印刷エラー・メッセージ

- 9.9.2 PCLの印刷の問題

- 9.9.3 PostScriptの印刷の問題

- 9.9.4 フォントに関連する印刷の問題

- 9.9.5 印刷された出力の問題

10 Oracle ReportsでのPDFの使用

- 10.1 このリリースでの新機能

- 10.2 Oracle Reportsに含まれるPDF機能

- 10.2.1 圧縮

- 10.2.1.1 設定

- 10.2.2 フォント関連の機能

- 10.2.2.1 フォント・エイリアシング

- 10.2.2.2 フォント・サブセット

- 10.2.2.3 フォントの埋込み

- 10.2.2.4 フォント機能のサマリー

- 10.2.3 実行の優先順位

- 10.2.4 暗号化、パスワードによる保護および権限セキュリティ

- 10.2.5 アクセシビリティ

- 10.2.6 分類

- 10.2.7 グラフのサポート

- 10.3 Unicode PDFファイルの生成

- 10.3.1 フォント・サブセット

- 10.4 双方向(BiDi) PDFファイルの生成

- 10.4.1 フォント・サブセット

- 10.5 マルチバイトPDFファイルの生成

- 10.5.1 フォント・エイリアシング

- 10.5.2 フォント・サブセット

- 10.6 バーコードPDFファイルの生成

- 10.6.1 フォントの埋込み

- 10.6.2 フォント・サブセット

11 フォント・モデルおよびクロス・プラットフォームの配布

- 11.1 このリリースでの新機能

- 11.2 フォント・モデルの概要

- 11.2.1 フォントの検索

- 11.2.1.1 フォント検索アルゴリズム

- 11.2.2 新規フォント・モデルの構成

- 11.2.3 フォント診断およびトレース

- 11.3 クロス・プラットフォームの問題の概要

- 11.3.1 プラットフォームによって異なるフォント

- 11.3.2 フォントに関連する問題の解決

- 11.4 HTMLCSS、RTFまたはWeb出力の生成

- 11.4.1 レポートの設計

- 11.4.2 レポートの配布

- 11.4.2.1 トラブルシューティング情報

- 11.4.3 よくある質問

- 11.5 シングルバイトPDF出力の生成

- 11.5.1 レポートの設計

- 11.5.2 Motifツール・キット・メカニズムを使用する11gより前のバージョンでのレポートの配布

- 11.5.2.1 トラブルシューティング情報

- 11.5.3 よくある質問

- 11.6 マルチバイトPDF出力の生成

- 11.6.1 Motifツール・キット・メカニズムを使用する11gより前のバージョンでのレポートの設計

- 11.6.2 Motifツール・キット・メカニズムを使用する11gより前のバージョンでのレポートの配布

- 11.6.2.1 トラブルシューティング情報

- 11.6.3 よくある質問

- 11.7 Unicode PDF出力の生成

- 11.7.1 Motifツール・キット・メカニズムを使用する11gより前のバージョンでのレポートの設計

- 11.7.2 Motifツール・キット・メカニズムを使用する11gより前のバージョンでのレポートの配布

- 11.7.2.1 トラブルシューティング情報

- 11.7.3 よくある質問

- 11.8 PostScript出力の生成

- 11.8.1 レポートの設計

- 11.8.2 レポートの配布

- 11.8.3 よくある質問

12 Oracle Reports Servicesの宛先の構成

- 12.1 このリリースでの新機能

- 12.1.1 Oracle Forms Servicesからのプラガブル宛先

- 12.2 出力処理の概要

- 12.3 サーバーへの宛先タイプの登録

- 12.3.1 サーバー構成ファイルのdestinationセクションの設定

- 12.3.2 宛先として有効な値の入力

- 12.3.2.1 宛先タイプとクラス

- 12.3.2.2 宛先プロパティの名前/値のペア

- 12.3.3 宛先の例

- 12.4 Oracle Forms Servicesからのプラガブル宛先へのレポートの送信

13 プラガブル・データ・ソースの構成と使用

- 13.1 JDBC PDSの構成と使用

- 13.1.1 JDBC構成ファイル

- 13.1.1.1 プリインストールされているドライバ・エントリの確認

- 13.1.1.2 Merant DataDirectドライバのインストールと構成

- 13.1.2 JDBC問合せの定義と実行

- 13.1.2.1 接続情報の例

- 13.1.3 Oracle Reports Servicesを使用したJDBCレポートの実行

- 13.1.4 トラブルシューティング情報

- 13.1.4.1 エラー・メッセージ

- 13.1.4.2 トレース情報

- 13.1.5 ユーザー独自のJDBCドライバの追加

- 13.1.5.1 jdbcpds.confファイルの構成

- 13.1.5.2 ドライバのJARファイルのインストール

- 13.2 テキストPDSの構成と使用

- 13.2.1 テキスト構成ファイル

- 13.3 XML PDSの構成と使用

- 13.3.1 XML PDS構成ファイル

- 13.4 XML PDSレポートのエンコーディングの指定

14 Oracle Reports Servicesの保護

- 14.1 Oracle Reportsセキュリティの概要

- 14.1.1 概要

- 14.1.2 このリリースでの新機能

- 14.1.3 リソースの保護

- 14.1.3.1 アプリケーション・セキュリティ

- 14.1.3.2 リソース・セキュリティ

- 14.1.3.3 データ・ソース・セキュリティ

- 14.1.4 資格証明ストア

- 14.1.4.1 資格証明のタイプ

- 14.2 デフォルトの動作

- 14.3 Oracle Reportsにおける認証

- 14.3.1 シングル・サインオン認証

- 14.3.1.1 Oracle Single Sign-On Server (OSSO) 10gでの認証フロー

- 14.3.1.2 Oracle Access Manager (OAM) 11gでの認証フロー

- 14.3.2 非SSO認証

- 14.3.2.1 非SSO (Oracle Internet Directoryベース、ファイルベース、または埋め込みIDストア)を使用するレポート・リクエスト・フロー

- 14.3.3 JPSベース・セキュリティの認証シナリオ

- 14.3.3.1 ReportsがJPSセキュリティ、セキュリティ・ポリシー用JPS-OID、および埋め込みIDストアを使用している場合

- 14.3.3.2 ReportsがJPSセキュリティおよび、IDストアとしてのJPS-OIDを使用している場合

- 14.3.4 Portalベース・セキュリティの認証シナリオ

- 14.4 Oracle Reportsにおける認可

- 14.4.1 認可プロセス

- 14.4.2 認可用にJPSを使用する場合の追加ステップ

- 14.4.3 レポートのセキュリティ・ポリシーの定義

- 14.4.3.1 JPSベース・セキュリティのセキュリティ・ポリシーの定義

- 14.4.3.2 Portalベース・セキュリティのセキュリティ・ポリシーの定義

- 14.4.4 JPSベース・セキュリティのディレクトリ用セキュリティ・ポリシーの定義

- 14.4.5 JPSベース・セキュリティのWebコマンド用セキュリティ・ポリシーの定義

- 14.4.6 ディレクトリへの読取り/書込みアクセス権の定義

- 14.4.7 Enterprise Managerでのアプリケーション・ポリシーの検索

- 14.4.8 Enterprise Managerでのアプリケーション・ロールの検索

- 14.5 エンドツーエンド・セキュリティ・シナリオ

- 14.6 JPSベース・セキュリティの推奨製品シナリオ

- 14.7 Portalベース・セキュリティの推奨製品シナリオ

- 14.8 ユーザーおよびセキュリティ・ポリシーの管理

- 14.8.1 インプロセス・サーバー用のWebLogic埋め込みIDストアへのユーザーの追加

- 14.8.2 インプロセス・サーバー用のポリシー・ストアへのポリシーの追加

- 14.8.3 アプリケーション・ロールへのユーザーのマッピング

- 14.8.4 スタンドアロン・サーバー用のsystem-jazn-data.xmlへのユーザーの追加

- 14.8.5 スタンドアロン・サーバー用のポリシー・ストアへのポリシーの追加

- 14.9 外部Oracle Internet Directoryの構成およびReportsの再関連付け

- 14.9.1 インプロセス・サーバー用の外部Oracle Internet Directoryの構成

- 14.9.1.1 JPSベース・セキュリティ使用時に外部Oracle Internet DirectoryをIDストアとして構成する方法

- 14.9.1.2 JPSベース・セキュリティ使用時に外部Oracle Internet Directoryをポリシー・ストアとして構成する方法

- 14.9.2 ReportsとOracle Internet Directoryの再関連付け

- 14.9.3 Oracle ReportsとOracle Portalの再関連付け

- 14.9.4 スタンドアロン・サーバー用の外部Oracle Internet Directoryの構成

- 14.9.4.1 外部Oracle Internet DirectoryをIDストアとして構成する方法

- 14.9.4.2 外部Oracle Internet Directoryをポリシー・ストアとして構成する方法

- 14.10 FormsおよびReportsのセキュリティに関する推奨事項

- 14.11 フォームおよびレポートに対する中間レベル・セキュリティ

- 14.12 データベース・プロキシ認証

- 14.12.1 Oracle Enterprise Managerの使用

- 14.12.2 DASの使用とサーバー構成ファイルの編集

- 14.12.3 データベースでのプロキシ・ユーザー認証の構成

- 14.12.4 プロキシ・アクセス情報の取得

- 14.12.5 Reports構成ファイルでの構成設定

- 14.12.5.1 rwserver.conf

- 14.12.5.2 rwservlet.properties

- 14.13 下位互換性に対するOracle Portalベース・セキュリティ

- 14.13.1 Oracle Portalで実現されるセキュリティ機能

- 14.14 セキュリティ・インタフェース

15 Oracle Portalでのレポートの配布

- 15.1 Reportsユーザーおよび名前付きグループの作成

- 15.1.1 デフォルトのReports関連グループ

- 15.1.1.1 RW_BASIC_USER

- 15.1.1.2 RW_POWER_USER

- 15.1.1.3 RW_DEVELOPER

- 15.1.1.4 RW_ADMINISTRATOR

- 15.1.2 ユーザーとグループの作成

- 15.1.3 資格証明ストアのPortalパスワード

- 15.2 Oracle Reportsコンポーネントの登録

- 15.2.1 Reports Serverの登録

- 15.2.2 レポートの登録

- 15.2.3 プリンタの登録

- 15.2.4 使用可能日カレンダの作成

- 15.2.4.1 シンプルな使用可能日カレンダの作成

- 15.2.4.2 結合された使用可能日カレンダの作成

- 15.2.5 「管理」ポートレット

- 15.3 レポートのポートレットとしての公開

- 15.3.1 レポートに対するプロバイダの作成

- 15.3.2 ページへのレポート・ポートレットの追加

- 15.3.3 アイテム・リンクとしてレポートをページへ追加

- 15.3.4 デフォルトでインストールされていないOracle Portalでのアイテム・リンクとしてのレポートの実行

- 15.3.5 Oracle Portalへのレポート出力の配布

- 15.4 Oracle Portalへの接続

- 15.5 トラブルシューティング情報

- 15.5.1 リソースの作成の試行時のReportsとPortalの統合エラーの解決

16 Oracle Single Sign-Onの構成と管理

- 16.1 前提条件

- 16.2 シングル・サインオンの構成

- 16.2.1 Oracle Reportsで使用されるSingle Sign-Onコンポーネント

- 16.2.2 設定プロセス

- 16.2.2.1 インストール時のReportsアプリケーションのシングル・サインオンの有効化

- 16.2.2.2 インストール後のReportsアプリケーションのシングル・サインオンの有効化

- 16.3 Single Sign-Onの管理

- 16.3.1 Single Sign-Onの有効化と無効化

- 16.3.2 Reports Serverのセキュリティの有効化と無効化

- 16.3.3 データソースのセキュリティの有効化と無効化

- 16.3.3.1 SSOCONN

- 16.3.3.2 Oracle Internet Directoryへの入力

- 16.3.3.3 新しいリソース・タイプの追加

- 16.3.4 Oracle Internet Directoryへの接続

- 16.3.4.1 Oracle Internet Directoryの接続エンティティの選択

- 16.3.4.2 Oracle Internet Directoryインスタンスの選択

- 16.4 Oracle Internet Directoryの接続エンティティの選択

- 16.5 インストール後の構成

- 16.5.1 アクセス・クライアント・ファイルの生成

- 16.5.2 mod_ossoをパートナ・アプリケーションとして登録することによるSSOの有効化

- 16.5.3 OAMに対するWebgateのインストールと構成

- 16.6 Reportsサーブレット・ポートをSingle Sign-Onで保護されるように変更する方法

- 16.7 Oracle Forms Servicesのセキュリティに関する考慮事項

第IV部 サーバーへのリクエスト送信

17 レポート・リクエストの実行

- 17.1 ReportsのURL構文

- 17.1.1 Oracle Reports Servlet

- 17.1.2 JSP

- 17.2 レポート・リクエストの方法

- 17.3 レポートの配布

- 17.3.1 ペーパー・レイアウトを使用したレポートの配布

- 17.3.2 ペーパー・レイアウトを使用したレポートの実行

- 17.3.3 WebおよびペーパーへのJSPレポートの配布

- 17.3.3.1 新規Java EEアプリケーションの作成

- 17.3.3.2 WebLogic Serverを使用したJava EEアプリケーションのデプロイ

- 17.3.4 JSPベースのWebレポートのブラウザからの実行

- 17.3.5 ペーパー・レイアウトを使用したJSPレポートの実行

- 17.3.6 UNIXでWE8MSWIN1252文字セットを使用したレポートの実行

- 17.4 Oracle Portalでのレポートの公開

- 17.5 Webブラウザからのレポート・リクエストの指定

- 17.6 URLエンジンへのリクエスト送信

- 17.7 Webサービスを介したレポートの実行

- 17.8 Oracle Forms ServicesからのOracle Reportsのコール

- 17.8.1 異なるインスタンス上にインストールされているReportsとFormsの間の通信

- 17.8.2 ランダムで連続していないジョブIDの生成

- 17.9 Oracle BPEL Process Managerによるレポートの実行

- 17.10 自動実行のためのレポートのスケジューリング

- 17.11 追加のパラメータ

- 17.12 キャッシュからのレポート出力の再使用

- 17.12.1 使用上の注意

- 17.13 キー・マップ・ファイルの使用

- 17.13.1 キー・マッピングの理解

- 17.13.2 キー・マッピングを使用可能にする方法

- 17.13.3 キー・マップ・ファイルへのキー・マッピング・エントリの追加

- 17.13.4 JSP以外のレポートでのキーの使用

- 17.13.5 JSPとしてのレポート実行でのキーの使用

18 Oracle ReportsのWebサービスの使用

- 18.1 概要

- 18.2 スタート・ガイド

- 18.2.1 RWWebServiceサーブレットの起動

- 18.2.2 WSDLの表示

- 18.3 Oracle ReportsのWebサービスの操作

- 18.3.1 Oracle Enterprise Managerを使用したRWWebServiceのテスト

- 18.3.1.1 getAPIVersion

- 18.3.1.2 getServerInfo

- 18.3.1.3 getJobInfo

- 18.3.1.4 killJob

- 18.3.1.5 runJob

- 18.4 RWWebServiceUtilを使用したRWWebServiceのテスト

19 拡張配布の作成

- 19.1 配布の概要

- 19.2 このリリースでの新機能

- 19.3 配布XMLファイルの概要

- 19.3.1 distribution.dtdファイル

- 19.3.2 属性内での変数の使用

- 19.4 配布XMLファイルの要素

- 19.4.1 destinations

- 19.4.2 foreach

- 19.4.3 mail

- 19.4.4 body

- 19.4.5 attach

- 19.4.6 include

- 19.4.7 file

- 19.4.8 printer

- 19.4.9 destype

- 19.4.10 property

- 19.5 配布XMLファイルの例

- 19.5.1 foreachの例

- 19.5.1.1 レポート・グループを個別の添付とする単一の電子メール

- 19.5.1.2 グループ・インスタンスごとに個別の電子メール

- 19.5.1.3 単独のセクションを添付とする個別の電子メール

- 19.5.1.4 セクションごとに異なるファイル

- 19.5.1.5 レポートごとに実行される印刷

- 19.5.2 mailの例

- 19.5.2.1 レポート全体を本文とする電子メール

- 19.5.2.2 レポートの1つのセクションを本文とする電子メール

- 19.5.2.3 レポートの2つのセクションを本文とする電子メール

- 19.5.2.4 外部ファイルを本文とし、レポートを添付とする電子メール

- 19.5.2.5 レポート全体およびグループ化されたセクションが添付された電子メール

- 19.5.2.6 関連する管理者と部門に送信される電子メール

- 19.5.3 fileの例

- 19.5.3.1 レポート全体のファイル

- 19.5.3.2 結合されたレポート・セクションのファイル

- 19.5.3.3 結合されたセクションからなる各グループのファイル

- 19.5.3.4 レポート・グループ・インスタンスごとのファイル

- 19.5.4 printerの例

- 19.5.4.1 レポート全体の印刷

- 19.5.4.2 レポートの2つのセクションの印刷

- 19.5.4.3 グループ化されたレポートの印刷

- 19.5.4.4 結合されたセクションをグループ・インスタンスごとに印刷

- 19.5.4.5 レポートの適切なインスタンスをその関連プリンタに印刷

- 19.5.5 destypeの例

- 19.5.5.1 Oracle Portal宛先

- 19.5.5.2 FTP宛先

- 19.5.5.3 WebDAV宛先

- 19.5.5.4 FAX宛先

- 19.6 実行時の配布XMLファイルの使用

- 19.7 配布の使用に関する制限

- 19.7.1 デリミタ付き出力

- 19.7.2 動的フォーマット値

20 イベント・ドリブンによる公開の使用

- 20.1 Event-Driven Publishing API

- 20.1.1 APIの要素

- 20.1.2 パラメータ・リストの作成と操作

- 20.1.2.1 Add_Parameter

- 20.1.2.2 Remove_Parameter

- 20.1.2.3 Clear_Parameter_List

- 20.1.3 パラメータの名前と値での非ASCII文字の使用

- 20.1.4 ジョブの送信

- 20.1.5 ステータスの確認

- 20.1.6 サーバーのステータス・レコードの使用

- 20.2 Event-Driven Publishing APIを使用するアプリケーションのデバッグ

- 20.3 データベース・イベントからのレポートの起動

- 20.4 Oracle Advanced Queuingとの統合

- 20.4.1 SRW_PARAMLISTタイプのメッセージを保持するキューの作成

- 20.4.2 エンキュー・プロシージャの作成

- 20.4.3 デキュー・プロシージャの作成

21 XMLによるレポートのカスタマイズ

- 21.1 カスタマイズの概要

- 21.2 XMLカスタマイズの作成

- 21.2.1 必須XMLタグ

- 21.2.2 スタイルの変更

- 21.2.3 書式マスクの変更

- 21.2.4 書式例外の追加

- 21.2.5 プログラム・ユニットとハイパーリンクの追加

- 21.2.6 新規問合せの追加と新規ヘッダー・セクションでの結果の使用

- 21.2.7 URLのエンコード

- 21.3 XMLデータ・モデルの作成

- 21.3.1 複数のデータソースの作成

- 21.3.2 データソース間のリンク

- 21.3.3 各データソース内でのグループ階層の作成

- 21.3.4 クロス積(マトリックス)グループの作成

- 21.3.5 あらゆるレベルでの式、サマリーおよびプレースホルダの作成

- 21.3.6 パラメータの作成

- 21.4 実行時のXMLファイルの使用

- 21.4.1 実行時のXMLレポート定義の適用

- 21.4.1.1 1つのXMLレポート定義の適用

- 21.4.1.2 複数のXMLレポート定義の適用

- 21.4.1.3 PL/SQLでのXMLレポート定義の適用

- 21.4.2 XMLレポート定義の単独での実行

- 21.4.3 バッチ変更の実行

- 21.5 XMLレポート定義のデバッグ

- 21.5.1 XMLパーサーのエラー・メッセージ

- 21.5.2 rwbuilder

- 21.5.3 デバッグを目的とした、ファイルへのXMLの書込み

第V部 グローバリゼーション・サポートおよび双方向サポート

22 グローバリゼーションと双方向のサポートの実装

- 22.1 グローバリゼーション・サポート・アーキテクチャ

- 22.1.1 言語に依存しない機能

- 22.1.2 言語依存データ

- 22.2 グローバリゼーション・サポートの環境変数

- 22.2.1 NLS_LANG環境変数

- 22.2.1.1 NLS_LANG環境変数の定義

- 22.2.1.2 言語および地域の定義

- 22.2.1.3 キャラクタ・セットの定義

- 22.2.2 DEVELOPER_NLS_LANG環境変数とUSER_NLS_LANG環境変数

- 22.3 JSPまたはXMLファイルでのキャラクタ・セットの指定

- 22.4 双方向サポート

- 22.4.1 拡張BIDI形状変更

- 22.5 Unicode

- 22.5.1 Unicodeのサポート

- 22.5.2 Unicodeフォントのサポート

- 22.5.3 Unicodeサポートの有効化

- 22.6 アプリケーションの翻訳

- 22.7 グローバリゼーションに関する問題のトラブルシューティング

第VI部 パフォーマンス

23   Oracle Reportsの診断およびチューニング

- 23.1 このリリースでの新機能

- 23.2 ロギング機能の強化

- 23.2.1 エンジン・クラッシュの診断

- 23.3 パフォーマンス分析ツール

- 23.3.1 Oracle Enterprise Manager

- 23.3.2 ログ・ファイル

- 23.3.2.1 ログ・ファイルの表示

- 23.3.2.2 ログ・ファイルの管理

- 23.3.2.3 監査ログ・ファイル

- 23.3.3 WLSTについて

- 23.3.3.1 システム・コンポーネントでのWLSTコマンドの使用

- 23.3.3.2 Java EEコンポーネントの場合のWLSTコマンドの使用

- 23.3.4 ロギング関連のWLSTコマンド

- 23.3.4.1 listLoggers

- 23.3.4.2 getLogLevel

- 23.3.4.3 setLogLevel

- 23.3.4.4 listLogHandlers

- 23.3.4.5 configureLogHandlers

- 23.3.4.6 listLogs

- 23.3.4.7 displayLogs

- 23.3.5 メトリック関連のWLSTコマンド

- 23.3.5.1 メトリック表の表示

- 23.3.5.2 表示可能なすべてのメトリックの表示

- 23.3.5.3 指定したメトリック表の表示

- 23.3.6 監査構成のWLSTコマンド

- 23.3.6.1 getAuditPolicy

- 23.3.6.2 setAuditPolicy

- 23.3.6.3 listAuditEvents

- 23.3.7 レポート実行のトレース

- 23.3.8 RW_SERVER_JOB_QUEUE表

- 23.3.8.1 キュー・アクティビティによるデータベースの更新

- 23.3.9 SHOWJOBSコマンドライン・キーワード

- 23.3.10 効率的なSQL

- 23.3.11 PL/SQL

- 23.3.12 Javaストアド・プロシージャ

- 23.3.13 Java Importer

- 23.4 Reports Server構成のチューニング

- 23.5 データへのアクセス

- 23.5.1 非SQLデータ・ソース

- 23.5.2 データベースの索引

- 23.5.3 計算

- 23.5.4 冗長なデータ

- 23.5.5 ブレーク・グループ

- 23.5.6 グループ・フィルタ

- 23.5.7 リンクの可否

- 23.6 データのフォーマット

- 23.6.1 ペーパー・レイアウト

- 23.6.1.1 フォーマット・トリガー

- 23.6.1.2 イメージ出力

- 23.6.2 WebレイアウトとJSPレポート定義

- 23.7 レイアウトに関する一般的なガイドライン

- 23.7.1 事前フェッチ

- 23.7.2 一括処理と配布

- 23.8 レポートの実行

第VII部 付録

A コマンドライン・キーワード

- A.1 コマンドラインの使用

- A.1.1 全般的な使用上の注意

- A.1.2 ルール

- A.2 Oracle Reportsコンポーネントの概要

- A.2.1 rwclient

- A.2.2 rwrun

- A.2.3 rwbuilder

- A.2.4 rwconverter

- A.2.5 rwservlet

- A.2.6 rwserver

- A.2.7 rwbridge

- A.3 キーワードの使用方法のサマリー

- A.4 コマンドライン・キーワード

- A.5 コマンドライン・キーワード(ACCESSIBLEからDESTYPE)

- A.5.1 ACCESSIBLE

- A.5.2 ARRAYSIZE

- A.5.3 AUTHID

- A.5.4 AUTOCOMMIT

- A.5.5 BACKGROUND

- A.5.6 BATCH

- A.5.7 BCC

- A.5.8 BLANKPAGES

- A.5.9 BUFFERS

- A.5.10 CACHELOB

- A.5.11 CC

- A.5.12 CELLWRAPPER

- A.5.13 CMDFILE

- A.5.14 CMDKEY

- A.5.15 COLLATE

- A.5.16 COMPILE_ALL

- A.5.17 CONTAINSHTMLTAGS

- A.5.18 CONTAINSOLE

- A.5.19 CONTENTAREA

- A.5.20 COPIES

- A.5.21 CUSTOMIZE

- A.5.22 DATEFORMATMASK

- A.5.23 DBPROXYCONN

- A.5.24 DELAUTH

- A.5.25 DELIMITED_HDR

- A.5.26 DELIMITER

- A.5.27 DESFORMAT

- A.5.28 DESNAME

- A.5.29 DEST

- A.5.30 DESTINATION

- A.5.31 DESTYPE

- A.6 コマンドライン・キーワード(DISTRIBUTEからORIENTATION)

- A.6.1 DISTRIBUTE

- A.6.2 DTYPE

- A.6.3 DUNIT

- A.6.4 ENGINERESPONSETIMEOUT

- A.6.5 ENVID

- A.6.6 EXPIRATION

- A.6.7 EXPIREDAYS

- A.6.8 FORMSIZE

- A.6.9 FROM

- A.6.10 GETJOBID

- A.6.11 GETSERVERINFO

- A.6.12 HELP

- A.6.13 ITEMTITLE

- A.6.14 JOBNAME

- A.6.15 JOBRETRY

- A.6.16 JOBTYPE

- A.6.17 JVMOPTIONS

- A.6.18 KILLENGINE

- A.6.19 KILLJOBID

- A.6.20 LONGCHUNK

- A.6.21 MIMETYPE

- A.6.22 MODE

- A.6.23 MODULE|REPORT

- A.6.24 NAME

- A.6.25 NONBLOCKSQL

- A.6.26 NOTIFYFAILURE

- A.6.27 NOTIFYSUCCESS

- A.6.28 NUMBERFORMATMASK

- A.6.29 ONFAILURE

- A.6.30 ONSUCCESS

- A.6.31 ORIENTATION

- A.7 コマンドライン・キーワード(OUTPUTFOLDERからROLE)

- A.7.1 OUTPUTFOLDER

- A.7.2 OUTPUTGRAPHFORMAT

- A.7.3 OUTPUTIMAGEFORMAT

- A.7.4 OUTPUTPAGE

- A.7.5 OVERWRITE

- A.7.6 PARAMETER

- A.7.7 P_AVAILABILITY

- A.7.8 P_DESCRIPTION

- A.7.9 P_FORMATS

- A.7.10 P_JDBCPDS

- A.7.11 P_NAME

- A.7.12 P_OWNER

- A.7.13 P_PFORMTEMPLATE

- A.7.14 P_PRINTERS

- A.7.15 P_PRIVILEGE

- A.7.16 P_SERVERS

- A.7.17 P_TRIGGER

- A.7.18 P_TYPES

- A.7.19 PAGEGROUP

- A.7.20 PAGESIZE

- A.7.21 PAGESTREAM

- A.7.22 PARAMFORM

- A.7.23 PARSEQUERY

- A.7.24 PDFCOMP

- A.7.25 PDFEMBED

- A.7.26 PDFOWNER

- A.7.27 PDFSECURITY

- A.7.28 PDFUSER

- A.7.29 PFACTION

- A.7.30 PRINTJOB

- A.7.31 READONLY

- A.7.32 RECURSIVE_LOAD

- A.7.33 REPLYTO

- A.7.34 REPORT | MODULE

- A.7.35 ROLE

- A.8 コマンドライン・キーワード(RUNDEBUGからWEBSERVER_PORT)

- A.8.1 RUNDEBUG

- A.8.2 SAVE_RDF

- A.8.3 SCHEDULE

- A.8.4 SERVER

- A.8.5 SHOWAUTH

- A.8.6 SHOWENV

- A.8.7 SHOWJOBID

- A.8.8 SHOWJOBS

- A.8.9 SHOWMAP

- A.8.10 SHOWMYJOBS

- A.8.11 SHUTDOWN

- A.8.12 SITENAME

- A.8.13 SOURCE

- A.8.14 SQLTRACE

- A.8.15 SSOCONN

- A.8.16 STATUSFOLDER

- A.8.17 STATUSFORMAT

- A.8.18 STATUSPAGE

- A.8.19 STYPE

- A.8.20 SUBJECT

- A.8.21 SUPPRESSLAYOUT

- A.8.22 TOLERANCE

- A.8.23 URLPARAMETER

- A.8.24 USEJVM

- A.8.25 USERID

- A.8.26 USERSTYLES

- A.8.27 VALIDATETAG

- A.8.28 WEBSERVER_DEBUG

- A.8.29 WEBSERVER_DOCROOT

- A.8.30 WEBSERVER_PORT

B 環境変数

- B.1 環境変数

- B.1.1 CA_GPREFS

- B.1.2 CA_UPREFS

- B.1.3 DELIMITED_LINE_END

- B.1.4 DOC

- B.1.5 DEVELOPER_NLS_LANG

- B.1.6 NLS_CALENDAR

- B.1.7 NLS_CREDIT

- B.1.8 NLS_CURRENCY

- B.1.9 NLS_DATE_FORMAT

- B.1.10 NLS_DATE_LANGUAGE

- B.1.11 NLS_DEBIT

- B.1.12 NLS_ISO_CURRENCY

- B.1.13 NLS_LANG

- B.1.14 NLS_LIST_SEPARATOR

- B.1.15 NLS_MONETARY_CHARACTERS

- B.1.16 NLS_NUMERIC_CHARACTERS

- B.1.17 NLS_SORT

- B.1.18 ORACLE_AFM

- B.1.19 ORACLE_HOME

- B.1.20 ORACLE_HPD

- B.1.21 ORACLE_INSTANCE

- B.1.22 ORACLE_PATH

- B.1.23 ORACLE_PPD

- B.1.24 ORACLE_TFM

- B.1.25 ORAINFONAV_DOCPATH

- B.1.26 PRINTER

- B.1.27 REMOTE

- B.1.28 REPORTS_ADD_HWMARGIN

- B.1.29 REPORTS_ARABIC_NUMERAL

- B.1.30 REPORTS_ALLOW_DB_CONNECT_STRING

- B.1.31 REPORTS_BIDI_ALGORITHM

- B.1.32 REPORTS_CGIDIAGBODYTAGS

- B.1.33 REPORTS_CGIDIAGHEADTAGS

- B.1.34 REPORTS_CGIHELP

- B.1.35 REPORTS_CGIMAP

- B.1.36 REPORTS_CGINODIAG

- B.1.37 REPORTS_CLASSPATH

- B.1.38 REPORTS_CONTAINSHTMLTAGS

- B.1.39 REPORTS_COOKIE_EXPIRE

- B.1.40 REPORTS_CUPS_PRINTING

- B.1.41 REPORTS_DB_AUTH

- B.1.42 REPORTS_DEFAULT_DISPLAY

- B.1.43 REPORTS_DEFAULT_PIXEL_SIZE

- B.1.44 REPORTS_ENABLE_RTF_SPACING

- B.1.45 REPORTS_ENCRYPTION_KEY

- B.1.46 REPORTS_ENHANCED_BIDIHANDLING

- B.1.47 REPORTS_ENHANCED_FONTHANDLING

- B.1.48 REPORTS_ENHANCED_SUBSET

- B.1.49 REPORTS_FONT_DIRECTORY

- B.1.50 REPORTS_GRAPH_IMAGE_DPI

- B.1.51 REPORTS_IGNORE_IMAGE_TAG_RES

- B.1.52 REPORTS_IGNORE_SET_ROLE_ERROR

- B.1.53 REPORTS_JPEG_QUALITY_FACTOR

- B.1.54 REPORTS_JVM_OPTIONS

- B.1.55 REPORTS_NETWORK_CONFIG

- B.1.56 REPORTS_NLS_XML_CHARSETS

- B.1.57 REPORTS_NO_DUMMY_PRINTER

- B.1.58 REPORTS_NO_HTML_SPACE_REPLACE

- B.1.59 REPORTS_OUTPUTIMAGEFORMAT

- B.1.60 REPORTS_PATH

- B.1.61 REPORTS_RESTRICT_DIRECTORIES

- B.1.62 REPORTS_RESOURCE

- B.1.63 REPORTS_SERVER

- B.1.64 REPORTS_SOLARIS_9

- B.1.65 REPORTS_SPACE_BREAK

- B.1.66 REPORTS_SRWRUN_TO_SERVER

- B.1.67 REPORTS_SSLPORT

- B.1.68 REPORTS_SYS_AUTH

- B.1.69 REPORTS_TAGLIB_URI

- B.1.70 REPORTS_TMP

- B.1.71 REPORTS_USEREXITS

- B.1.72 REPORTS_UTF8_XMLOUTPUT

- B.1.73 RW

- B.1.74 TK_PRINT

- B.1.75 TK_PRINT_STATUS

- B.1.76 TK_PRINTER

- B.1.77 TK_AFM

- B.1.78 TK_HPD

- B.1.79 TK_PPD

- B.1.80 TK_TFM

- B.1.81 TNS_ADMIN

- B.1.82 USERNAME

- B.1.83 USER_NLS_LANG

C Oracle Portalへのレポートのバッチ登録

- C.1 レポート定義ファイルのバッチ登録

- C.1.1 rwconverterの実行によるSQLスクリプトの生成

- C.1.2 SQL*Plusでのスクリプトの実行

- C.2 レポート・パッケージのバッチ削除

- C.3 PL/SQLバッチ登録ファンクション

D Oracle Reports Servicesのトラブルシューティング

- D.1 問題と解決策

- D.1.1 レポート・リクエストのハング

- D.1.2 Reports ServerのアクティビティによりエラーREP-50125が生成される

- D.1.3 Oracle Reports Servletを使用して長期レポートを実行すると失敗する

- D.1.4 プラットフォームによってフォントの表示が異なる

- D.1.5 UNIXプラットフォームでレポートを実行するとREP-56048が生成される

- D.1.6 右から左に表示する言語のフォントの問題

- D.1.7 RUN_REPORT_OBJECTを使用してOracle Formsからレポートを実行する際のエラー

- D.1.8 Microsoft Excelでのレポート出力の表示

- D.1.9 ユーザー・イグジットが含まれるレポートのUNIXでの障害

- D.1.10 インプロセスReports Serverを使用する際の印刷エラーとフォント・エラー

- D.1.11 Reports Runtimeの実行時にプレースホルダ列値でレコードがシフト・ダウンされる

- D.2 パフォーマンスの問題の診断

- D.3 フォントの問題の診断

- D.4 印刷の問題の診断

- D.5 JDBC PDSの問題の診断

- D.6 Oracle Portalの問題の診断

- D.7 グローバリゼーションの問題の診断

- D.8 Oracle Reports Bridgeの問題の診断

- D.9 その他の解決策

E Reports Serverとブリッジの診断ユーティリティ

- E.1 rwdiagの概要

- E.1.1 例

- E.1.1.1 例1

- E.1.1.2 例2

- E.1.1.3 例3

- E.1.1.4 例4

- E.1.1.5 例5

- E.1.1.6 例6

- E.2 コマンドライン構文

- E.2.1 構文

- E.2.2 使用上の注意

用語集

索引

例の一覧

- 6-1 HTTP参照の変更

- 6-2 エクスポートした証明書の内容の例

- 7-1 Oracle Reportsブリッジの最小構成

- 7-2 Oracle Reportsブリッジの完全構成

- 10-1 フォントの埋込み

- 13-1 「JDBC問合せ」ダイアログによるJDBC問合せの作成

- 13-2 JDBC問合せの実行

- 23-1 Oracle Reports Builder

図一覧

- 2-1 Oracle Reports Servicesのコンポーネント

- 2-2 サブネット内のサーバーの検出

- 2-3 複数のサブネットにわたるサーバーの検出

- 2-4 COSネーミング・サービスを使用したサーバーの検出

- 7-1 Oracle Reports Bridgeの構成(双方向)

- 7-2 Oracle Reports Bridgeの構成(片方向)

- 8-1 Oracle Reports Builderのフォント・リスト

- 8-2 xlsfontsの出力例

- 9-1 UNIXでのOracle Reportsの印刷

- 9-2 Microsoft WindowsでのOracle Reportsの印刷

- 9-3 Oracle ReportsとCUPSサーバーとの間における対話的処理

- 9-4 印刷リクエストが1台のリモートCUPSサーバーにルーティングされる構成

- 10-1 圧縮出力と非圧縮出力

- 10-2 フォント・サブセット

- 10-3 フォントの埋込み

- 11-1 フォント・アルゴリズム

- 11-2 クロス・プラットフォームの配布シナリオの例

- 12-1 宛先/配布アーキテクチャの主要コンポーネント

- 13-1 Oracle Reports BuilderのJDBC接続ダイアログ・ボックス

- 13-2 データソース・タイプの選択

- 13-3 ストアド・プロシージャのコール

- 13-4 問合せの説明

- 14-1 OracleAS Single Sign-On Serverを使用する認証プロセス

- 14-2 Oracle Delegated Administration Servicesの「リソースの作成」

- 14-3 OAM 11gサーバーを使用する認証プロセス

- 14-4 Single Sign-Onを使用しない認証プロセス

- 14-5 認可プロセス・フロー

- 14-6 Oracle Internet Directoryの構成

- 16-1 Single Sign-Onアーキテクチャ

- 16-2 インストール時のReportsアプリケーションのシングル・サインオンの有効化

- 16-3 インストール後のReportsアプリケーションに対するSSOの有効化

- 16-4 Delegated Administration Servicesの「プリファレンス」タブ

- 16-5 Oracle Delegated Administration Servicesの「リソースの作成」

- 16-6 Oracle Internet Directoryの「構成」タブの「プリファレンス」ページ

- 16-7 「リソース・タイプの作成」ページ

- 18-1 WSDLの表示

- 23-1 フォーマット・トリガー

表一覧

- 1-1 11gの機能と10gの機能との比較

- 2-1 11gのアーキテクチャの機能と10gの機能との比較

- 3-1 11gのインストール機能と10gの機能との比較

- 6-1 11gのOracle Enterprise Manager機能と10gの機能との比較

- 6-2 構成メニューの選択

- 6-3 レポート構成MBean

- 7-1 Oracle Reports Services構成ファイル

- 7-2 ORBPorts要素の属性

- 7-3 pluginParam要素の属性

- 7-4 cache要素の属性

- 7-5 connection要素の属性

- 7-6 destination要素の属性

- 7-7 environment要素の属性

- 7-8 envVariable要素の属性

- 7-9 engine要素の属性

- 7-10 engine要素のプロパティ

- 7-11 job要素の属性

- 7-12 jobRecovery要素の属性

- 7-13 jobStatusRepository要素の属性

- 7-14 log要素の属性

- 7-15 notification要素の属性

- 7-16 oidconnection要素の属性

- 7-17 orbClient要素の属性

- 7-18 persistFile要素の属性

- 7-19 queue要素の属性

- 7-20 security要素の属性

- 7-21 proxyServer要素の属性

- 7-22 webLayout要素の属性

- 7-23 dbProxyKey要素の属性

- 7-24 jobThresholds要素の属性

- 7-25 server要素の属性

- 7-26 cookie要素の属性

- 7-27 diagtags要素の属性

- 7-28 oidconnection要素の属性

- 7-29 bridge要素の属性

- 7-30 remoteBridge要素の属性

- 7-31 multicast要素の属性

- 7-32 namingService要素の属性

- 8-1 スタイル名と対応する数値

- 8-2 太さと対応する数値

- 8-3 幅と対応する数値

- 8-4 ファイル情報

- 8-5 フォント・マッピング・ファイルのセクション

- 8-6 フォント情報の例

- 8-7 フラッシュ・フォント情報の例

- 9-1 uiprint.txtのエントリの要素

- 9-2 プリンタ関連ファイルの概要

- 9-3 Oracle Reportsに付属の一般的なPPDファイル

- 9-4 mediaOptionのキーワード

- 9-5 TK_DEBUG_POSTSCRIPTの設定

- 9-6 出力タイプ別のイメージ形式オプション

- 9-7 出力方法とDESTYPE、DESNAME、DESFORMATの設定

- 10-1 11gのフォント機能と10gの機能との比較

- 10-2 PDFフォント・エイリアシングのためのCIDフォント・マッピング

- 10-3 Windowsプラットフォームにおける東アジア系言語用の一般的TrueType Collectionファイル

- 10-4 各種PDFフォント機能の比較

- 10-5 PDFUSERとPDFOWNERのキーワードの組合せによる結果

- 10-6 分類プロパティ

- 11-1 11gのフォント機能と10gの機能との比較

- 11-2 クロス・プラットフォームの配布 - シナリオ1

- 11-3 変換後のフォント・ファイル名

- 11-4 クロス・プラットフォームの配布 - シナリオ2

- 11-5 変換後のフォント・ファイル名

- 11-6 クロス・プラットフォームの配布 - シナリオ4

- 11-7 変換後のフォント・ファイル名

- 11-8 クロス・プラットフォームの配布 - シナリオ5

- 11-9 変換後のフォント・ファイル名

- 11-10 クロス・プラットフォームの配布 - シナリオ3

- 11-11 変換後のフォント・ファイル名

- 12-1 標準の宛先タイプとクラス

- 13-1 ドライバの属性

- 13-2 Excelデータソースの指定

- 13-3 Oracle Thinドライバ

- 13-4 Oracle Thickドライバ

- 13-5 JDBC-ODBCドライバ

- 13-6 Sybase

- 13-7 DB2

- 13-8 SQL Server

- 13-9 Informix

- 13-10 データベース接続に関連するエラー・メッセージ

- 13-11 データソースの実行に関連するエラー・メッセージ

- 13-12 ドライバ/PDSの問題の識別

- 13-13 ファイル形式の属性

- 13-14 列の属性

- 14-1 11gのセキュリティ機能と10gの機能との比較

- 14-2 JPSベース・セキュリティの認証方法

- 14-3 Portalベース・セキュリティの認証方法

- 14-4 非SSO認証方法

- 14-5 JPSベース・セキュリティの認可方法

- 14-6 Portalベース・セキュリティの認可方法

- 14-7 JPSベース・セキュリティ・シナリオ

- 14-8 Portalベース・セキュリティ・シナリオ

- 15-1 サンプル値

- 15-2 サンプル値

- 15-3 ランタイム・パラメータ・フォームのオプション

- 15-4 サンプル値

- 15-5 「開発」タブ

- 15-6 「管理」タブ

- 15-7 Portalアクセス

- 15-8 権限モード

- 15-9 アクセス権限の付与

- 15-10 アクセス権限の変更

- 15-11 セルの権限モード

- 15-12 アクセスの変更

- 15-13 キャッシュの無効化

- 16-1 インストール時にReportsアプリケーションのシングル・サインオンを有効化するためのタスク

- 16-2 インストール後にReportsアプリケーションのシングル・サインオンを有効化するためのタスク

- 16-3 「リソース・タイプの作成」プロパティ

- 16-4 FormsがSSOモードまたは非SSOモードで稼動する場合のFormsとReportsの統合結果

- 17-1 Oracle Reports ServletをコールするURLの構成要素

- 17-2 JSPベース・レポートのURLの構成要素

- 17-3 レポートの配布方法

- 17-4 レポート・リクエストとともに渡される追加のパラメータ

- 19-1 11gの配布一括処理機能と10gの機能との比較

- 19-2 mail要素の属性

- 19-3 mailのbodyサブ要素の属性

- 19-4 mailのattachサブ要素の属性

- 19-5 bodyまたはattachとともに使用されるincludeサブ要素の属性

- 19-6 file要素の属性

- 19-7 printer要素の属性

- 19-8 destype要素の属性

- 21-1 operator属性の値

- 22-1 Oracle Reports Servicesのグローバリゼーション・サポートの環境変数

- 22-2 IANA定義のキャラクタ・セットの有効値

- 23-1 11gの診断機能と10gの機能との比較

- 23-2 拡張ロギング・メッセージの例

- 23-3 ログ・ファイルのデフォルトの場所

- 23-4 11gのODLメッセージ・タイプと10.1.2のトレース・オプションとの比較

- 23-5 ログ・ファイルの属性

- 23-6 ODLメッセージ・タイプ

- 23-7 listLoggersのパラメータ

- 23-8 getLogLevelのパラメータ

- 23-9 setLogLevelのパラメータ

- 23-10 listLogHandlersのパラメータ

- 23-11 configure LogHandlerのパラメータ

- 23-12 listLogsのパラメータ

- 23-13 displayLogsのパラメータ

- 23-14 displayMetricTableNamesのパラメータ

- 23-15 dumpMetricsのパラメータ

- 23-16 displayMetricTablesのパラメータ

- 23-17 WLST監査コマンド

- 23-18 Oracle Reports Builder

- 23-19 RW_SERVER_JOB_QUEUE表の構造

- 23-20 ジョブ送信のステータス・コード

- A-1 キーワードの使用方法のサマリー

- A-2 ACCESSIBLEを使用するコンポーネント

- A-3 ARRAYSIZEを使用するコンポーネント

- A-4 AUTHIDを使用するコンポーネント

- A-5 AUTOCOMMITを使用するコンポーネント

- A-6 BACKGROUNDを使用するコンポーネント

- A-7 BATCHを使用するコンポーネント

- A-8 BCCを使用するコンポーネント

- A-9 BLANKPAGESを使用するコンポーネント

- A-10 BUFFERSを使用するコンポーネント

- A-11 CACHELOBキーワードを使用するコンポーネント

- A-12 CCを使用するコンポーネント

- A-13 CELLWRAPPERを使用するコンポーネント

- A-14 一般的な有効値

- A-15 予約済の有効値

- A-16 ASCII文字セットに基づくエスケープ・シーケンスの有効値

- A-17 CMDFILEを使用するコンポーネント

- A-18 CMDKEYを使用するコンポーネント

- A-19 COLLATEを使用するコンポーネント

- A-20 COMPILE_ALLを使用するコンポーネント

- A-21 CONTAINSHTMLTAGSを使用するコンポーネント

- A-22 CONTAINSOLEを使用するコンポーネント

- A-23 CONTENTAREAを使用するコンポーネント

- A-24 COPIESを使用するコンポーネント

- A-25 CUSTOMIZEを使用するコンポーネント

- A-26 DATEFORMATMASKを使用するコンポーネント

- A-27 DBPROXYCONNを使用するコンポーネント

- A-28 DELAUTHを使用するコンポーネント

- A-29 DELIMITED_HDRを使用するコンポーネント

- A-30 DELIMITERを使用するコンポーネント

- A-31 一般的な有効値

- A-32 予約済の有効値

- A-33 ASCII文字セットに基づくエスケープ・シーケンスの有効値

- A-34 DESFORMATを使用するコンポーネント

- A-35 DESFORMATの有効値

- A-36 DESNAMEを使用するコンポーネント

- A-37 DESTを使用するコンポーネント

- A-38 DESTINATIONを使用するコンポーネント

- A-39 DESTYPEを使用するコンポーネント

- A-40 DESTYPEの有効値

- A-41 DISTRIBUTEを使用するコンポーネント

- A-42 DTYPEを使用するコンポーネント

- A-43 DUNITを使用するコンポーネント

- A-44 ENGINERESPONSETIMEOUTを使用するコンポーネント

- A-45 ENVIDを使用するコンポーネント

- A-46 EXPIRATIONを使用するコンポーネント

- A-47 EXPIREDAYSを使用するコンポーネント

- A-48 FORMSIZEを使用するコンポーネント

- A-49 FROMを使用するコンポーネント

- A-50 GETJOBIDを使用するコンポーネント

- A-51 GETSERVERINFOを使用するコンポーネント

- A-52 HELPを使用するコンポーネント

- A-53 ITEMTITLEを使用するコンポーネント

- A-54 JOBNAMEを使用するコンポーネント

- A-55 JOBRETRYを使用するコンポーネント

- A-56 JOBTYPEを使用するコンポーネント

- A-57 JVMOPTIONSを使用するコンポーネント

- A-58 KILLENGINEを使用するコンポーネント

- A-59 KILLJOBIDを使用するコンポーネント

- A-60 LONGCHUNKを使用するコンポーネント

- A-61 MIMETYPEを使用するコンポーネント

- A-62 MODEを使用するコンポーネント

- A-63 MODULE|REPORTを使用するコンポーネント

- A-64 NONBLOCKSQLを使用するコンポーネント

- A-65 NOTIFYFAILUREを使用するコンポーネント

- A-66 NOTIFYSUCCESSを使用するコンポーネント

- A-67 NUMBERFORMATMASKを使用するコンポーネント

- A-68 ONFAILUREを使用するコンポーネント

- A-69 ONSUCCESSを使用するコンポーネント

- A-70 ORIENTATIONを使用するコンポーネント

- A-71 OUTPUTFOLDERを使用するコンポーネント

- A-72 OUTPUTGRAPHFORMATを使用するコンポーネント

- A-73 OUTPUTIMAGEFORMATを使用するコンポーネント

- A-74 OUTPUTPAGEを使用するコンポーネント

- A-75 OVERWRITEを使用するコンポーネント

- A-76 parameterを使用するコンポーネント

- A-77 P_AVAILABILITYを使用するコンポーネント

- A-78 P_DESCRIPTIONを使用するコンポーネント

- A-79 P_FORMATSを使用するコンポーネント

- A-80 P_JDBCPDSを使用するコンポーネント

- A-81 P_NAMEを使用するコンポーネント

- A-82 P_OWNERを使用するコンポーネント

- A-83 P_PFORMTEMPLATEを使用するコンポーネント

- A-84 P_PRINTERSを使用するコンポーネント

- A-85 P_PRIVILEGEを使用するコンポーネント

- A-86 P_SERVERSを使用するコンポーネント

- A-87 P_TRIGGERを使用するコンポーネント

- A-88 P_TYPESを使用するコンポーネント

- A-89 PAGEGROUPを使用するコンポーネント

- A-90 PAGESIZEを使用するコンポーネント

- A-91 PAGESTREAMを使用するコンポーネント

- A-92 PARAMFORMを使用するコンポーネント

- A-93 PARSEQUERYを使用するコンポーネント

- A-94 PDFCOMPを使用するコンポーネント

- A-95 PDFEMBEDを使用するコンポーネント

- A-96 PDFOWNERを使用するコンポーネント

- A-97 PDSECURITYを使用するコンポーネント

- A-98 PDFSECURITYの値

- A-99 PDFUSERを使用するコンポーネント

- A-100 PFACTIONを使用するコンポーネント

- A-101 PRINTJOBを使用するコンポーネント

- A-102 READONLYを使用するコンポーネント

- A-103 RECURSIVE_LOADを使用するコンポーネント

- A-104 REPLYTOを使用するコンポーネント

- A-105 ROLEを使用するコンポーネント

- A-106 RUNDEBUGを使用するコンポーネント

- A-107 SAVE_RDFを使用するコンポーネント

- A-108 SCHEDULEを使用するコンポーネント

- A-109 SCHEDULEキーワードで使用できる文字列値

- A-110 SERVERを使用するコンポーネント

- A-111 SHOWAUTHを使用するコンポーネント

- A-112 SHOWENVを使用するコンポーネント

- A-113 SHOWJOBIDを使用するコンポーネント

- A-114 SHOWJOBSを使用するコンポーネント

- A-115 SHOWMAPを使用するコンポーネント

- A-116 SHOWMYJOBSを使用するコンポーネント

- A-117 SHUTDOWNを使用するコンポーネント

- A-118 SITENAMEを使用するコンポーネント

- A-119 SOURCEを使用するコンポーネント

- A-120 SQLTRACEを使用するコンポーネント

- A-121 SSOCONNを使用するコンポーネント

- A-122 SSOCONNオプションの簡易バージョン

- A-123 STATUSFOLDERを使用するコンポーネント

- A-124 STATUSFORMATを使用するコンポーネント

- A-125 STATUSPAGEを使用するコンポーネント

- A-126 STYPEを使用するコンポーネント

- A-127 SUBJECTを使用するコンポーネント

- A-128 SUPPRESSLAYOUTを使用するコンポーネント

- A-129 TOLERANCEを使用するコンポーネント

- A-130 URLPARAMETERを使用するコンポーネント

- A-131 USEJVMを使用するコンポーネント

- A-132 USERIDを使用するコンポーネント

- A-133 USERSTYLESを使用するコンポーネント

- A-134 VALIDATETAGを使用するコンポーネント

- A-135 WEBSERVER_DEBUGを使用するコンポーネント

- A-136 WEBSERVER_DOCROOTを使用するコンポーネント

- A-137 WEBSERVER_PORTを使用するコンポーネント

- B-1 Oracle Reports環境変数

- C-1 RWWWVREG.REGISTER_REPORTのパラメータ

- D-1 Windowsでスレッド・ダンプを出力するためのコマンド

はじめに

このマニュアルでは、Oracle Reports Servicesを使用してレポートを公開するために用意されている各種オプションについて説明します。また、レポートを公開するためにOracle Reports Servicesソフトウェアを構成する方法についても説明します。

ノート:

このマニュアルのPortable Document Format (PDF)版では、URLが2行に分割されているとき、そのURLをクリックしても、URLの完全なデータはブラウザに送られません。PDFに記載されているURLの正確なリンク先にジャンプするには、URLをコピーして、ブラウザのアドレス・フィールドに貼り付けます。このマニュアルのHTML版では、リンクをクリックすると、そのリンク先がブラウザに直接表示されます。

対象読者

このマニュアルは、Oracle Reports Servicesを使用してレポートを公開するユーザーを対象に記述されています。Oracle Reports Servicesを構成する場合、次のテクノロジについて確実に理解しておくと役に立ちます。

- 使用しているオペレーティング・システム

- Java

- データベース

- CORBA

- JSPファイル

- XMLファイルおよびDTDファイル

- Webサーバーの構成

- HTTP

このマニュアルでは、これらのテクノロジに関するコンポーネントを構成する手順を説明します。

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

オラクル社のお客様は、My Oracle Supportを使用してサポート担当部門にアクセスできます。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info) か、聴覚に障害のあるお客様は (http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。

関連項目

Oracle Reportsの詳細は、次のリソースを参照してください。

- Oracle Technology Network (OTN)(http://www.oracle.com/technetwork/middleware/reports/overview/index.html)のOracle Reportsページ

- Oracle Reportsチュートリアル

- Oracle Reportsレポートの作成

- Oracle Reportsのオンライン・ヘルプは、Reports Builderを使用して次のいずれかの方法でアクセスできます。

- 「ヘルプ」→「ヘルプ・コンテンツ」.を選択します

- ダイアログ・ボックスで、「ヘルプ」をクリックするか[F1]を押します。

- プロパティ・インスペクタでプロパティをクリックし、[F1]を押すとプロパティのヘルプが表示されます。

表記規則

このマニュアルでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック体

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

固定幅フォントのイタリック

固定幅イタリック・フォントは、変数またはユーザー指定の名前を示します。

[ ]

大カッコは、カッコ内の項目を任意に選択することを表します。

第I部

スタート・ガイド

第I部では、これからレポートを公開するユーザーのためにOracle ReportsとOracle Reports Servicesに関する情報が記載されています。

- 第1章「概要」

- 第2章「Oracle Reports Servicesのアーキテクチャの理解」

- 第3章「インストールの確認」

- 第5章「Oracle Reports Servicesの起動と停止」

1 概要

この章では、Oracle Fusion Middlewareのレポート作成コンポーネントであるOracle Reportsについて概説します。

- Oracle Reportsの概要

- このリリースでの新機能

1.1 Oracle Reportsの概要

Oracle Reportsは数々の受賞歴のある高品位エンタープライズ・レポート・ツールです。これによって、比類ないスケーラビリティを持ちセキュアな環境における組織の内外にあるあらゆるレベルの情報に企業は即座にアクセスできます。

Oracle Reportsでは、任意のデータ・ソース(Oracleデータベース、JDBC、XML、テキスト・ファイルなど)に対して、洗練されたWebレポートやペーパー・レポートを迅速に開発して配布できます。JSPやXMLなどのJava EEテクノロジを活用することで、レポートを様々なフォーマット(HTML、XML、PDF、拡張スプレッドシート、スプレッドシート・データ、デリミタ付きテキスト、デリミタ付きデータ、PostScript、RTFなど)で、任意の宛先(電子メール、Webブラウザ、WebDav、FTP、Oracle Portal、ファイル・システムなど)に、拡張性および効率に優れた方法で公開できます。

Oracle Reportsを構成するコンポーネントは次のとおりです。

- Oracle Reports Builder

Oracle Reports Servicesは、このマニュアルの中心です。これにより、エンタープライズ全体のレポートを作成するためにレポートを実行、配布および発行できます。Oracle Reports Servicesを使用してレポートをデプロイすれば、時間の節約になり、柔軟性および処理能力が向上します。これには次のコンポーネントがあります。

- Oracle Reports Bridge

- Oracle Reports Client

- Oracle Reports Runtime

- Oracle Reports Servlet

- Oracle Reports Server

Oracle Reports関連情報リソースの詳細は、「はじめに」の「関連ドキュメント」を参照してください。

1.1.1 Oracle Reports Builder

Oracle Reports Builder (rwbuilder)は、その名前が示すように、Oracle Reportsのレポート作成コンポーネントです。レポート開発者はOracle Reports Builderの設計時ユーザー・インタフェースで次の機能を使用して、レポート定義の作成やメンテナンスを行います。

- レポートの設計手順をガイドする使いやすいウィザード

- レポートでソースのデータにアクセスできるようにするプラガブル・データ・ソース(PDS): JDBCやXMLなどがあります。

- レポート・データを取得するSQL文をグラフィカルに表現するクエリー・ビルダー

- デフォルトのレポート・テンプレートとレイアウト・スタイル: 必要に応じてカスタマイズできます。

- ペーパー・レポートのレイアウトをWYSIWYGモードで変更できるライブ・エディタ

- HTMLドキュメントにカスタムJSPタグを埋め込むことでHTMLページに動的なレポート出力を追加する機能

- レポート・データをグラフィカルに表現する統合グラフ・ビルダー

- レポートの実行方法をカスタマイズするコードを生成する機能

- データに基づいてWebページを動的に生成するツール

- 標準のレポート出力フォーマット(HTML、HTMLCSS、XML、PDF、RTF、スプレッドシート、PCL、PostScript、ASCIIなど)

- JavaScriptを使用してクライアント側パラメータを検証する機能

- PL/SQLプロシージャ内で動的なSQL文を実行する機能

- Oracleデータベース・オブジェクトのサポート

- イベント・ベースのレポート(データベース・イベントに基づくレポート実行)

- レポート・セキュリティを管理したりポートレットにレポート出力を公開するためにOracle ReportsとOracle Portalをシームレスに統合する機能

詳細は、Oracle Reportsのオンライン・ヘルプ(Oracle Reports Builderで「ヘルプ」→「目次」を選択)およびOracle Reportsレポートの作成マニュアルを参照してください。

1.1.2 Oracle Reports Bridge

Oracle Reports Bridge (rwbridge)は、複数のファームにおいてReports Serverを検出する機能を実現します。詳細は、第2.3.4.1.2項「複数のサブネットにわたるサーバーの検出」を参照してください。

1.1.3 Oracle Reports Client

Oracle Reports Client (rwclient)は、リモートのReports Server (rwserver)にレポートを送信するためのコマンドライン・インタフェースを実現します。

1.1.4 Oracle Reports Runtime

rwrun (Reports Runtime)では、各自のインプロセス・サーバー(デフォルトのインプロセスReports Serverと混同しないこと)を起動してレポートを実行します。これは、rwrunプロセスと同じJVMで実行します。このインプロセス・サーバーの構成ファイルはrwbuilder.confで、トレース・ファイルはrep_machinename-rwbuilderディレクトリに保存されます。

ノート:

rwrunは、テスト目的でのみ使用することを推奨します。本番環境では、Oracle Reports Servicesの機能を最大限に活用できるように、rwservletおよびrwclientを使用します。

1.1.5 Oracle Reports Servlet

Oracle Reports Servlet (rwservlet)はOracle Reports Servicesのコンポーネントで、WebサーバーやJava EEコンテナ(Oracle WebLogic Serverなど)とReports Serverとの間で情報の変換と配布を行い、Webブラウザからレポートを動的に実行できるようにします。

1.1.6 Oracle Reports Server

Oracle Reports Server (rwserver)はOracle Fusion Middlewareのコンポーネントであり、全社規模でレポートの実行、配布および公開を行うレポート・サービスを実現します。このコンポーネントでは、ユーザー認証、スケジューリング、キャッシュ処理、レポート配布などのクライアント・リクエストが処理されます。Oracle Reports Server(一般的な呼称はReports Server)へのレポートの送信には、Oracle Reports Servlet (rwservlet)、Reports JSP、Oracle Reports Client (rwclient)などのOracle Reportsクライアントを使用します。

1.2 このリリースでの新機能

Oracle Reports 11gリリース2 (11.1.2)では、OAM統合がサポートされます。

Oracle Access Manager 11gはJavaプラットフォームのEnterprise Edition (Java EE)に基づいた、エンタープライズ・レベルのセキュリティ・アプリケーションで、機密情報へのアクセスを制限したり、認証や認可のサービスを一元化します。Oracle Reports 11gリリース2は、アクセス・クライアントとしてmod_ossoおよびwebgateを使用するシングル・サインオン・モードでOracle Access Manager (OAM)を認証サーバーとしてサポートしています。

詳細は、第16章「Oracle Single Sign-Onの構成および管理」および第14章「Oracle Reports Servicesの保護」を参照してください。

表1-1は、Oracle Reports 11gリリース2 (11.1.2)の新機能の詳細、および10gリリース2 (10.1.2)の対応機能(存在する場合)を示しています。新機能と強化機能は次のカテゴリに分類されています。

- インストールとアップグレード

- 監視と管理

- ジョブの管理とスケジュール

- セキュリティ

- 高可用性

- フォントの管理とサポート

- 配布と一括処理

- ENHANCEDSPREADSHEET出力フォーマット

- グラフ

- 診断機能

- FormsとReportsとの統合

- サーバー安定性

- サービス指向アーキテクチャ(SOA)統合: Oracle BPEL Process Manager

- Common UNIX Printing System (CUPS)をベースに強化された印刷サポート

表1-1 11gの機能と10gの機能との比較

11gの新機能および拡張機能

10gにおける同等機能

インストールとアップグレード

柔軟なインストール・タイプ:Oracle Fusion Middleware 11gのインストール・タイプには、Oracle Reports、Forms、PortalおよびDiscovererが含まれます。インストーラでは、これらの製品のいずれかを選択的にインストールしたりすべてをインストールすることができます。

11gリリース1と異なり、Oracle Fusion Middleware 11gリリース2では、インストール・タイプとしてOracle ReportsとOracle Formsのみが含まれます。Oracle PortalおよびDiscovererは含まれません。インストーラでは、これらの製品のいずれかを選択的にインストールしたりすべてをインストールすることができます。

事前定義されたインストール・タイプのみです。

バイナリのインストールが構成から分離されています。これによって、複数のサーバー間でバイナリの共有ができます。Oracle Installerでは、インストールのみ行ってから、後で構成のみを行うような別々のステップでの実行ができます。

詳細は、第3.2項「Oracle Fusion Middlewareのインストール構造の理解」を参照してください。

単一のORACLE_HOMEインストールには、バイナリと構成の両方が含まれます。

Oracle Enterprise Managerの管理画面が新たに改善されました。Oracle Enterprise Managerでは、管理操作、監視操作および診断操作の操作性がすべて強化されています。詳細は、第6章「Oracle Enterprise ManagerによるOracle Reports Servicesの管理」を参照してください。

Oracle Enterprise Manager Application Server (AS) Controlと構成ファイルの変更

10gリリース2 (10.1.2.x)からの完全自動アップグレード。詳細は、第3.6項「前のリリースからのアップグレード」を参照してください。

該当なし(N/A)

インストールの詳細は、第3章「インストールの確認」を参照してください。

関連項目: 『Oracle Fusion Middleware Oracle Portal, Forms, Reports and Discovererクイック・インストレーション・ガイド』

監視と管理

新しい機能が豊富にありカスタマイズ可能なOracle Enterprise Managerユーザー・インタフェース(次の機能に対応)

- ファーム全体およびすべてのコンポーネントが階層的に表示されるナビゲーション・ペイン

- レポート環境全体における包括的な管理、マネージメント、構成、チューニングおよび診断を行うためのOracle Reports用の新しいページ

- 監視とチューニングにおける多数のメトリック

- 起動、停止、再起動、グループ化、サーブレット、プラグイン登録などに即座にアクセスできる管理ダッシュボード

- 構成パラメータ数とカテゴリ数の大幅削減

- リアルタイム・パフォーマンスと履歴パフォーマンスに関して広範囲なメトリック

- Reports Server監査

- Oracle Internet Directoryの再関連付け

- ポータル・メタデータ・リポジトリの検出と関連付け

- Oracle Enterprise Managerからドキュメントや関連資料に直接アクセスできる機能

詳細は、第6章「Oracle Enterprise ManagerによるOracle Reports Servicesの管理」を参照してください。

Oracle Enterprise Manager Application Server (AS) Controlと構成ファイルの手動編集

新しい傾向グラフ、キーとなる統計。

初期の兆候によって一般的な問題を予測します。

該当なし

ジョブの管理とスケジュール

強化されたジョブ・キュー管理機能:Oracle Enterprise Managerにおける包括的なジョブ・キュー管理ユーザー・インタフェース(検索とフィルタ、ジョブの再送信、エラーの表示など)

基本的なジョブ・キュー用ユーザー・インタフェース

機能が豊富なカレンダベース型スケジューリング用ユーザー・インタフェース:Oracle Enterprise Managerには包括的なReports Server用ジョブ・スケジューリング機能があります。

Oracle Reports Queue Manager (rwrqm)、Oracle Portalユーザー・インタフェースまたはコマンドラインのみによりReports用ジョブ・スケジューリングが実行されます。

ジョブの管理とスケジューリングの詳細は、第6章「Oracle Enterprise ManagerによるOracle Reports Servicesの管理」を参照してください。

セキュリティ

Oracle Platform Security Servicesを介した標準ベースJava EEセキュリティ・モデル。これにより、管理がシンプルで柔軟な高パフォーマンス型セキュリティ・メカニズムを実現します。

Reports Serverの認証で使用できるのは、Oracle Internet Directoryにのみ制限されていました。Reports Serverの認可には、OracleAS Portalベースのセキュリティ・モデルが必要です(ポータル・メタデータ・リポジトリを使用して認可を確認)。

強化されたOracle Enterprise Managerユーザー・インタフェース:管理者はOracle Enterprise Managerを使用して、レポート、Webコマンドおよびフォルダへのアクセスに対して詳細なセキュリティ・ポリシーをより簡単に定義したり管理できます。

詳細は、第6章「Oracle Enterprise ManagerによるOracle Reports Servicesの管理」の第6.8項「Oracle Reports Servicesの保護」を参照してください。

ポリシーの定義に使用されるOracleAS Portalの基本UI:ハードコーティングされたWebコマンドによりOracle Reportsの生成済ロールにアクセスします。フォルダ・レベルでなくファイル(レポート)レベルでのみポリシーにアクセスします。

Reports Serverレベルにおけるディレクトリへの読取り/書込みアクセス権:レポートが処理可能な入力フォルダやReports Serverの出力が配信可能な出力フォルダを管理者は制御できます。これによってセキュリティの脆弱性がなくなります。

暫定機能としてのREPORT_RESTRICT_DIRECTORIES

データベース・プロキシ認証:プロキシ・ユーザーを使用したデータベース認証がサポートされています。

- Oracle Reportsによりデータベースに接続できるユーザーを制御することで、セキュリティが向上します。

- 単一のデータベース接続の再利用によりスケーラビリティが実現されています。

該当なし

配布宛先用のセキュリティ・チェック:セキュリティ・ポリシーを配布ジョブ用に定義できる機能です。たとえば、レポート出力がENHANCEDSPREADSHEETフォーマットに対して一括処理できないように指定するセキュリティ・ポリシーを定義できます。配布XMLファイルでENHANCEDSPREADSHEETフォーマットが指定されると、この出力フォーマットにレポートを生成しようとするとエラーが表示されます。

配布XMLファイルで指定された宛先に対してセキュリティ・チェックは実行されません。

システム・パラメータ用のセキュリティ・チェック:すべてのシステム・パラメータではセキュリティ・チェックが実行されます。レポート定義で指定されたシステム・パラメータやコマンドラインで指定されたシステム・パラメータも対象に含まれます。

システム・パラメータ用にセキュリティ・チェックは実行されません。

セキュリティ監査:Reports Serverにおいて認証と認可を監査します。

Oracle Forms Servicesからのレポート出力のセキュリティ:Oracle Forms ServicesとOracle Reports Servicesが保護されていない場合でも、中間レベル・セキュリティがサポートされており、構成は不要です。

連番に割り当てられたジョブIDに基づいてジョブIDを推測することで、すべてのユーザーが他人のレポート出力を表示できます。

セキュリティの詳細は、第14章「Oracle Reports Servicesの保護」を参照してください。

高可用性

データベースでバックアップされたジョブ・キュー・リポジトリ:データベースをジョブ・リポジトリとして使用すると、次の高可用性(HA)メリットが実現されます。

- Oracle Enterprise ManagerでReports Serverのグループ全体に対する統合ジョブを表示して、その統合ジョブに対する操作を実行する機能については、第6.15.2項「統合されたジョブ・キューの表示」を参照してください。

- ジョブがスケジュールされているReports Serverが停止した場合でも、スケジュールされているジョブは失われません。

管理者は、各Reports Serverのジョブ・キューを個別に表示する必要があります。

ジョブがスケジュールされているReports Serverが停止すると、Reports Serverが再び起動されてジョブの実行を再開するまでジョブは待機状態になります。

共有ジョブ・リポジトリおよびJavaオブジェクト・キャッシュなどのキャッシュを備えたOracle Reports Serverクラスタ。Reports Serversではジョブを管理するためにpeer-to-peerメカニズムにより通信を行い、手動による管理を最小限に抑え、ジョブを自動的にフェイルオーバーします。マスター・ジョブを処理したReports Serverが使用できない場合でも、キャッシュされている出力にアクセスします。

Oracle Reportsのキャッシュ・メカニズムを使用します。キャッシュは複数のReports Servers間では共有されません。Reports Serverのキャッシュが停止すると、キャッシュされている出力は、他のサーバーでは使用できません。

独自のクラスタリングとHAメカニズム

高可用性の詳細は、第2.5項「高可用性環境の設定」を参照してください。

フォントの管理とサポート

TrueTypeフォント(TTF)とTrueType Collections (TTC)がクロス・プラットフォームでサポートされています。UNIXにおけるレポート出力は通常、Windowsと同じであるので、クロス・プラットフォームの配布を簡単にできます。

Oracle Reportsでは、フォント・メトリックを適切なTTFファイルから読み取って、レポート出力を正しくフォーマットします。これによって、フォント・メトリックの不一致によりテキスト文字の不揃いが発生する問題がなくなります。使用可能なTTFファイルのフォントは自動的に検索されます。TTFフォント・ファイルが見つからない場合、11gより前の実装のフォント検索メカニズムが使用されます。

新しい環境変数のREPORTS_ENHANCED_FONTHANDLINGとREPORTS_FONT_DIRECTORY

UNIXとWindowsのレポート出力のフォントにおける潜在的な不一致は、WindowsとUNIXのフォント・メカニズムにおける違いが原因で発生します。フォント・エイリアシングがPDFフォント・サブセットとともに必要でした。

古いフォント・ファイル・タイプ(たとえば、AFM)がサポートされています。これらのフォント・タイプをすべてのフォントで取得するのは困難です。TTFをAFMに変換する必要がある場合がほとんどですが、これらのファイルでもWindowsにおける出力と完全に同一の出力は実現されませんでした。

PDFのすべての文字セットがサポートされています。新しいフォント・モデルにより、PDFサブセット化レポート出力で不揃いが発生しません。UNIXでPDFのUnicodeフォント・サブセットがサポートされています。

マルチバイト・レポートのみサポートされています。UNIX出力でテキスト文字の不揃いを解決するには、PFMファイルとPFAファイルの作成が必要です。AFMファイルに依存します。

可変幅フォント出力が特に問題でした。その理由としてはReportsではファイルで最初の256文字よりも後にある文字列の幅を取得できなくて、これらの文字列がすべて固定幅として扱った結果、不揃いが発生したためです。

Oracle Enterprise Managerによりフォントの管理と構成が単純になりました。Oracle Enterprise Managerを使用して、uifont.aliのエイリアシング関連エントリとサブセット化関連エントリ(グローバル・エイリアシング、PDFエイリアシング、PDFサブセット化など)、プリンタ解像度および使用対象デフォルト・フォントを変更します。

uifont.aliと構成ファイルのフォントを構成します。

PDF、パスワードによる保護、およびセキュリティ。新しいコマンドライン引数を指定して、Oracle Reportsで生成されたPDFレポートをパスワード保護します。特定の権限を抑止すると、生成されたPDFレポートのセキュリティを確保することもできます。

PDFレポートの暗号化やセキュリティ権限の指定はできません。

フォント診断機能に対応しています。フォント問題の診断ではトレースを容易に理解できるようになりました。使用されているフォントのレポート報告機能や他にもデバッグ・ツールが用意されています。

問題を診断するのは困難です。

Oracle Reportsでのフォントの詳細は、第8章「Oracle Reportsでのフォントの管理」および第10章「Oracle ReportsでのPDFの使用」を参照してください。

配布と一括処理

次のものを含めてすべての宛先と出力フォーマットに一括処理して配布する機能が完全にサポートされています。

- すべてデフォルトのプラガブル宛先

- XMLやDELIMITEDDATAなどのデータ駆動型フォーマット、および新機能のENHANCEDSPREADSHEETフォーマットなどのレイアウトベース・フォーマット

一括処理と配布では宛先と出力フォーマットが制限されています。

レポート定義においてシステム・パラメータが配布に対応しました。レポート定義で指定したDESTYPEシステム・パラメータ、DESFORMATシステム・パラメータおよびDESNAMEシステム・パラメータにおいて、配布出力が対応しました。

たとえば、次のシステム・パラメータをレポートで定義するとします。

DESTYPE=FILE、DESFORMAT=PDFおよびDESNAME=/tmp/a.pdf

配布XMLファイルまたはコマンドラインで指定する必要があるパラメータ値なしでこれらの値を使用して、レポート出力が生成され配布されます。

さらに、ユーザーがDESTYPE、DESFORMATまたはDESNAMEの値をランタイム・パラメータ・フォームで実行時に変更したり、実行時における計算に基づいてOracle Reportsによりこれらのシステム・パラメータの値を設定すると、レポートが配布される際にパラメータの値が使用されます。

レポート定義で指定されたDESTYPE、DESFORMATまたはDESNAMEのシステム・パラメータの値は配布出力では使用されません。これらのシステム・パラメータのデフォルト値を配布レポート用に変更するには、配布レポートまたはコマンドラインで指定する必要があります。

配布宛先用のセキュリティ・チェック:セキュリティ・ポリシーを配布ジョブ用に定義できる機能です。たとえば、レポート出力がENHANCEDSPREADSHEETフォーマットに対して一括処理できないように指定するセキュリティ・ポリシーを定義できます。配布XMLファイルでENHANCEDSPREADSHEETフォーマットが指定されると、この出力フォーマットにレポートを生成しようとするとエラーが表示されます。

配布XMLファイルで指定された宛先に対してセキュリティ・チェックは実行されません。

その他の改善点: 一括処理ジョブと改善された診断がサポートされるなど改善点が他にもあります。

該当なし

配布と一括処理の詳細は、第19章「拡張配布の作成」を参照してください。

ENHANCEDSPREADSHEET出力フォーマット

大きなデータセットをスプレッドシートに出力する機能のサポート:新しい出力フォーマットのENHANCEDSPREADSHEETによって、大きなデータセット(最大75,000行)およびマトリックス・レポートのサポートが大幅に強化されました。

詳細は、Oracle Reportsのオンライン・ヘルプおよび『Oracle Reportsレポート作成ガイド』を参照してください。

SPREADSHEET出力フォーマットでは大きなデータセットの出力を生成できません。

グラフ

新しいグラフ・タイプ: 新しいファンネル・グラフ・タイプと曲線グラフ・タイプで、より多様なグラフを作成できます。

該当なし

既存のグラフ・タイプに対する機能の強化:

データ・モデルに依存しないグラフ・ウィザードにおいて数値を書式設定する機能、および時間軸において不規則な時間間隔を表示する機能がサポートされています。

時間データの表示に関する制約があります。

Scalable Vector Graphic (SVG)イメージのサポート:SVGにより高い解像度を実現し、グラフ出力においてファイルのサイズが小さくなります。解像度を下げることなくグラフ・イメージの出力を拡大できます。

PNG、JPG、GIFの各出力フォーマットのみがサポートされています。

詳細は、Oracle Reportsのオンライン・ヘルプおよびOracle Reportsレポートの作成マニュアルを参照してください。

診断機能

ODL形式のログ・ファイル:すべてのOracle Reportsログ・ファイルは、Oracle Diagnostic Logging (ODL)形式に準拠します。この形式は、Oracle Fusion Middlewareにおいて、ログ形式、メッセージ・タイプおよびログ管理ディレクティブ用の標準であります。ログ・ファイルのエントリは、テキスト形式(デフォルト)またはXML形式です。Oracle Enterprise Managerからログ・ファイルの検索が簡単で効率的になります。

該当なし

より包括的になったトレース用選択肢:

- きめ細かく制御するために複数のトレース・レベルが用意されています。

- 新しいトレース・オプション: NOTIFICATION、WARNING、ERROR (Oracle Fusion Middlewareコンポーネントにおいて標準化されている)

- ファイル・サイズを制御するメカニズムである命名規則が改善されています。

該当なし

トレースビューアと検索機能の強化:Oracle Enterprise Managerを使用すると、新しいトレース・オプション、レベル、ログ・ファイル・サイズなどの指定、表示および検索がすべてできます。

トレース・オプションは構成ファイルまたはコマンドラインで指定します。

より広範囲に強化された診断機能:原因と処置によりアクション可能エラーが改善されています。また、ジョブ・レベルのトレースに対応しています。さらに、トレースがオフにされているときでもクリティカル・エラーはログに記録されます。ヘルス・チェック・メカニズムが改善され、コンテキスト対応ヘルプとエラー・メッセージ・レジストリへのハイパーリンクが用意されています。

該当なし

診断機能の詳細は、第23章「 Oracle Reportsの診断およびチューニング」(第23.3.2項「ログ・ファイル」および第23.3.7項「レポート実行のトレース」)を参照してください。

FormsとReportsとの統合

FormsとReportsの非SSOセキュリティ:Oracle Forms ServicesとOracle Reports Servicesが保護されていない場合でも、中間レベル・セキュリティがサポートされており、構成は不要です。ジョブIDは連番ではなくランダムな番号の場合があるため、他のユーザーはレポートを表示できません。この設定は任意です。

詳細は、第16.7項「Oracle Forms Servicesのセキュリティに関する考慮事項」を参照してください。

連番に割り当てられたジョブIDに基づいてジョブIDを推測することで、すべてのユーザーが他人のレポート出力を表示できます。

Oracle Forms Servicesからのプラガブル宛先のサポート:Oracle Forms ServicesからRUN_REPORT_OBJECTを使用して、Oracle Reportsに登録されたプラガブル宛先を含めてすべての宛先にレポート・リクエストを送信できます。

詳細は、第12.1.1項「Oracle Forms Servicesからのプラガブル宛先」を参照してください。

レポート・リクエストは特定の宛先にのみ送信できます。このため、新たに定義した宛先をOracle Forms Servicesからのレポート出力には使用できません。

JVMプーリング:Oracle Forms Servicesにより、すべてのOracle Reportsリクエストで共有JVMコントローラが使用されます。これによって、メモリー使用量が削減されます。

サーバー安定性

データベースでバックアップされたジョブ・キュー・リポジトリ:ジョブ・リポジトリとしてデータベースを使用することにより、Reports ServerのDATファイルの破損を防ぎ、スケジュール済ジョブが失われないようにできます。また、データベース内でのジョブの管理も容易です。

ファイル・システムをベースにしたDATファイル・リポジトリのみです。

新しいコマンドライン引数のJOBRETRY:この値を指定すると、job要素のretry属性のエントリよりも優先されます。すべての不測エラーが発生したジョブは再試行されます。詳細は、第A.6.15項「JOBRETRY」を参照してください。

失敗したジョブの再試行回数は、job要素のretry属性を使用してサーバー構成ファイルで指定できます。またはスケジュールされているジョブのコマンドラインではエンジンのクラッシュ障害の場合にのみジョブの再試行が行われます。

Reports Serverの詳細は、第2章「Oracle Reports Servicesのアーキテクチャの理解」を参照してください。

サービス指向アーキテクチャ(SOA)統合: Oracle BPEL Process Manager

Oracle BPEL Process Managerの統合:Oracle BPEL Process Managerを使用してOracle Reportsジョブをユーザーが送信することで、レポート作成要件の自動化と監視ができます。

詳細は、第17.9項「Oracle BPEL Process Managerによるレポートの実行」を参照してください。

Common UNIX Printing System (CUPS)をベースに強化された印刷サポート

CUPSのサポート

印刷サーバー上で様々なデータ形式を処理できる標準的でモジュール化された印刷システムで、Internet Printing Protocol (IPP)にも対応しています。

詳細は、第9.5項「CUPSによって強化されたLinux印刷」を参照してください。

その他

インターネット・プロトコル・バージョン6 (IPv6)のサポート

IPv6のサポートは、特に設定をしなくてもそのままで利用できます。IPv6の詳細は、http://www.ietf.org/rfc/rfc2460.txtの「Request for Comments (RFC) 2460」を参照してください。

Oracle Fusion Middleware 11gリリース2 (11.1.2)のIPv6のサポートの詳細は、『Oracle Fusion Middleware管理者ガイド』を参照してください。

2 Oracle Reports Servicesのアーキテクチャの理解

この章では、Oracle Reports Servicesのアーキテクチャとそのコンポーネントについて説明します。ここでは、Reports Server環境を設定する際の考慮事項についても概説します。

この章には、次の項があります。

- このリリースでの新機能

- Oracle Fusion Middlewareプラットフォーム

- Oracle Reports Services

- システムの設定

- 高可用性環境の設定

2.1 このリリースでの新機能

Oracle Reports 11gリリース2 (11.1.2)は、Oracle Fusion MiddlewareおよびOracle WebLogic Serverに統合されています。これによって表2-1(表1-1「11gの機能と10gの機能との比較」の一部)に示すようにアーキテクチャが強化されています。

表2-1 11gのアーキテクチャの機能と10gの機能との比較

11gの新機能

10gにおける同等機能

OAM統合。Oracle FMW 11gリリース2のOracle Reports Servicesアプリケーションでは、Oracle Access Manager (OAM) 11gサーバーを(既存のOSSO 10gサーバーとともに)シングル・サインオン・モードの認証サーバーとして使用できるようになりました。OAMサーバーには、Webシングル・サインオン、認証および認可など、セキュリティ機能がすべて用意されています。Reports Servicesの実行時はOIDをアイデンティティ・ストアとして使用します。OAMサーバーは、Oracle HTTP Serverに対して構成されるアクセス・クライアントとしてmod_ossoまたはwebgateを使用できます。

Oracle Single Sign-On (OSSO) ServerのみがユーザーのSingle Sign-Onセッションを管理します。

サーバー安定性

データベースでバックアップされたジョブ・キュー・リポジトリ:ジョブ・リポジトリとしてデータベースを使用することにより、DATファイルの破損を防ぎ、スケジュール済ジョブが失われないようにできます。また、データベース内でのジョブの管理も容易です。

ファイル・システムをベースにしたDATファイル・リポジトリのみです。

新しいコマンドライン引数のJOBRETRY:この値を指定すると、job要素のretry属性のエントリよりも優先されます。すべての不測エラーが発生したジョブは再試行されます。詳細は、第A.6.15項「JOBRETRY」を参照してください。

失敗したジョブの再試行回数は、job要素のretry属性を使用してサーバー構成ファイルで指定できます。またはスケジュールされているジョブのコマンドラインではエンジンのクラッシュ障害の場合にのみジョブの再試行が行われます。

高可用性

データベースでバックアップされたジョブ・キュー・リポジトリ:データベースをジョブ・リポジトリとして使用すると、次の高可用性(HA)メリットが実現されます。

- Oracle Enterprise ManagerでReports Serverの完全なグループに対する統合ジョブを表示して、その統合ジョブに対する操作を実行する機能。第6.15.2項「統合されたジョブ・キューの表示」を参照してください。

- ジョブがスケジュールされているReports Serverが停止した場合でも、スケジュールされているジョブは失われません。

管理者は、各Reports Serverのジョブ・キューを個別に表示する必要があります。

ジョブがスケジュールされていたReports Serverが停止すると、そのジョブが失われます。

共有ジョブ・リポジトリおよびJavaオブジェクト・キャッシュなどのキャッシュを備えたOracle Reports Serverクラスタ。Reports Serversではジョブを管理するためにpeer-to-peerメカニズムにより通信を行い、手動による管理を最小限に抑え、ジョブを自動的にフェイルオーバーします。マスター・ジョブを処理したReports Serverが使用できない場合でも、キャッシュされている出力にアクセスします。

Oracle Reportsのキャッシュ・メカニズムを使用します。キャッシュは複数のReports Servers間では共有されません。Reports Serverのキャッシュが停止すると、キャッシュされている出力は、他のサーバーでは使用できません。

独自のクラスタリングとHAメカニズム

高可用性の詳細は、第2.5項「高可用性環境の設定」を参照してください。

2.2 Oracle Fusion Middlewareプラットフォーム

Oracle Reports 11gリリース2 (11.1.2)は、Oracle Fusion MiddlewareおよびOracle WebLogic Serverに統合されています。これによって、複雑なトポロジと配布の管理がシンプルになります。次のどちらかを使用するとOracle Reportsコンポーネントの管理や監視ができます。

- Oracle Fusion Middleware付属のOracle Enterprise Manager(推奨):第6章「Oracle Enterprise ManagerによるOracle Reports Servicesの管理」を参照してください。

- Oracle Process Manager and Notification Server (OPMN)

Oracle Fusion Middlewareの全体的な概要と概念の詳細は、次のマニュアルを参照してください。

- 『Oracle Fusion Middleware Concepts』

- 『Oracle Fusion Middleware Administrator's Guide』

2.3 Oracle Reports Services

Oracle Reportsサービスは、Oracle Fusion Middlewareのレポート・パブリッシング・コンポーネントです。これは、高品質の稼働レポートを生成するためのエンタープライズ・レポート作成サービスです。これによって、任意のデータを動的に取得し、任意の形式で書式設定し、任意の場所で配布します。Oracle Reportsサービスを使用して、Webベースと非Webベースの両方の環境で公開できます。

この項では、Oracle Reports Servicesについて詳しく説明します。

- 第2.3.1項「概要」

- 第2.3.2項「Oracle Reports Servicesのコンポーネント」

- 第2.3.3項「Oracle Reports Servicesのランタイム・プロセス」

- 第2.3.4項「Oracle Reports Servicesの通信アーキテクチャ」

2.3.1 概要

拡張性と柔軟性に優れたアーキテクチャを備えるOracle Reports Servicesでは、レポート生成エンジンを同じサーバーや複数のサーバーに分散して自動的に管理します。また、同様のリクエストが発行された際に再利用できるよう、レポート出力をキャッシュします。これは、JSP、JavaサーブレットおよびWebサービスを使用する標準Web環境に統合されます。また、ローカルとリモートの両アプリケーション・サーバーでのレポート実行、およびレポート実行用に複数層アーキテクチャの実装が可能です。

Oracle Reports ServicesをJSP、JavaサーブレットまたはWebサービスと組み合せて使用すると、Webブラウザから標準的なURL構文を使用して任意のプラットフォームでレポートを実行できます。Oracle Reports Servlet (rwservlet)を実装する場合は、レスポンスが高速で管理が簡単なインプロセスReports Serverを使用できます。インプロセスReports Serverにより、複数のプロセス間における通信コストが削減され、結果的にレスポンス時間が短縮します。

Oracle Reports Servicesでは、すべてのジョブ・リクエストを1つのジョブ・キューに格納してレポートを実行するようクライアント・リクエストを処理します。いずれかのサーバーのエンジンが使用可能になると、キューで待機している次のジョブが実行されます。キューのジョブ数が増えると、サーバーはエンジンをサーバー構成で指定した最大数まで増やすことができます。同様に、指定したアイドル時間(第7章「Oracle Reports Servicesの構成」を参照)が経過するとエンジンは自動的に停止します。

Oracle Reports Servicesでは、実行中のジョブ、実行予定のジョブ、終了したジョブ、失敗したジョブなど、サーバーに送信されたすべてのジョブを追跡します。showjobsのWebコマンド(rwservletから)、Webサービスのインタフェース、Oracle Enterprise ManagerのOracle Reports Servicesページ、Reports Queue Manager (Windows)およびReports Queue Viewer (UNIX)により、ジョブのスケジューリング、キューイング、開始、終了およびエラーの時刻情報だけでなく、ジョブ出力やレポートの最終ステータスに関する情報も表示できます。

Oracle Reports Servicesのジョブ情報は永続的です。このため、Reports Serverがいったん停止してから再起動した場合は、スケジュールされたジョブだけではなく、すべてのジョブが回復されます脚注 1 。

Web環境で使用する場合、Oracle Reports Servicesのアーキテクチャは次の4つの層で構成されます。

ノート:

層という用語は、Oracle Reports Servicesアーキテクチャを構成するコンポーネントの論理場所を表します。ただし、各層を同じマシンに配置することも、異なるマシンに配置することもできます。

- クライアント層(Webブラウザ)

- Webサーバー層

- Oracle Reports Services層

- データ層(データベースおよびその他すべてのデータ・ソースを含む)

非Web環境で使用する場合は、次の3つの階層で構成されます(Webサーバーが不要になります)。

- クライアント層

- Oracle Reports Services層

- データ層(データベースおよびプラガブル・データ・ソースを含む)

クライアント・ソフトウェアは次のものになる場合があります。

- rwclient

- ブラウザ

これらの層の設定方法は、すべての階層を同一マシン上に設定する方法や各階層をすべて別のマシン上に設定する方法などがあります。また、複数のマシンに複数のWebサーバーをインストールしたり、複数のマシンに複数のアプリケーション・サーバーをインストールすることもできます。サンプル・トポロジの詳細は、『Oracle Fusion Middlewareインストレーション・プランニング・ガイド』を参照してください。

Webサーバーを複数のマシンにインストールすると、複数のOracle Fusion Middlewareインスタンスをクラスタ化してロード・バランシングを行い、可用性の高いフェイルセーフ環境を実現できます。

ノート:

HA Reports Serverからジョブをコールする際は「server=clustername」文を使用しないでください。HA Reports Serverからジョブをコールする際は、ロード・バランサを使用する必要があります。

ロード・バランシングの詳細は、『Oracle Fusion Middlewareインストレーション・プランニング・ガイド』を参照してください。エンタープライズ・デプロイメント・アーキテクチャと高可用性の詳細は、『Oracle Fusion Middleware Java EEエンタープライズ・デプロイメント・ガイド』および『Oracle Fusion Middleware高可用性ガイド』を参照してください。

Oracle Reports Servicesにより、イベント・ベースのレポートを実現します。この方法では、データベース・イベントを使用して、レポート生成を実行します。たとえば、収益レベルが特定の水位標を上回った(下回った)という変更を通知するイベントを定義できます。データベースでこの変更(イベント)が発生すると、レポートが自動的に生成されます。この機能の詳細は、第20章「イベント・ドリブンによる公開の使用」を参照してください。

Oracle Reports Servicesには、XMLを使用してレポート配布用に独自構成を定義する配布モジュールが付属しています。必要なXMLファイルをランタイム・コマンドラインまたはURLからコールしてレポートを1つ生成すれば、多様な出力と宛先の処理がサーバーにより実行されます。処理時間が大幅に短縮され、構成変更はすべてXMLファイル内で処理できます。この機能の詳細は、第19章「拡張配布の作成」を参照してください。

2.3.2 Oracle Reports Servicesのコンポーネント

図2-1 Oracle Reports Servicesのコンポーネント

図2-1は、稼動中のOracle Reports Services環境のコンポーネントを示しています。これには次のものが含まれます。

1. Oracle HTTP Server。これは、Oracle Fusion Middlewareで提供されるWebサーバーです。これには、OpenSSLモジュールが組み込まれており、Secure Sockets Layer (SSL)およびHTTP Secure Sockets Layer (HTTPS)がサポートされます。また、Javaサーブレット・アプリケーションの実行をサポートするサーブレット・エンジンも備えています。

2. モジュールmod_weblogic。Oracle HTTP Serverは、これを使用してサーブレットやJSPからのリクエストをOracle WebLogic Serverにリダイレクトします。WebLogic Serverは、JSPトランスレータ、JSPサーブレット・エンジン(OJSP)およびEnterprise JavaBeans (EJB)コンテナを備え、完全なJava EE環境を実現します。また、高速、軽量、拡張性、操作の容易性を備え完全なJava EE環境を実現します。すべてJavaで記述されており、標準のJava Development Kit (JDK)仮想マシン(JVM)上で動作します。

3. モジュールmod_osso。Oracle HTTP Serverは、これを使用してシングル・サインオン・サーバーに接続します。それにより、シングル・サインオン・サーバーがOracle Internet Directoryを使用します。

4. Oracle Reports Servlet (rwservlet)。これは、Webサーバーのサーブレット・エンジン内で実行されるOracle Reports Servicesのコンポーネントです。Oracle Reports Servlet (rwservlet)は、HTTPとReports Serverとの間で情報を変換して配布します。認証にはSingle Sign-On Serverが使用されます。Oracle Reports Servletには、次のものが含まれます。

- インプロセスReports Server。これにより、クライアントから最初のリクエストをrwservletまたはReports JSP経由で受信するたびにサーバーを自動的に起動することで、Reports Serverのメンテナンスと管理が軽減されます。

5. Custom Tag Handler。これは、JSPファイルに含まれるOracle Reportsカスタム・タグを処理します。JSPファイルでは、接頭辞のrw:によってOracle Reports関連のカスタム・タグが識別されます。これ以外の接頭辞が使用されるその他のカスタム・タグが存在することもあります。

6. Reports Server (rwserver)。これはクライアント・リクエストを処理します。この処理ではクライアント・リクエストを、セキュリティ(認証と認可)、ジョブのスケジューリング、キャッシュ処理、公開、および一括処理と配布(カスタムの宛先やプラガブル宛先への配布を含む)などの様々なサービスに割り当てます。
セキュリティ・サービスの認証は、次の方法に基づいています。

- Oracle Internet Directory

- Java Platform Security (JPS) Oracle Internet Directory

- Java Platform Security (JPS)を使用したLDAPベースのIDストア

セキュリティ・サービスの認可は、次の方法に基づいています。

- Java Platform Security (JPS) Oracle Internet Directory

- XMLファイルベース

- Portalベース

一括処理および配布サービスを使用すると、ワイヤレス、プリンタ、FTPサーバー、ポータル、WebDAV、ブラウザ、電子メールなどの多様な宛先にレポートを配布できます。公開サービスでは、PDF、HTML、XML、スプレッドシートなどの様々な出力形式でレポートが公開されます。

また、Reports Serverでは、リクエストされたレポートを生成するランタイム・エンジンを起動したり、生成されたレポートをReports Serverキャッシュから取り出したり、ジョブの準備完了をクライアントに通知します。レポート出力は、Reportsキャッシュまたは物理ディスクに保存できます。

7. Reports Serverキャッシュ。これには、完了済のジョブ出力がセキュアに格納されます。

8. Reports Engine。これには、SQLベースおよびプラガブル・データ・ソースベースのレポートを実行するコンポーネントが含まれます。リクエストされたデータをデータ・ソースから取り出したり、レポートをフォーマットしたり、出力をキャッシュに送信したり、ジョブの完了をReports Serverに通知します。Reports Engineには、テキスト、データベース、JDBC、OLAP、XML、Webサービスなどのカスタム・データ・ソースであるプラガブル・データ・ソースも組み込まれています。

9. プラガブル・データ・ソース。これは、設計時および実行時の一連のJava APIで、PDS Javaインタフェースの実装を介して多数のソースからデータを入力できるようにすることで、Reportsにオープン性が備わります。PDS機能を使用すると、開発者はSQLを介してアクセスするデータ以外にだけでなく、他の場所で使用できるデータに対しても、Reportsの集約、合計、フォーマットおよびスケジューリング機能を利用できます。

10. プラガブル・エンジンは、Java APIを使用してジョブをReports Serverに渡すカスタム・エンジンであるだけでなく、スケジューリング、配布、通知、キャッシュ処理などのサーバー機能を活用するカスタム・エンジンでもあります。Oracle Reports Servicesにより、URLエンジンと呼ばれ即座に使用できるプラガブル・エンジンを実現します。URLエンジンにより、公開URLのコンテンツを電子メール、Oracle Portal、WebDAVなどの宛先に配布できます。
図2-1には、Reports Serviceのコンポーネントの他に次の事項も示されています。

- Reports J2EEアプリケーションのWebサービス・モジュールを介したOracle Reportsとサービス指向アーキテクチャ(SOA)との統合

- Oracle FormsとOracle Reportsとの通信

- 監視、スケジューリング、セキュリティ・ポリシー、フォントの設定、構成など、タスクの管理および処理を実現するEnterprise ManagerのReports固有のモジュール

さらに、Oracle Reports Bridgeは、複数のファームにおいてReports Serverを検出する機能を実現します。Reports ServerやReports Clientが複数のファームにおいてブロードキャストするパケットのゲートウェイとして、Oracle Reports Bridgeは機能します。図2-1にはOracle Reports Bridgeのメカニズムが示されていません。詳細は、第2.3.4.1.2項「複数のサブネットにわたるサーバーの検出」を参照してください。

2.3.3 Oracle Reports Servicesのランタイム・プロセス

Oracle Reports Servicesの各種コンポーネントがレポートの実行プロセスで果たす役割は、次のとおりです。

1. クライアントは、URL (Web)を使用したり、Webを使用せずにOracle Reports関連コマンド(rwclientなど)を使用して、サーバーに接続しレポートをリクエストします。

- URLによる方法では、JSPまたはrwservletにリダイレクトされます。これはどちらもOracle HTTP Serverに関連付けされます。リクエストはmod_weblogicにリダイレクトされます(JSPとして実行されるジョブでは、mod_weblogicはOJSPを使用してJSPをサーブレットに変換します。)
URLには、cgicmd.datキー・マップ・ファイル(詳細は第17.13項「キー・マップ・ファイルの使用」を参照)内のランタイム・パラメータ構成セクションを参照するランタイム・パラメータやキーワードを含めることができます。両方を含めることもできますが、URLで明示的に指定されているパラメータがcgicmd.datの関連キーワード・セクションに存在していないことも要求されます。

- rwclientは、Reports Serverに直接リダイレクトされます。
コマンドラインには、ランタイム・パラメータを指定できます。ランタイム・パラメータが多数ある場合には、rwclientコマンドとパラメータ文字列を含むバッチ・ファイルまたはシェル・スクリプトを作成できます。

2. rwservletコンポーネントは、WebサーバーやJava EEコンテナ(Oracle WebLogic Serverなど)とReports Serverとの間で情報を変換して配布します。
Reports JSPやrwservletからのサーバー・リクエストは、インプロセスReports Serverで実行することも、スタンドアロンのReports Serverプロセス(推奨)として実行することもできます。どちらで実行する場合も、Oracle Reports Servlet (rwservlet)の構成ファイル(DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration//rwservlet.properties)で指定します。インプロセスReports Serverは、スタンドアロンのReports Serverとは異なり、クライアントからのリクエストに応答して自動的に起動するため、メンテナンスが軽減されます。インプロセスReports Serverにより、複数のプロセス間における通信が削減されます。一方、スタンドアロン・サーバーは、WebLogic Serverインスタンスからサーバー・プロセスを切り離すことで、rwservletプロセスの外部の制御を強化します。インプロセスReports Serverとデフォルトのネーミングの指定の詳細は、第7.3項「Oracle Reports Servlet構成ファイル」を参照してください。

3. Reports Serverは、次のようにリクエストを処理します。
リクエストにTOLERANCEオプションが指定されている場合は、Reports Serverがキャッシュを調べて、そのリクエストを満たす出力がすでに存在しているかどうかを判別します。キャッシュ内にリクエストを満たす出力があった場合、サーバーはレポートの再実行よりも、その出力を返すことを優先して行います。

ノート:

Reports Serverに送るジョブ・リクエストには、TOLERANCEオプションを指定できます。TOLERANCEでは、リクエストを実行したユーザーが許容できる最も古い出力を定義します。たとえば、リクエストを実行したユーザーがTOLERANCEとして5分を指定した場合、Reports Serverはキャッシュを調べて過去5分以内に生成された最新重複レポート出力を探します。EXPIRATIONオプションでは、レポート出力をキャッシュから削除する時点を定義します(たとえば、EXPIRATIONに、出力が期限切れとなる特定の日時を指定できます)。詳細は、第A.8.22項「TOLERANCE」および第A.6.6項「EXPIRATION」を参照してください。

リクエストが現在実行中のジョブと同じ場合、そのリクエストは、レポートを再実行せずに現在のジョブの出力を再利用します。

これらの条件が満たされない場合は、次のように処理が実行されます。

1. Oracle Reports Servlet (rwservlet)がSSO対応の場合、認証が確認されます。次に、セキュアなReports Serverによって、Oracle Internet Directoryを使用してユーザーが認可されます。Oracle Reports Servlet (rwservlet)がSSO対応でない場合は、セキュアなReports Serverによってユーザーの認可と認証が行われます。

2. レポートがスケジュールされていると、スケジュールされたジョブ・キューにReports Serverはリクエストを格納し、スケジュールに従ってレポートが実行されます。レポートがスケジュールされていなければ、リクエストは現在のジョブ・キューに挿入され、Reports Engineが利用可能になった時点で実行されます。

ノート:

rwserver.confでReports Serverを構成する際に、使用可能なReport Engineの最大数を指定できます。Reports Serverがその最大数を下回る場合は、ジョブをアイドル・エンジンに送信したり、新しいエンジンを起動してリクエストを処理できます。そうでない場合は、現在のOracle Reports Engineのいずれかで現在のジョブを完了するまで、リクエストの実行を待機する必要があります。

3. 実行時、Reports ServerはReports Engineを起動し、実行対象のリクエストをそのエンジンに送ります。

4. Reports Engineは、データを取り出し、フォーマットします。

5. Reports Engineは、Reports Serverキャッシュに書き込みます。

6. Reports Engineは、レポートの準備が完了したことをReports Serverに通知します。

7. URL、コマンドラインまたはcgicmd.datファイルのキーワード・セクション(URLリクエストのみ)で指定されたランタイム・パラメータに従って、Reports Serverがキャッシュにアクセスし、出力するレポートを送ります。

また、イベント・ドリブンの公開を使用してレポートを作成することもできます。イベント・ドリブンの公開では、クライアントはエンド・ユーザーではなくデータベースです。イベントは、Event-Driven Publishing APIで定義されます。イベントは、Event-Driven Publishing APIをコールするデータベース・トリガー、アドバンスト・キューイング・アプリケーションまたはPL/SQLパッケージを起動して、ジョブをReports Serverに送ります。イベント・ドリブンの公開の詳細は、第20章「イベント・ドリブンによる公開の使用」を参照してください。

Oracle BPEL Process Managerでレポートを実行する方法の詳細は、第7.10項「Oracle ReportsとOracle BPEL Process Managerとの通信の構成」を参照してください。

2.3.4 Oracle Reports Servicesの通信アーキテクチャ

Oracle Reportsでは、Borland社のVisiBrokerにかわって業界標準であるSun社のJava Developer's Kit Object Request Broker (JDK ORB)が使用されます。これによって、複数のサブネットにわたるクライアントからのReports Serverリクエストがサポートされるだけでなく、ブロードキャスト・メカニズムを使用してサブネット内外で動的にReports Serverが検出されます。

Oracle Reports 11gリリース2 (11.1.2)では、特別な設定が不要なビルトイン・ブロードキャスト・メカニズムを使用してReports Serverを動的に検出できます。Sun社のJDK ORBで実現されるCommon Object Service (COS)ネーミング・サービスのorbdを使用してもReports Serverを検出できます。

ノート:

Reports Serverの動的検出ではビルトインのブロードキャスト・メカニズムを使用することをお薦めします。次の例のように、ビルトインのブロードキャスト・メカニズムが使用環境に適さない場合にのみ、Reports Serverの検出にCommon Object Service (COS)ネーミング・サービスを使用してください。

- VPNを使用してネットワークに接続しているマシン上にOracle Reportsをインストールする場合

- ネットワーク上のブロードキャスト・トラフィックを回避する必要がある場合

namingServiceはレポート高可用性ではサポートされていません。

この項では、次の2つのReports Server検出方法について説明します。

- ブロードキャスト・メカニズムを使用したサーバーの検出

- COSネーミング・サービスを使用したサーバーの検出

ノート:

Oracle Reports 11gリリース2 (11.1.2)には、JDK ORB実装を診断するrwdiag実行可能ファイルが含まれています。rwdiagは、以前のVisiBroker実装で使用可能であったosfind機能の代用として使用できます。これにより、実行中のORBアプリケーションに関する情報や、ORB関連のネットワーク・トラフィックを記録するためのオプションが提供されます。

2.3.4.1 ブロードキャスト・メカニズムを使用したサーバーの検出

ブロードキャスト・メカニズムを使用すると、1つのサブネット内または複数のサブネットにわたってReports Serverを検出できます。

- サブネット内のサーバーの検出

- 複数のサブネットにわたるサーバーの検出

ノート:

Oracle Reportsのビルトイン・ブロードキャスト・メカニズムでは、ホスト・マシンがネットワーク内に存在する必要があります。この制約によって、ブロードキャスト・メカニズムが機能しない可能性のある例を2つ、それぞれの解決策とあわせて次に示します。

1. ホスト・マシンがネットワーク内にない(つまり、スタンドアロンである)場合。
Windowsプラットフォームでの解決策: MSループバック・アダプタをインストールします。詳細は、Microsoft社のWebサイト(http://microsoft.support.com)を参照してください。次のようにして、マシンのIPアドレスを指定します(XPまたはWindows 2000の場合)。

1. デスクトップで、マイ ネットワークの場所を右クリックし、プロパティを選択します。

2. MSループバック・アダプタを右クリックして、「プロパティ」を選択します。

3. 「プロパティ」ダイアログ・ボックスで「インターネット プロトコル (TCP/IP)」を選択して、「プロパティ」をクリックします。

4. 「次の IP アドレスを使用する」を選択して、有効なIPアドレスを入力します。「サブネット マスク」フィールドに、自動的に値が入力されます。ローカル・ホストのIP (127.0.0.1)は使用しないでください。たとえば、「198.162.1.1」と入力します。

5. 「OK」をクリックして、表示された指示に従います。

UNIXプラットフォームでの解決策: ネットワーク構成ファイル(rwnetwork.conf)のmulticast要素をnamingService要素に置き換えることで、ビルトイン・ブロードキャスト・メカニズムを無効にし、かわりにCOSネーミング・サービスを有効にするように、検出メカニズムを構成します。

2. ホスト・マシンが、VPN経由でネットワークに接続されている場合。
WindowsプラットフォームとUNIXプラットフォームでの解決策: 第2.3.4.1項「ブロードキャスト・メカニズムを使用したサーバーの検出」の説明に従って、ネットワーク構成ファイル(rwnetwork.conf)のmulticast要素をnamingService要素に置き換えることで、ビルトイン・ブロードキャスト・メカニズムを無効にし、かわりにCOSネーミング・サービスを有効にするように、検出メカニズムを構成します。

2.3.4.1.1 サブネット内のサーバーの検出

サブネット内で、接続先Reports Serverの名前を指定したパケットをクライアントはブロードキャストします。指定された名前のReports Serverがネットワーク上にある場合は、レスポンスが返されます。次に、クライアントはレスポンスを返したReports Serverに接続して、レポート・リクエストを実行します。

図2-2 サブネット内のサーバーの検出

rep_serverという名前のサーバーに対してレポート・リクエストを実行する例を次に示します。各ステップの番号は図2-2の番号に対応しています。

1. getServerRef

- Oracle Reportsクライアント(rwclient、rwservletまたはrwrqmなど)は、接続先サーバーの名前を含むパケットをブロードキャストします。この例では、パケットにrep_serverという名前が含まれます。

- ネットワーク内のrep_serverという名前のサーバーが、Interoperable Object Reference (IOR)でレスポンスを返します。

- クライアントは、このIORをオブジェクト参照に変換します。

2. runReport

- Oracle Reportsクライアントは、レポートを実行するように、リモートのオブジェクト参照にリクエストを送信します(IIOPコール)。

3. executeReport

- Reports Serverではレポートを実行して、レポートまたはステータスを返します。

2.3.4.1.2 複数のサブネットにわたるサーバーの検出

Oracle Reportsでは、セキュアでないサブネットを複数接続するOracle Reports Bridgeメカニズムが用意されています。あるサブネットで実行しているOracle Reports Bridgeが別のサブネットで実行しているOracle Reports Bridgeに接続して、Reports Serverの参照を取得します。構成の詳細は、「Oracle Reports Bridgeの構成要素」を参照してください。

図2-3 複数のサブネットにわたるサーバーの検出

rep_serverという名前のサーバーに対してレポート・リクエストを実行する例を次に示します。各ステップの番号は図2-3の番号に対応しています。

1. getServerRef

- Oracle Reportsクライアント(rwclient、rwservletまたはrwrqmなど)は、接続先サーバーの名前を含むパケットをブロードキャストします。この例では、パケットにrep_serverという名前が含まれます。

2. bridge1はパケットを傍受してbridge2に渡します。

3. registerServerRef

- bridge2はdom2でパケットをブロードキャストし、dom2のrep_serverはInteroperable Object Reference (IOR)でレスポンスを返します。

- bridge2は返されたIORをbridge1に渡し、bridge1はブロードキャスト・メカニズムを使用してこれをクライアントに渡します。

- Oracle Reportsクライアントは、このIORをオブジェクト参照に変換します。

4. runReport

- Oracle Reportsクライアントは、レポートを実行するように、リモートのオブジェクト参照にリクエストを送信します(IIOPコール)。

5. executeReport

- Reports Serverではレポートを実行して、レポートまたはステータスを返します。

ノート:

図2-3に青色で示された番号は、Oracle Reportsクライアントがdom2にあり、Reports Serverがdom1にある場合を示しています。

2.3.4.2 COSネーミング・サービスを使用したサーバーの検出

JDKで提供されるCommon Object Service (COS)ネーミング・サービスを使用して、同じサブネット内のReports Serverにアクセスしたり、セキュアでないサブネットにわたってReports Serverにアクセスしたりすることもできます。ネーミング・サービスを構成するには、第7.5.1項「ネットワークの構成要素」を参照してください。

ノート:

Reports Serverの動的検出ではビルトインのブロードキャスト・メカニズムを使用することをお薦めします。次の例のように、ビルトインのブロードキャスト・メカニズムが使用環境に適さない場合にのみ、Reports Serverの検出にCommon Object Service (COS)ネーミング・サービスを使用してください。

- VPNを使用してネットワークに接続しているマシン上にOracleAS Reports Servicesをインストールする場合

- ネットワーク上のブロードキャスト・トラフィックを回避する必要がある場合

OPMNを使用してCOSネーミング・サービスを制御するには、第7.8.1.4項「COSネーミング・サービスの指定」を参照してください。

図2-4 COSネーミング・サービスを使用したサーバーの検出

rep_serverという名前のサーバーに対してレポート・リクエストを実行する例を次に示します。各ステップの番号は図2-4の番号に対応しています。

1. registerServer

- 起動時、rep_serverは自身をネーミング・サービスに登録します。ネーミング・サービスは、サーバーを起動するために必ず稼動させておく必要があります。これで、rep_serverに対してリクエストが実行されるようになります。

2. getServerRef

- Oracle Reportsクライアントは、ネーミング・サービスに接続してserver rep_serverへの参照をリクエストします。

- ネーミング・サービスは、参照をrep_serverに返します。

3. runReport

- Oracle Reportsクライアントは、レポートを実行するように、リモートのオブジェクト参照にリクエストを送信します(IIOPコール)。

4. executeReport

- Reports Serverではレポートを実行して、レポートまたはステータスを返します。

ノート:

図2-4に青色で示された番号は、Oracle Reportsクライアントがdom2にあり、Reports Serverがdom1にある場合を示しています。

脚注の凡例

脚注 1: この場合、同期ジョブおよび現在実行中のジョブのみが消失します。

2.4 システムの設定

Oracle Reports Servicesの設定方法は、システムの要件に応じて大きく異なる場合があります。Oracle Reports Servicesを設定する前に、要件に基づいていくつかの決定を行う必要があります。事前にそのような決定を行うと、設定プロセスは非常に簡単になります。

次の各項では、これらの決定事項について説明します。

- 使用されるリクエスト・タイプの選択

- Oracle Reports Servlet、JSPまたはWebサービスの選択

- シングルマシン構成とマルチマシン構成の選択

2.4.1 使用されるリクエスト・タイプの選択

Oracle Reports Servicesは、Webベースと非Webベースの両方のジョブ・リクエストを受け入れるように構成できます。

Webベースの場合、WebブラウザでURLをクリックするか入力することでレポートを実行できます。URLに従って、レポート出力はブラウザに返されるか、プリンタなど指定された宛先に送信されます。ユーザーがブラウザからレポートを起動できるようにするには、Oracle Reports Servlet (rwservlet)またはJSPをWebサーバーで使用します。これらのコンポーネントのうちのいずれかとOracle Reports Servicesが通信し、Webクライアントからのレポート・リクエストの処理を可能にするには、そのコンポーネントがWebサーバー上に配置されている必要があります。

ノート:

詳細は、第2.4.2項「Oracle Reports Servlet、JSPまたはWebサービスの選択」を参照してください。

非Webベースの場合、各ユーザー・マシンにインストールされているrwclientコンポーネントを使用して、ジョブ・リクエストを送信できます。

構成の観点から見た、Webリクエストと非Webリクエストの有効化の重要な相違点は、次のとおりです。

- Webリクエストを有効にする場合、サーバー側でOracle Reports Servlet (rwservlet)またはJSPを選択する必要がありますが、標準Webブラウザ以外にクライアント・ソフトウェアをインストールする必要はありません。

- 非Webリクエストを有効にする場合は、リクエストの実行に使用するクライアント・ソフトウェアを各マシンにインストールする必要があります。このため、各クライアント・マシンでクライアント・ソフトウェアを管理する必要があります。
クライアント・ソフトウェアは次のものになる場合があります。

- Oracle Developer Suiteのインストール: これを使用してrwclientまたはrwrunからレポート・リクエストを送信できます。

- Oracle Reports Java EE Thin Clientなどのユーティリティ: OTN (Oracle Technology Network)で入手できます。このユーティリティは、OTNのディスカッション・フォーラムを通じてのみサポートされることに注意してください。

Webベースにすると、クライアントのメンテナンス・コストが削減されるため、最も費用効果が高くなります。ただし、非Webリクエストの実行が必要な場合もあります。Oracle Reports Servicesは、単一の実行環境でWebリクエストと非Webリクエストの両方の実装をサポートします。

2.4.2 Oracle Reports Servlet、JSPまたはWebサービスの選択

Oracle Reports ServicesをWeb環境で使用するには、Oracle Reports Servlet (rwservlet)、Reports WebサービスまたはReports JSPを使用する必要があります。

Oracle Reports Servlet (rwservlet)とReports JSPのどちらを選択するかについては、さらに検討する必要があります。JSPのみを実装すると、Web配信に適したレイアウト(Oracle Reports Web Layout)を公開できます。Oracle Reports Servlet (rwservlet)により、ペーパー・レイアウトをレポート公開ソリューションに組み込むことができ、Oracle Reports Servicesの配布機能を最大限に活用できます。

JSPファイルにはWebレイアウトとペーパー・レイアウトの両方を含めることができるため、Oracle Reports Servlet (rwservlet)を使用する場合でもJSPファイルを使用できます。JSPに格納されているレポートを実行するときは、サーブレットをURLで指定し、JSPをコマンドライン・オプションreport=myreport.jspでコールします。この場合、レポート出力はペーパー・レイアウトに基づいて作成されます。

レポート実行の詳細は、第17章「レポート・リクエストの実行」を参照してください。

2.4.3 シングルマシン構成とマルチマシン構成の選択

Oracle Reports Servicesは、Webサーバーと同じマシン上に配置できますし、異なるマシン上にも配置できます。どちらも長所と短所があります。

たとえば、Oracle Reports ServicesとWebサーバーを同じマシンに配置すると、マシンのメモリーとディスク領域の使用量が増加しますが、ネットワーク通信量は減少します。これは、Webサーバーとアプリケーション・サーバー間でやり取りするリクエストがネットワークを経由せず、受信リクエストのみがネットワークを経由するためです。

インプロセスReports Serverを使用している場合(Oracle Reports Servlet (rwservlet)を実装している場合のみ使用可能)、シングル・マシンのパフォーマンス上の利点がさらに高まる場合があります。インプロセスReports Serverにより、Oracle Reports Servicesのコンポーネント間の通信が高速になり効率化されるので、処理時間が短縮します。Oracle Reports Servlet (rwservlet)を使用せずにレポートを配布する場合を除き、インプロセスReports Serverを使用することをお薦めします。

一方、シングルマシン構成を使用している場合に、そのマシンに障害が発生すると、すべてが失敗します。

Webサーバーとアプリケーション・サーバーが別々のマシンに置かれている場合、ネットワークの通信量が増大しますが、CPU、ディスク領域、利用可能なメモリーなど、システム・リソースが増えるという利点もあります。マルチマシン構成の場合も、インプロセスReports Serverがあると、Oracle Reports Servicesのコンポーネント間の通信が高速になるので、パフォーマンスが向上します。

また、Webサーバーとアプリケーション・サーバーをそれぞれ複数のマシンに置くという方法もあります。この方法には追加構成が必要ですが、Webサーバーのロード・バランシングが可能になります。

環境切替え機能を使用すると、言語などの環境設定が異なる複数のReports Engineを同じReports Serverで起動できます。詳細は、第7.2.2項「動的な環境切替え」を参照してください。

2.5 高可用性環境の設定

11gリリース2 (11.1.2)には、第2.1項「このリリースでの新機能」の表2-1に記載されているように、多数の高可用性(HA)強化機能があります。

この項では、高可用性環境の設定について説明します。この項の内容は、次のとおりです。

- 高可用性の維持

- rwservlet.propertiesファイルの構成

- Reports Serverでの高可用性の構成

2.5.1 高可用性の維持

Oracle Fusion Middlewareは、分散トポロジに配置可能な様々なコンポーネントで構成されています。Oracle Fusion Middlewareで高可用性を可能にするために使用される基礎となるパラダイムはクラスタリングです。クラスタリングでは、Oracle Fusion Middlewareの各種コンポーネントが一定の組合せで結合され、スケーラブルな統合機能が実現されながら、個々のコンポーネントのいずれかで障害が発生した場合に備えて冗長性も実現します。

ノート:

Oracle Fusion MiddlewareでのReportsに対する高可用性の設定の詳細は、Oracle Fusion Middleware Java EEエンタープライズ・デプロイメント・ガイドおよび『Oracle Fusion Middleware高可用性ガイド』を参照してください。

2.5.2 rwservlet.propertiesファイルの構成

rwservlet.propertiesファイルを構成するには、次のステップを実行します。

1. インプロセス・サーバーの名前が一意であることを確認します。サーバー名が一意であるかどうかを確認するには、rwservlet.propertiesのserverサブ要素をチェックします。

2. rwservlet.propertiesファイルでクラスタを構成します。

<cluster clustername="ha_cluster" clusternodes="ha_server2"/>

cluster nameは、すべてのrwservlet.propertiesファイルで同じにする必要があります。Cluster nodesには、クラスタの一部であるインプロセス・サーバーの名前(現在のサーバーを除く)を指定する必要があります。複数のサーバーを指定する場合はコロンで区切ります。

3. サーブレット構成ファイルを保存します。

また、Oracle Enterprise Managerを使用してクラスタを構成する方法もあります。

1. Enterprise Managerで、「Reportsアプリケーション・ホームページ」にナビゲートします。

2. 「レポート」メニューから「システムMBeanブラウザ」を選択します。
「システムMBeanブラウザ」ページが表示されます。

3. 左のコンテンツ・ペインで、「アプリケーション定義のMBeans」から、「oracle.reportsApp.config」→「サーバー: WLS_REPORTS」→「アプリケーション: reports」→「ReportsApp」の順に展開します。

4. リストから「rwservlet」を選択します。
「アプリケーション定義のMBean: ReportsApp:rwservlet」ページが表示されます。

5. 「操作」タブをクリックします。

6. 「addCluster」を選択します。
「操作: addCluster」ページが表示されます。

7. 「クラスタ名」フィールドおよび「ノード」フィールドに有効な値を入力します。

8. 「起動」をクリックします。

rwservlet.propertiesファイルの詳細は、第7.3.1.1項「rwservlet」を参照してください。

2.5.3 Reports Serverでの高可用性の構成

データベースをジョブ・リポジトリとして使用してReports Serverで高可用性を構成するには、インスタンスごとに次のステップを実行します。

1. すべてのReports Serverのrwserver.confファイルで、すべてのインスタンスのインプロセスReports Serverに対してデータベース・ジョブ・リポジトリを構成します。
11gリリース2 (11.1.2)では、サーバー構成ファイルがrwserverconf.xsdファイル(第7.2.1項「Reports Serverの構成要素」を参照)に対応している必要があります。したがってサーバー構成ファイル内でエントリが出現する順序がランダムではなくなり、XSDによって決定されることになりました。このため、サーバー構成ファイルの<connection>要素の直前に次の要素を追加する必要があります。

<jobRepository>
<property name="dbuser" value="dbuser"/>
<property name="dbpassword" value="csf:reports:dbpasswdKey"/>
<property name="dbconn" value="dbconn"/>
</jobRepository>

資格証明ストアにパスワード・キーを追加する方法の詳細は、第14.1.4項「資格証明ストア」を参照してください。

2. サーバー構成ファイルを保存します。
また、Oracle Enterprise Managerを使用してデータベース・ジョブ・リポジトリを構成する方法もあります。

1. Enterprise Managerで、「Reportsアプリケーション・ホームページ」にナビゲートします。

2. 「レポート」メニューから「管理」→「拡張構成」を選択します。
「Reportsアプリケーション拡張構成」ページが表示されます。

3. 「詳細構成」ページで、「ジョブ・リポジトリ」コンテンツ・ペインを探します。

4. 「ジョブ・リポジトリDBを有効にします」チェック・ボックスを選択します。

5. 「ユーザー名」、「パスワード・キー」および「データベース」の各フィールドに有効な値を入力します。

6. 「適用」をクリックします。

3. すべてのインスタンスがアクセスする(読取りアクセス権だけでなく書込みアクセス権も必要)フォルダを構成するために、各サーバー構成ファイルの<cache>要素にCacheDirプロパティまたはJOCCacheDirプロパティを追加します。
例:

Windowsの場合:

<property name="JOCCacheDir" value="folder_name"/>
<property name="CacheDir" value="folder_name"/>

UNIXの場合:

<property name="JOCCacheDir" value="/net/machine_name/usrs/tmp"/>
<property name="CacheDir" value="/net/machine_name/usrs/tmp"/>

この場合、「/usrs/tmp」は、Reports Serverが複数のマシンで実行されているときに書込み権限を持つ場合の共有の場所です。

ノート:

- JOCCacheDirとともにCacheDirを高可用性に使用すると、キャッシュの共有もできます。

- 複数のインプロセスReports Serverが別々のマシンで稼働している場合、他のマシンやユーザーとフォルダを共有することで構成ができます。たとえばWindowsでは、各サーバー構成ファイルの<cache>要素に次のプロパティを追加することで、両方のインプロセスReports Serverの共有キャッシュを構成します。

<property name="JOCCacheDir" value="\\host\shared"/>

ここで、hostは共有フォルダがあるマシン、sharedはフォルダ名です。

また、Oracle Enterprise Managerを使用してJOCキャッシュ・ディレクトリの値を指定することもできます。

1. Enterprise Managerで、「Reportsアプリケーション・ホームページ」にナビゲートします。

2. 「レポート」メニューから「管理」→「拡張構成」を選択します。
「Reportsアプリケーション拡張構成」ページが表示されます。

ノート:

JOCキャッシュ・ディレクトリを初めて追加するときは、システムMBeanブラウザを使用できます。

Enterprise Managerの「高可用性パラメータ」セクションが表示されるのは、サーバーがHAクラスタに属し、インプロセス・サーバーが実行している場合のみです。

3. コンテンツ・ペインで、「高可用性パラメータ」セクションを探します。

4. 「クラスタ・キャッシュ・ディレクトリ」フィールドに有効なフォルダ名を入力します。

5. 「適用」をクリックします。

JOCCacheDirプロパティとCacheDirプロパティ(Oracle Reports 11gリリース2 (11.1.2)の新機能)の詳細は、第7章「Oracle Reports Servicesの構成」を参照してください。

4. rw_server.sqlファイルをデータベースにロードします(このファイルは、Oracle Reports ServicesインストールのORACLE_HOME\reports\admin\sql)にある
これによって、レポートのキュー情報を所有し、サーバーのキューAPIに対して実行権限を持つスキーマが作成されます。

5. Reports Serverを再起動します。

6. シェルで環境変数TNS_ADMINおよびORACLE_HOMEを設定し、ノード・マネージャ($FMW_HOME/wlserver_10.3/server/bin/startNodeManager.sh)を起動します。これは、Reportsインプロセス・サーバーからデータベースへの接続に必要です。詳細は、「TNS_ADMIN」を参照してください。
Oracle WebCacheは、ロード・バランサとして使用できます。詳細は、Oracle Fusion Middleware Oracle Web Cache管理者ガイドを参照してください。

注意:

rwclientはレポート高可用性ではサポートされていません。

レポート高可用性ではnamingServiceはサポートされていません。Reportsの高可用性の詳細は、『Oracle Fusion Middleware高可用性ガイド』を参照してください。

2.5.3.1 Oracle Enterprise Managerでの高可用性の構成

Oracle Enterprise Managerの2つの異なるドメイン間で高可用性を設定する場合は、Enterprise Managerの設定を構成する必要があります。これによって、両方のドメインからすべてのサーバーのデータへのアクセスが可能になります。

1. Enterprise Managerで、「ドメイン・ホーム」ページにナビゲートします。

2. 「WebLogicドメイン」メニューから「セキュリティ」→「資格証明」を選択します。

3. 「レポート」マップを選択して、EMServerPasswordKeyを編集し、パスワードを入力します。

4. この1から3のステップを他のドメインでも実行して、同じパスワードを入力します。

5. 両方のドメインでEnterprise Managerエージェントを再起動します。
各ドメインのORACLE_INSTANCE/binは、次のとおりになります。

./opmnctl stopproc ias-component=<emagent_name>
./opmnctl startproc ias-component=<emagent_name>
./opmnctl restartproc ias-component=<emagent_name>

6. 両方のドメインでReports Serverを再起動します。

両方のドメインでEnterprise Manager設定の構成を完了すると、Enterprise ManagerコンソールによってすべてのHAサーバーのジョブ・キュー内のジョブの監視および管理が実行されます。

3 インストールの確認

Oracle Reports 11gリリース2 (11.1.2)をインストールしたら、この章の各項を一読し、Oracle Reports Servicesを使用していつでもレポートを公開できることを確認してください。

- このリリースでの新機能

- Oracle Fusion Middlewareのインストール構造の理解

- すぐに使用できるインストールの確認

- Reports Server環境の確認

- Oracle Portalベース・セキュリティによるセキュリティの確認

- 前のリリースからのアップグレード

- RWbuilderへのアクセス権限の付与

3.1 このリリースでの新機能

Oracle Reports 11gリリース2 (11.1.2)は、表3-1(表1-1「11gの機能と10gの機能との比較」の一部)に示すように、インストール機能とアップグレード機能が強化されています。

表3-1 11gのインストール機能と10gの機能との比較

11gの新機能

10gにおける同等機能

柔軟なインストール・タイプ。Oracle Fusion Middleware 11gのインストール・タイプには、Oracle Reports、Forms、PortalおよびDiscovererが組み込まれています。インストーラでは、これらの製品のいずれかを選択的にインストールしたりすべてをインストールすることができます。

事前定義されたインストール・タイプのみです。たとえば、Oracle Reportsのみのインストールや、Oracle ReportsとOracle Portalのみのインストールはできません。

バイナリのインストールが構成から分離されています。これによって、複数のサーバー間でバイナリの共有ができます。Oracle Installerでは、インストールのみ行ってから、後で構成のみを行うような別々のステップでの実行ができます。

詳細は、第3.2項「Oracle Fusion Middlewareのインストール構造の理解」を参照してください。

単一のORACLE_HOMEインストールには、バイナリと構成の両方が含まれます。

Oracle Enterprise Managerの管理画面が新たに改善されました。Oracle Enterprise Managerでは、管理操作、監視操作および診断操作の操作性がすべて強化されています。詳細は、第6章「Oracle Enterprise ManagerによるOracle Reports Servicesの管理」を参照してください。

Oracle Enterprise Manager Application Server (AS) Controlと構成ファイルの変更

10g リリース2 (10.1.2)から完全自動でアップグレードされます。

詳細は、第3.6項「前のリリースからのアップグレード」を参照してください。

該当なし(N/A)

3.2 Oracle Fusion Middlewareのインストール構造の理解

以前のリリースでは、Oracle Reports Servicesは1つのOracleホーム(ORACLE_HOME)にインストールされ、すべてのファイル(バイナリ・ファイルおよび構成ファイル)がそこに配置されていました。Oracle Fusion Middleware 11gリリース2 (11.1.2)で導入されたオプションにより、インストール先をOracleホーム(ORACLE_HOME)とOracleインスタンス(ORACLE_INSTANCE)に分割してバイナリと構成を分離し、複数のサーバー間でバイナリを共有できます。

Oracle Fusion Middlewareの新規インストール・オプションには、次のような長所があります。

- ORACLE_HOMEにバイナリ・ファイルが配置されるので、これらのファイルを複数のORACLE_INSTANCEにおいて共有できます。これによって、各ORACLE_INSTANCEのフットプリントが削減され、管理が容易になります。

- パッチを適用したりバイナリのORACLE_HOMEをメンテナンスする作業が簡単になり、再構成する必要はありません。

- 各ORACLE_INSTANCEのインストールが簡単になりスリムになります。

- バックアップ、リストアおよびクローニングが簡単になります。

- Reportsのみのインストールがサポートされています。

新しいOracleインスタンスの作成方法など、新しいインストール構造の詳細は、『Oracle Fusion Middleware管理者ガイド』を参照してください。

3.3 すぐに使用できるインストールの確認

Oracle Reportsコンポーネントはすぐに使用できる(OOTB)ように作成されており、インストールと構成を行ったら、次の方法で使用できます。

- Oracle Enterprise Managerの使用

3.3.1 Oracle Enterprise Managerの使用

Oracle Enterprise ManagerでOracle Reportsコンポーネントの管理や表示を行うには、次のページにナビゲートします。

- 「Reports Serverホームページ」、「基本構成」ページおよび「拡張構成」ページ

- 「Forms Reports共通コンポーネント構成」ページ

- 「Reportsツール・コンポーネント構成」ページ

- Reports新規ジョブ・スケジューリング・ページ

- 「Reportsブリッジ・ホームページ」および各構成ページ

- 「Reportsアプリケーション・ホームページ」、「基本構成」ページおよび「拡張構成」ページ

- Reportsセキュリティ・ポリシー・ページ

- 「Reportsセキュリティ構成」ページ

- Reportsログ構成ページ

- 「Reportsジョブ」ページ(「終了」/「スケジュール済」/「現行」/「長時間実行中」/「失敗」)

これらのページを使用して、チェックと確認、スタンドアロンReports Serverの起動と停止、およびrwservletとインプロセスReports Serverによるレポートの実行を行います。

詳細は、第6章「Oracle Enterprise ManagerによるOracle Reports Servicesの管理」を参照してください。

3.4 Reports Server環境の確認

Oracle Reports Servicesレポート・リクエストは、Oracle HTTP ServerコンポーネントからOracle Reports Servletを経由してReports Serverに転送されます。レポート・リクエストをReports Serverに送信する前に、環境が稼動中であることを確認します。

- Oracle HTTP Serverのチェック

- Oracle Reports Servletのチェック

- Reports Serverのチェック

3.4.1 Oracle HTTP Serverのチェック

Oracle Enterprise ManagerによりReports Serverを起動する前に、Oracle HTTP Serverが実行されていることを確認する必要があります。Oracle Enterprise Managerにおいてこの作業を実行する方法の詳細は、Oracle Enterprise Managerのドキュメントを参照してください。

または、次のURLにナビゲートすることでも、Oracle HTTP Serverが実行されていることを確認できます。

http://server_name.domain:port_number/

3.4.2 Oracle Reports Servletのチェック

Oracle Reports Servlet (rwservlet)が実行されていることを確認するには、次のURLにナビゲートします。

http://host:port/reports/rwservlet/help

説明:

hostは、割り当てられているサーバーです。

portは、OHSポートか、WebLogic Serverポートのいずれかになります。

Single Sign-On環境で認証サーバーとしてOracle Access Manager 11g (OAM)を使用している場合に、Reports URLでAUTHIDが渡されると、OAM認証ページが表示されます。

URLは、大文字と小文字を区別することに注意してください。このURLが正常に実行されると、rwservletコマンドライン引数を説明するヘルプ・ページが表示されます。

3.4.3 Reports Serverのチェック

Reports Serverが実行されていることを確認するには、次のURLにナビゲートします。

http://host:port/reports/rwservlet/getserverinfo?server=server_name

説明:

hostおよびportの詳細は、第3.4.2項「Oracle Reports Servletのチェック」を参照してください。

Oracle Reports Servlet構成ファイル(rwservlet.properties )で指定されているReports ServerまたはデフォルトのReports Server名(rep_machine_name)を使用している場合、server=server_nameは必要ありません。

このURLが正常に実行されると、指定したReports Serverのジョブ・キューのリストが表示されます。

ノート:

Oracle Reports Servlet構成ファイル(rwservlet.properties)の詳細は、第7.3項「Oracle Reports Servlet構成ファイル」を参照してください。

3.5 Oracle Portalベース・セキュリティによるセキュリティの確認

Oracle Reportsのインストール時に、ポリシー・ストアとして使用するLDAPサーバー(Oracle Internet Directoryを含む)を指定できます。次のいずれかの方法で、セキュリティが有効にされていることを確認します。

- Oracle Enterprise Managerの使用

- コマンドラインの使用

3.5.1 Oracle Enterprise Managerの使用

Oracle Enterprise Managerで、「レポート」→「管理」→「拡張構成」を選択して、Reports Server拡張構成ページを表示します。

- 「Reportsセキュリティ」領域で「セキュリティの有効化」チェック・ボックスを選択します。

3.5.2 コマンド行の使用

コマンドラインで次のディレクトリにナビゲートしてインプロセスReports Server構成ファイルを開き、RWJAZNセキュリティにより構成されていることを確認します。

DOMAIN_HOME/config/fmwconfig/servers/WLS_REPORTS/applications/reports_version/configuration

構成ファイルに「<security id="rwSec" class="oracle.reports.server.RWSecurity"/>」が存在していれば、RWSecurityが有効化されていることが確認できます。

3.6 前のリリースからのアップグレード

- Oracle Reports 11gリリース1から11gリリース2にアップグレードできます。Oracle Reports 11gリリース1からOracle Reports 11gリリース2へのアップグレードの詳細は、『Oracle Fusion Middleware Oracle Forms and Reportsアップグレード・ガイド』を参照してください。

- Oracle Reports 10.1.2.xから11gリリース2 (11.1.2)へのアップグレードは、すべて自動化されています。

- Oracle Fusion Middlewareアップグレード・フレームワークに統合する機能

- 自動化された構成縮小マッピング

- ロギングおよび診断の強化

- 機能喪失の防止

3.6.1 下位互換性および相互運用性

Oracle Reports 11gリリース2 (11.1.2)は、10.1.2.xに対して完全な下位互換性および相互運用性があります。

- 10.1.2.xのサーバーとクライアントは、11gリリース2 (11.1.2)のサーバーとクライアントと互換性あります。

ノート:

相互運用性のシナリオでは、パッチ7597820をインストールする必要があります。このパッチは、次のURLからダウンロードできます。

http://updates.oracle.com/download/7597820.html

2つのリリース間でジョブ・ステータス情報で発生したCORBA IDLの変更を処理するには、このパッチが必要です。Reports 10gリリース2 (10.1.2.3)のrwservletをReports 11gリリース(11.1.1)サーバーで使用する場合は、10.1.2.3のインストールでこのパッチを確実にインストールしてください。このパッチは、http://support.oracle.comからダウンロードできます。

- 10.1.2.xのレポートは、機能を変更したり失うことなく実行できます。

- Oracle PortalとOracle Internet Directoryベースのセキュリティは、最新Java EEセキュリティとともにサポートされます。

- 10.1.2.xのツールキットベースのフォント・モデルは、最新Javaベースのフォント・モデルとともにサポートされます。

- 10.1.2.xのOracle Forms Services、Oracle PortalおよびOracle Internet Directoryとの相互運用性がサポートされています。

3.7 RWbuilderへのアクセス権限の付与

Oracle Reportsコンポーネントをインストールしたユーザーは、デフォルトでそれらにアクセスできます。他のユーザーにrwbuilderの実行を許可するには、コマンド・プロンプトで次のコマンドを実行します。

chmod 750 $ORACLE_HOME/bin
chmod 750 $ORACLE_HOME/bin/rwbuilder
chmod 750 $COMMON_COMPONENTS_HOME/modules/oracle.dms_11.1.1/*.jar
chmod 750 $COMMON_COMPONENTS_HOME/modules/oracle.odl_11.1.1/*.jar
chmod 750 $ORACLE_INSTANCE
chmod 750 $ORACLE_INSTANCE/bin
chmod 750 $ORACLE_INSTANCE/config
chmod 750 $ORACLE_INSTANCE/config/reports
chmod 750 $ORACLE_INSTANCE/config/reports/bin
chmod 750 $ORACLE_INSTANCE/config/reports/bin/*
chmod 750 $ORACLE_INSTANCE/config/FRComponent
chmod 750 $ORACLE_INSTANCE/config/ReportsToolsComponent
chmod 750 $ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools
chmod 750 $ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools/*
chmod 770 $ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools/rwbuilder.conf
chmod 750 $ORACLE_INSTANCE/reports
chmod 750 $ORACLE_INSTANCE/reports/reports_install.properties
chmod 750 $DOMAIN_HOME/servers/WLS_REPORTS/tmp/_WL_user/
chmod 770 $DOMAIN_HOME/servers/WLS_REPORTS/tmp/_WL_user/reports_<version>/
chmod 770 $DOMAIN_HOME/servers/WLS_REPORTS/tmp/_WL_user/reports_<version>/<random_name>/war
chmod 750 <the directory that is mentioned in REPORTS_TMP>

それによって、$ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools/logging.xml内でruntime_trace_handlerおよびzrcclient_trace_handlerの「path」プロパティを変更して、ユーザーが読取りと書込みができる場所にログの場所を変更できます。

4 相互運用性のシナリオおよび考慮事項

この章では、Oracle Reports 11gリリース2 (11.1.2)の相互運用性のシナリオと考慮事項について説明します。

内容は次のとおりです。

- 以前のバージョンのOracle Reportsとの相互運用性

- その他のOracleコンポーネントとの相互運用性

4.1 以前のバージョンのOracle Reportsとの相互運用性

Oracle Reports 11gリリース2 (11.1.2)は、Oracle Reports 10.1.2.3との相互運用が可能です。Oracle Reports 10.1.2.3クライアントをOracle Reports 11gリリース2 (11.1.2)サーバーとともに使用する場合は、パッチをインストールする必要があります。この相互運用性シナリオとパッチの要件の詳細は、『Oracle Fusion Middlewareリリース・ノート for Microsoft Windows』を参照してください。

4.2 その他のOracleコンポーネントとの相互運用性

Oracle Reports 11gリリース2 (11.1.2)は、Oracle Portal、Oracle Internet Directory、Oracle Forms、OracleAS Single Sign-On (SSO)、Oracle BPEL Process Manager、Oracle Application Server WebCacheなどの他のOracleコンポーネントと相互運用できます。

次のような相互運用性シナリオがあります。

- Oracle Reports 11gリリース2 (11.1.2) ServerおよびServletと、Oracle Portal 10.1.4

- Oracle Reports 11gリリース2 (11.1.2) ServerおよびServletと、Oracle Internet Directory 10.1.4.3

- Oracle Reports 11gリリース2 (11.1.2) Serverと、Oracle Forms 10.1.2.3クライアント

- Oracle Reports 11gリリース2 (11.1.2)と、Oracle Portal 11gリリース2 (11.1.2)

- Oracle Reports 11gリリース2 (11.1.2)と、Oracle Internet Directoryリリース1 (11.1.1)およびOracle Single Sign-on 10.1.4.3

- Oracle Reports 11gリリース2 (11.1.2) Serverと、Oracle Forms 11gリリース2 (11.1.2)

- Oracle Reports 11gリリース2 (11.1.2) Serverと、Oracle BPEL Process Manager 11gリリース2 (11.1.2)

- Oracle Reports 11gリリース2 (11.1.2)と、Oracle WebCache 11gリリース2 (11.1.2)

- Oracle Internet Directory 11gリリース2 (11.1.2)を使用するOracle Reports 10.1.2と、Oracle Single Sign-on 10.1.4.3

- Oracle Internet Directory 10.1.2.3を使用するOracle Reports 11gリリース2 (11.1.2)と、Oracle Single Sign-on 10.1.2.3

詳細は、次を参照してください。

- Oracle Fusion MiddlewareのOracle Portal、Forms、ReportsおよびDiscovererに関するアップグレード・ガイド

- 『Oracle Fusion Middleware Oracle Portal, Forms, Reports, and Discovererクイック・インストレーション・ガイド』

5 Oracle Reports Servicesの起動と停止

この章では、Oracle Reports Servicesの起動および停止について説明します。ここには主に次のような項があります。

- Reports Serverの起動と停止

- Oracle Reports Bridgeの起動と停止

- インスタンス停止後のReportsコンポーネントの起動

- COSネーミング・サービスの起動と停止

- Oracle Enterprise ManagerによるOracle Reportsコンポーネントの起動、停止および再起動

- Oracle Reports ServletによるインプロセスReports Serverの起動と停止

- Oracle HTTP Serverが実行されていることの確認

- Reports ServletおよびReports Serverが実行されていることの確認

ノート:

この章の各例で使用されているORACLE_HOMEは、Oracle Fusion Middlewareがインストールされている場所を示しています。これには、Oracle Reports Servicesが含まれます。

5.1 Reports Serverの起動と停止

Reports Serverを実行する方法としては、Oracle Process Manager and Notification Server (OPMN)の使用をお薦めします。OPMNにより、Oracle HTTP Server、Oracle WebLogic ServerプロセスおよびOracleAS Reports Servicesの初期化、メンテナンスおよび停止を一元化したメカニズムが実現されます。OPMNによりReports Serverを構成する方法の詳細は、第7.8項「Oracle Process Manager and Notification ServerおよびOracle Enterprise ManagerによるReports Serverの構成」を参照してください。

重要:

Oracle Enterprise Managerに登録しているReports Serverの起動や停止は、必ずOracle Enterprise Manager 11gまたはOPMNを介して実行してください。なんらかの理由でReports Serverが応答しなくなった場合、OPMNでは自動的に再起動を行います。Windowsでは、OPMNをWindowsサービスとして実行します。

Oracle Reportsでは、Reports ServerをWindowsサービスとして実行する方法がサポートされなくなりました(rwserver -install server_name)。これにより、関連するコマンドライン・キーワードINSTALLおよびUNINSTALLの使用が廃止されています。Windowsサービスとして実行しているOPMNまたはコマンドラインによってReports Serverを管理している場合、Reports Serverの起動や停止を行うと次の問題が発生することがあります。

- Oracle Enterprise Managerで、Reports Serverのステータスおよびメトリックの情報が正確に反映されないことがあります。

- Reports Serverの起動や停止を行うと、Oracle Enterprise Manager 11gでエラーが表示される場合があります。

WindowsサービスとしてReports Serverを実行する方法の廃止の詳細は、OTN (Oracle Technology Network)にある『A Guide to Functional Changes Between Oracle Reports 6i and 10g』を参照してください。

5.1.1 Oracle Enterprise ManagerからのReports Serverの起動、停止および再起動

OPMNによってスタンドアロンのReports Serverが構成されている場合、Oracle Enterprise Managerにより起動、停止および再起動ができます。

ノート:

wls_reportsの一部として使用可能なインプロセス・サーバーは、Oracle Application Serverのインストール時にOracle Enterprise Managerに登録されます。Oracle Application Serverをインストールした後でReports Serverを追加する場合、Oracle Enterprise Managerのtargets.xmlファイルおよびOracle Process Manager and Notification Serverのopmn.xmlファイルに新しいサーバーを登録する必要があります。詳細は、第7.8項「Oracle Process Manager and Notification ServerおよびOracle Enterprise ManagerによるReports Serverの構成」を参照してください。

Reports Serverを起動、停止または再起動する手順は、次のとおりです。

1. Report Serverのメイン・ページから、「レポート」→「制御」メニューにナビゲートし、次のように選択します。

- サーバーを起動する場合は、「起動」を選択

- サーバーを停止する場合は、「停止」を選択

- サーバーを再起動する場合は、「再起動」を選択

5.1.2 Oracle Process Manager and Notification ServerからのReports Serverの起動、停止および再起動

Oracle Process Manager and Notification (OPMN)でOracle Reports Serverを起動する前に、次の例に示すように、サーバーをOPMNに追加しておく必要があります。

ORACLE_INSTANCE/bin/opmnctl createcomponent -adminUsername weblogic -adminHost <host_name> -adminPort <port> -oracleHome <oracle_home -oracleInstance <instance_home> -instanceName <instancename> -componentName <bridge_name> -componentType ReportsServerComponent

Reports ServerがOracle Process Manager and Notification Serverで構成されている場合、次のコマンドラインを使用して、Reports Serverの起動、停止および再起動ができます。

ORACLE_INSTANCE/bin/opmnctl startproc ias-component=reports_server_name
ORACLE_INSTANCE/bin/opmnctl startproc process-type=ReportsServerComponent
ORACLE_INSTANCE/bin/opmnctl stopproc ias-component=reports_server_name
ORACLE_INSTANCE/bin/opmnctl restartproc ias-component=reports_server_name

Reports Serverの名前は、opmn.xmlファイル内のias-component idにある名前と一致している必要があります。

Oracle Process Manager and Notification Serverのステータスを問い合せるには、次のコマンドを使用します。

ORACLE_INSTANCE/bin/opmnctl status

Oracle Process Manager and Notification ServerによりReports Serverを構成する方法の詳細は、第7.8項「Oracle Process Manager and Notification ServerおよびOracle Enterprise ManagerによるReports Serverの構成」を参照してください。

5.1.3 Reports Serverを起動および停止するその他の方法

Reports ServerをOPMNから実行しないで、Oracle Enterprise Managerを使用して管理する場合、以前からある次の方法でReports Serverを実行できます。

- インプロセス・サーバーの起動(WindowsおよびUNIX)

- コマンドラインからのReports Serverの起動(WindowsおよびUNIX)

- Reports Serverの停止

重要:

前述のとおり、Oracle Reports 10gリリース2 (10.1.2)から、WindowsサービスとしてのReports Serverの実行はサポートされなくなりました。

5.1.3.1 インプロセス・サーバーの起動(WindowsおよびUNIX)

Reports Serverをインプロセス・サーバー(デフォルトの構成)として使用している場合、レポート実行リクエストを送信するとインプロセス・サーバーが起動されます。ただし、コマンドラインを介してリクエストを送信する場合、最初にレポート実行URLまたはWebコマンドURLを使用してサーブレットを起動する必要があります。サーブレットの起動に成功した場合は、インプロセス・サーバーの起動も成功したことになります。

URLからインプロセス・サーバーを直接起動するには、Webブラウザで次のように入力します。

http://your_machine_name:your_port_num/reports/rwservlet/startserver

5.1.3.2 コマンドラインからのReports Serverの起動(WindowsおよびLinux)

Reports Serverをコマンドラインから起動する際は、事前にCOMPONENT_CONFIG_DIRECTORY環境変数を次のように設定しておく必要があります。

COMPONENT_CONFIG_DIRECTORY=ORACLE_INSTANCE/config/ReportsServerComponent/<Reports Server名>

WindowsでReports Serverをスタンドアロン・サーバーとして起動するには、次のコマンドを使用します。

rwserver server=server_name

サーバーを起動する際に、ダイアログ・ボックスやメッセージを表示しない場合は、コマンドライン・キーワードBATCHを追加します。

rwserver server=server_name batch=yes

UNIXでは、次の構文を使用してこのコマンドを実行できます。

rwserver.sh server=server_name

または

rwserver.sh server=server_name batch=yes

ノート:

コマンドラインからReports Serverを起動する前に、Reports Serverがまだ存在しない場合は作成してください。Reports Serverの作成の詳細は、第7.8.2項「新規Reports Serverの作成」を参照してください。

重要:

DISPLAYが設定されていない場合、Reports Serverをバッチ・モード(batch=yes)で起動する必要があります。

UNIXにおいてDISPLAYおよびプリンタ依存性を解消する方法の詳細は、第9.8項を参照してください。

REPORTS_DEFAULT_DISPLAY環境変数の詳細は、付録Bを参照してください。

シェル・スクリプトがPATH環境変数でアクセスできれば、このコマンドは任意のディレクトリから実行できます。

5.1.3.3 Reports Serverの停止

WindowsおよびUNIXでReports Serverを停止するには、次のようにいくつかの方法があります。

- Windowsでrwserver実行可能ファイルを使用してReports Serverを実行している場合や、UNIXでシェル・スクリプトのrwserver.shを使用してReports Serverを実行している場合は、「Reports Server」ダイアログ・ボックスの「停止」をクリックします。

- コマンドラインを使用せずにReports Serverを実行している場合は、Oracle Enterprise Managerを起動して、Reports Serverのホーム・ページにナビゲートし、「レポート」メニューから「制御」→「停止」を選択します。

- Reports Servletを介してReports Serverをインプロセス・サーバーとして実行している場合は、次のURLを発行します。

http://your_host_name:port_number/reports/rwservlet/stopserver?authid=admin user/admin password

- WindowsまたはUNIXでReports Serverをコマンドラインから実行している場合は、Reports Serverの停止方法に応じて、次のいずれかのコマンドを使用します。

ノート:

UNIXでは、rwserverのかわりにrwserver.shを使用します。

サーバーを停止する際は、COMPONENT_CONFIG_DIRECTORY環境変数を次のように設定しておく必要があります。

COMPONENT_CONFIG_DIRECTORY=ORACLE_INSTANCE/config/ReportsServerComponent/<Reports Server名>

サーバーを正常に停止(保留中のジョブを終了してから停止)するには、次のコマンドを実行します。

rwserver server=server shutdown=normal authid=username/password

サーバーをただちに停止(保留中のジョブを終了せずに停止)するには、次のコマンドを実行します。

rwserver server=server shutdown=immediate authid=username/password

関連メッセージを表示せずにサーバーを停止するには:

rwserver server=server shutdown=normal authid=username/password batch=yes

rwserverコマンドで使用されるキーワードの詳細は、付録A「コマンドライン・キーワード」を参照してください。

ノート:

authidは、Reports Serverの管理ユーザー名およびパスワードです。Oracle Reports 11gリリース2 (11.1.2)のデフォルトのセキュリティでは、Oracle Platform Security Servicesを介する標準ベースのJava EEセキュリティ・モデルを基盤としています。セキュアでないReports Serverの場合、このユーザーは、identifier要素内で定義されます。セキュアでないReports Serverをコマンドラインから停止する方法を、次で説明します。

- rwserver.shまたはrwrqv.shを使用してセキュアでないReports Serverをコマンド・ラインから停止またはシャットダウンする場合は、有効なAUTHIDを指定する必要があり、この値はサーバー構成ファイルのidentifier要素に設定された値と一致している必要があります。ただし、identifier要素は、Oracle Application Serverのインストール時、Reportsを構成する際に設定され、Reports Serverによって暗号化されています。このidentifier要素は任意の値に変更できます。このReports ServerをOracle Enterprise ManagerおよびOPMNに登録している場合は、作業するOracle Enterprise Manager統合でtargets.xmlの対応プロパティも変更する必要があります。このステップは次のとおりです。

1. セキュアでないReports Serverのserver_name.conf構成ファイルで、identifier要素を変更してusername/passwordを指定し、encrypted属性をnoに設定します。例:

<identifier encrypted="no">scott/tiger</identifier>

2. Reports Serverを手動でいったん停止してから再起動し、server_name.confファイルに行った変更を有効にします。

注意:

構成の変更を有効にするには、Reports Serverを再起動する必要があります。

これで、Reports Serverで、identifier要素のusername/password値が暗号化されます。Reports Serverでserver_name.confファイルの変更内容が読み取られると、次のコマンドが正常に実行されます(username/passwordがscott/tigerであることが前提)。

./rwserver.sh server=server_name shutdown=normal authid=scott/tiger
./rwrqv.sh server=server_name shutdown=normal authid=scott/tiger

3. Oracle Enterprise Managerの統合には、テキスト・エディタを使用してtargets.xmlファイル($ORACLE_INSTANCE/EMAGENT/emagent_asinst_1/sysman/emd)を次のように編集します。

- 「TYPE="oracle_repserv"」および「DISPLAY_ NAME="Reports Server: server_name"」でtargetを探します。

- このエントリにあるUserNameプロパティとPasswordプロパティを、server_name.confファイルにあるidentifier要素と同じユーザー名とパスワードに設定します。両方のプロパティのENCRYPTED属性をFALSEに設定します。

- 変更を有効にするために、Oracle Enterprise Managerを再起動します。

これで、Oracle Enterprise Managerを使用してセキュアでないReports Serverを停止できます。

注意:

これらのステップは、セキュアでないReports Serverにのみ必要なもので、セキュアなReports Serverには必要ありません。

5.2 Oracle Reportsブリッジの起動と停止

Oracle Reports Bridgeは、2つのサブネットを接続するために使用されます。これは、異なるサブネットで実行されているOracle Reportsコンポーネント間のゲートウェイとして機能します。

ノート:

Oracle Reports 11gリリース2 (11.1.2)では、Oracle ReportsブリッジがOracle Enterprise Manager 11gに統合されています。このため、Oracle Reportsブリッジのステータスの確認、および起動と停止はOracle Enterprise Managerから実行できます。

トラブルシューティングの例と解決策の詳細は、付録D「Oracle Reports Bridgeの問題の診断」を参照してください。

5.2.1 Oracle Process Manager and Notification ServerからのOracle Reportsブリッジの起動、停止および再起動

Oracle Process Manager and Notification (OPMN)でOracle Reports Bridgeを起動する前に、次の例に示すように、ブリッジをOPMNに追加しておく必要があります。

ORACLE_INSTANCE/bin/opmnctl createcomponent -adminUsername weblogic -adminHost <host_name>  -adminPort <port> -oracleHome <oracle_home  -oracleInstance <instance_home> -instanceName <instancename> -componentName <bridge_name> -componentType ReportsBridgeComponent

Oracle Reports BridgeがOracle Process Manager and Notification (OPMN) Serverで構成されている場合、Oracle Reports Bridgeを起動するには、次のいずれかのコマンドを使用します。

ORACLE_INSTANCE/bin/opmnctl startproc ias-component=bridgename
ORACLE_INSTANCE/bin/opmnctl startproc process-type=ReportsBridgeComponent

Oracle Reports Bridgeを停止するには、次のコマンドを使用します。

ORACLE_INSTANCE/bin/opmnctl stopproc ias-component=bridgename

Oracle Reports Bridgeを再起動するには、次のコマンドを使用します。

ORACLE_INSTANCE/bin/opmnctl restartproc ias-component=bridgename

Oracle Reports Bridgeの名前は、opmn.xmlファイル内のias-component idにある名前と一致している必要があります。

Oracle Process Manager and Notificationブリッジのステータスを問い合せるには、次のコマンドを使用します。

ORACLE_INSTANCE/bin/opmnctl status

Oracle Process Manager and Notification ServerによりOracle Reportsブリッジを構成する方法の詳細は、第7.8.1.3項「Oracle Reportsブリッジの指定」を参照してください。

5.2.2 コマンドラインからのOracle Reportsブリッジの起動と停止

Oracle Reportsのコンポーネントの起動と停止には、Enterprise ManagerまたはOPMNを使用することをお薦めします。

Reportsブリッジ・コンポーネントの起動または停止の際は事前に次の環境変数を設定する必要があります。

COMPONENT_CONFIG_DIRECTORY=ORACLE_INSTANCE/config/ReportsBridgeComponent/<Reportsブリッジ名>

コマンドラインからOracle Reports Bridgeを起動するには、次のコマンドを使用します。

Windowsの場合:

rwbridge.bat name=bridgename

UNIXの場合:

rwbridge.sh name=bridgename

たとえば、fooという名前のOracle Reports BridgeをWindowsで起動するには、次のコマンドを使用します。

rwbridge.bat name=foo

rwbridge実行可能ファイルの詳細は、第A.2.7項「rwbridge」を参照してください。

Oracle Reports Bridgeの初回起動時に、Oracle Reportsによって構成ファイルrwbridge.confが作成されます。このファイルはrwbridge.templateファイルの設定内容に基づいて生成され、ORACLE_INSTANCE\config\ReportsBridgeComponent\bridge_nameディレクトリに格納されます。リモートのOracle Reports Bridgeに他のサブネットへの接続を指定するには、rwbridge.confファイルを編集します。

注意:

構成の変更を有効にするには、Oracle Reports Bridgeを再起動する必要があります。

Oracle Reports Bridgeを停止するには、次のコマンドを使用します。

Windowsの場合:

rwbridge.bat name=bridgename shutdown=normal authid=username/password

UNIXの場合:

rwbridge.sh name=bridgename shutdown=normal authid=username/password

たとえば、fooという名前のOracle Reports BridgeをUNIXで停止するには、次のコマンドを使用します。

rwbridge.sh name=foo shutdown= normal authid=scott/tiger

構成ファイルのrepbrg_bridgename.confで、identifier要素を変更してusername/passwordを指定し、encrypted属性をnoに設定します。これは、パスワードが暗号化されないことを示します。Oracle Reports Bridgeが起動されると、このパスワードは暗号化されます。

例:

<identifier encrypted="no">scott/tiger</identifier>

使用上のノート

- identifier要素がコメント化されている場合は、authidを指定せずにOracle Reports Bridgeを停止できます。

- Oracle Reports Bridgeをリモートで停止することはできません。

詳細は、第7.2.1.19項「identifier」を参照してください。

5.3 インスタンス停止後のReportsコンポーネントの起動

Reportsインスタンスが停止したときは、次の手順を使用してReportsコンポーネントを起動できます。

5.3.1 Reports Servletの起動

拡張クラスタでReports Servletを起動するには、次のステップを実行します。

1. ノード・マネージャを起動します。

1. 現在の作業ディレクトリから、次のコマンドを実行します。
cd $FMW_HOME/wlserver_10.3/server/bin

2. ORACLE_HOME環境変数を、使用しているOracleホーム・ディレクトリに設定します。

3. TNS_ADMIN環境変数を、使用しているTNS_ADMINディレクトリに設定します。

4. コマンドラインでLD_LIBRARY_PATH環境変数を次のように設定します。
setenv LD_LIBRARY_PATH $ORACLE_HOME/jdk/jre/lib/i386:$ORACLE_HOME/jdk/jre/lib/i386/server:$ORACLE_HOME/jdk/jre/lib/i386/native_threads:$ORACLE_HOME/lib32:$ORACLE_HOME/lib:/usr/X11R6/lib:/usr/openwin/lib:

5. 次のコマンドを実行します。
./startNodeManager.sh

2. 管理サーバーを起動します。

1. 現在の作業ディレクトリから、次のコマンドを実行します。
cd $FMW_HOME/user_projects/domains/<ドメイン名>/bin

2. 次のコマンドを実行して、管理サーバーを起動します。

./startWebLogic.sh

3. WebLogic Server管理コンソールから、WLS_REPORTSを起動します。

1. WebLogic Server管理コンソールにログインします(http://host:7001/console)。

2. 左ナビゲーション・ペインの「ドメイン構造」セクションから、「環境」→「サーバー」を選択します。「サーバーのサマリー」画面が表示されます。「制御」タブをクリックします。

3. 「WLS_REPORTS」チェック・ボックスを選択して、「起動」をクリックします。

4. 左ナビゲーション・ペインの「ドメイン構造」セクションで「デプロイメント」を選択します。
「デプロイメントのサマリー」画面が表示されます。

5. 「次」をクリックして、Reportsアプリケーションのリストが表示される画面にナビゲートします。

6. 「起動」をクリックします。

5.3.2 Reportsスタンドアロン・サーバーの起動

Reportsスタンドアロン・サーバーを起動するには、次のステップを実行します。

1. 現在の作業ディレクトリから、次のコマンドを実行します。
cd $ORACLE_INSTANCE/bin.

2. 次のコマンドを入力します。
opmnctl startall

Reportsスタンドアロン・サーバーなどの、すべてのReportsコンポーネントが起動します。

5.4 COSネーミング・サービスの起動と停止

デフォルトのブロードキャスト・メカニズムのかわりにSun社のJDKで提供されるCommon Object Service (COS)ネーミング・サービスorbdを使用してReports Serverを検出できます。orbd実行可能ファイルの詳細は、Sun社のWebサイト(http://www.oracle.com/technetwork/java/index.html)にあるJavaIDLのページを参照してください。

ネーミング・サービスを起動するには、次のコマンドを使用します。

Windowsの場合:

namingservice.bat port_number

UNIXの場合:

namingservice.sh port_number

OPMNを使用してネーミング・サービスの制御を使用する方法は、第7.8.1.4項「COSネーミング・サービスの指定」を参照してください。

5.5 Oracle Enterprise ManagerによるOracle Reportsコンポーネントの起動、停止および再起動

Oracle Reportsコンポーネントの起動や停止を行う操作はすべて、Oracle Enterprise Managerを使用して実行できます。第6.4項「Oracle Reportsコンポーネントの起動、停止および再起動」を参照してください。

5.6 Oracle Reports ServletによるインプロセスReports Serverの起動と停止

Reports ServerをインプロセスReports Serverとして使用している場合(デフォルトの構成)、レポート実行リクエストを送信するとインプロセスReports Serverが起動します。ただし、コマンドラインを介してリクエストを送信する場合、最初にレポート実行URLまたはWebコマンドURLを使用してOracle Reports Servlet (rwservlet)を起動する必要があります。rwservletの起動に成功した場合、インプロセスReports Serverの起動が成功したことになります。

インプロセスReportsサーバーは、Enterprise Managerから起動することもできます。

1. Oracle Enterprise Managerで、「Reportsアプリケーション・ホームページ」にナビゲートします。

2. 「レポート」メニューから「監視」→「Reportsアプリケーションの起動」を選択します。
Reportsアプリケーションが起動します。

3. 「レポート」メニューから「管理」→「インプロセスReports Serverの起動」を選択します。
インプロセスReports Serverが起動します。

URLを使用してインプロセスReports Serverを直接起動したり停止するには、Webブラウザで次のように入力します。

http://machine_name:port/reports/rwservlet/startserver
http://machine_name:port/reports/rwservlet/stopserver

5.7 Oracle HTTP Serverが実行されていることの確認

OracleAS Reports ServicesはOracle HTTP Serverコンポーネントに依存しています。Oracle Enterprise ManagerまたはOPMNによりReports Serverを起動する前に、Oracle HTTP Serverが実行されていることを確認する必要があります。Oracle Enterprise Managerにおいてこの作業を実行する方法の詳細は、Oracle Enterprise Managerのドキュメントを参照してください。

または、ブラウザで次のURLにナビゲートすることでも、Oracle HTTP Serverが実行されていることを確認できます。

http://server_name.domain:port_number/

5.8 Reports ServletおよびReports Serverが実行されていることの確認

Reports Servletが実行されていることを確認するには、次のURLにナビゲートします。

http://your_machine_name.domain_name:your_port_number/reports/rwservlet/help

URLは、大文字と小文字を区別することに注意してください。このURLが正常に実行されると、rwservletコマンドライン引数を説明するヘルプ・ページが表示されます。

Reports Serverが実行されていることを確認するには、次のURLにナビゲートします。

http://your_machine_name.domain_name:your_port_number/reports/rwservlet/getserverinfo?server=server_name

デフォルトのReports Server名(rep_machine_name)またはサーブレット構成ファイルrwservlet.properties($DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration)で指定されたReports Serverを使用している場合、server=server_name引数は必要ありません。このURLが正常に実行されると、指定したReports Serverのジョブ・キューのリストが表示されます。

注意:

サーブレット構成ファイルの詳細は、第7.3項「Oracle Reports Servlet構成ファイル」を参照してください。

第II部

Oracle Reports Servicesの管理

第II部では、Oracle Reports Servicesの管理について説明します。

- 第6章「Enterprise ManagerによるOracle Reports Servicesの管理」

- 第7章「Oracle Reports Servicesの構成」

6 Oracle Enterprise ManagerによるOracle Reports Servicesの管理

Oracle Reports 11gリリース2 (11.1.2)は、Oracle WebLogic Serverに統合され、それによって複雑なトポロジと配布の管理がシンプルになります。次のどちらかを使用するとOracle Reportsコンポーネントの管理や監視ができます。

- Oracle Fusion Middleware付属のOracle Enterprise Manager(推奨)

- Oracle Process Manager and Notification Server (OPMN)

この章では、Oracle Enterprise Managerを使用してOracle Reportsコンポーネントの管理や監視を行う方法について説明します。ここには主に次のような項があります。

- このリリースでの新機能

- Oracle Enterprise Managerを使用するためのReports Serverの構成

- コンポーネント・トポロジの表示

- Oracle Reportsコンポーネントの起動、停止および再起動

- Oracle Reportsコンポーネントの構成

- Oracle Enterprise Managerの管理ロールの定義

- ジョブの管理およびスケジュール

- Oracle Reports Servicesの保護

- フォントの管理

- パフォーマンスの監視

- ログ・ファイルの管理

- Reports Server監査構成の変更

- Reports Serverへのプラガブル宛先の登録

- プロキシ情報の構成

- レポート高可用性(HA)ソリューションの管理および監視

- Oracle Fusion MiddlewareのシステムMBeanブラウザについて

- システムMBeanブラウザによるレポート構成設定の変更

- 問題の診断

注意:

Oracle Enterprise ManagerのOracle Reports Services関連ページには、必要に応じて状況依存のヘルプ・トピックが用意されており、各ページの項目に関する詳細情報が表示されます。「ヘルプ」アイコンをクリックすると、対応するヘルプ・トピックが表示されます。

関連項目:

Oracle Enterprise Managerの詳細は、Oracle Fusion MiddlewareのドキュメントCDに収録されている『Oracle Fusion Middleware管理者ガイド』を参照してください。

6.1 このリリースでの新機能

Oracle Reports 11gリリース2 (11.1.2)では、Oracle Enterprise Managerの機能が大幅に強化されました。たとえば、Oracle Reports Servicesの管理や構成を実行する際には、構成ファイルを編集するのではなく、Oracle Enterprise Managerユーザー・インタフェースから実行できるページが追加されました。新機能の概要は、表6-1(表1-1「11gの機能と10gの機能との比較」の一部)を参照してください。

表6-1 11gのOracle Enterprise Manager機能と10gの機能との比較

11gの新機能

10gにおける同等機能

監視と管理

新しい機能が豊富にありカスタマイズ可能なOracle Enterprise Managerユーザー・インタフェース(次の機能に対応)

- ファーム全体およびすべてのコンポーネントが階層的に表示されるナビゲーション・ペイン

- レポート環境全体における包括的な管理、マネージメント、構成、チューニングおよび診断を行うためのOracle Reports用の新しいページ

- 監視とチューニングにおける多数のメトリック

- 起動、停止、再起動、グループ化、サーブレット、プラグイン登録などに即座にアクセスできる管理ダッシュボード

- 構成パラメータ数とカテゴリ数の大幅削減

- リアルタイム・パフォーマンスと履歴パフォーマンスに関して広範囲なメトリック

- Reports Server監査

- Oracle Internet Directoryの再関連付け

- ポータル・メタデータ・リポジトリと関連付け

- Oracle Enterprise Managerからドキュメントや関連資料に直接アクセスできる機能

Oracle Enterprise Manager Application Server (AS) Controlと構成ファイルの手動編集

新しい傾向グラフ、キーとなる統計。初期の兆候によって一般的な問題を予測します。

該当なし

ジョブの管理とスケジュール

詳細は、第6.7項「ジョブの管理およびスケジュール」を参照してください。

強化されたジョブ・キュー管理機能:Oracle Enterprise Managerにおける包括的なジョブ・キュー管理ユーザー・インタフェース(検索とフィルタ、ジョブの再送信、エラーの表示など)

基本的なジョブ・キュー用ユーザー・インタフェース

機能が豊富なカレンダベース型スケジューリング用ユーザー・インタフェース:Oracle Enterprise Managerには包括的なReports Server用ジョブ・スケジューリング機能があります。

Oracle Reports Queue Manager (rwrqm)、Oracle Portalユーザー・インタフェースまたはコマンドラインのみによりReports用ジョブ・スケジューリングが実行されます。

セキュリティ

詳細は、第6.8項「Oracle Reports Servicesの保護」を参照してください。

強化されたOracle Enterprise Managerユーザー・インタフェース:管理者はOracle Enterprise Managerを使用して、レポート、Webコマンドおよびフォルダへのアクセスに対して詳細なセキュリティ・ポリシーをより簡単に定義したり管理できます。

ポリシーの定義に使用されるOracleAS Portalの基本UI:ハードコーティングされたWebコマンドによりOracle Reportsの生成済ロールにアクセスします。フォルダ・レベルでなくファイル(レポート)レベルでのみポリシーにアクセスします。

6.2 Oracle Enterprise Managerを使用するためのReports Serverの構成

Reports Serverは、Oracle Fusion Middlewareのインストール時に自動的にOracle Enterprise Managerに登録されます。

Oracle Fusion Middlewareのインストール後にReports Serverまたはその他のOracle Reportsコンポーネントを追加した場合は、次の手順を実行してください。

1. WLS_REPORTS管理対象サーバーを停止し、再起動します。これは、Reports Serverの新しい構成MBeanの登録を完了するために必要です。

2. Oracle Enterprise Managerページをリフレッシュして、Oracle Enterprise Managerで新しいOracle Reportsコンポーネントを使用できるようにします。

6.3 コンポーネント・トポロジの表示

Oracle Reports 11gリリース2 (11.1.2)では、コンポーネント・トポロジを表示するためのフレームワークが改良されています。

Oracle Enterprise Managerでインスタンスのトポロジを表示するには:

1. ターゲットのナビゲーション・ペインには、ファーム全体およびすべてのコンポーネントが階層的に表示されます。

2. ターゲットのナビゲーション・ペインの「ファーム」ノードで、Farm_ClassicDomain→「Reports」を開き、「Reportsアプリケーション」、「Reportsブリッジ」、「Reports Server」または「Reportsツール」コンポーネント・ノードをクリックして、それらのホームページを表示します。

3. 「レポート」コンポーネントなどのターゲットを選択すると、そのターゲットのホーム・ページがコンテンツ・ペインに表示され、ターゲットのメニューが最上部に表示されます。また、ターゲットを右クリックしてメニューを表示することもできます。

6.4 Oracle Reportsコンポーネントの起動、停止および再起動

Oracle Reportsコンポーネントを起動、停止および再起動する手順は、次のとおりです。

1. コンポーネントのホームページにナビゲートします(第6.3項「コンポーネント・トポロジの表示」を参照)。

2. 「レポート」メニューから「制御」を選択してコンポーネントのステータス履歴を表示し、「起動」、「停止」または「再起動」のいずれかをアクティブにします。
インプロセス・サーバーを起動、停止および再起動する手順は次のとおりです。

コンポーネントのホームページにナビゲートし、reports (管理対象サーバー名)→「管理」→「インプロセスReports Serverの起動/停止/再起動」を選択します。

6.5 Oracle Reportsコンポーネントの構成

Oracle Reports 11gリリース2 (11.1.2)から、構成の際にはOracle Enterprise Managerのみを使用して実行することをお薦めします。

Oracle Enterprise ManagerおよびJMXコンソールでは、Oracle Enterprise Managerで次のようにメニューを選択することで構成の表示や更新ができます。

表6-2 構成メニューの選択

選択手順

表示するページ

「レポート」→「管理」→「基本構成」

「Reports Server基本構成」ページ

「レポート」→「管理」→「拡張構成」

「Reports Server拡張構成」ページ:詳細ページ情報の「ヘルプ」アイコンがあります。

「レポート」→「管理」→「Forms/Reportsの共通構成」

「Forms Reports共通コンポーネント構成」ページ(rwbuilder、rwserver、rwrunおよびフォントやプリンタに関連する情報)

ターゲットのナビゲーション・ペイン: Farm_ClassicDomain→「Reports」→「Reportsツール」コンポーネント・ノード

「Reportsツール・コンポーネント構成」ページ(rwbuilder、rwrun、rwclient、rwconv、rwrqm構成ファイル情報、rwnetwork構成ファイル情報およびPDS情報)

「Reportsブリッジ」→「管理」→「ブリッジ構成」

「Reportsブリッジ構成」ページ

Reportsアプリケーション・ページ(reports (WLS_REPORTS)など): 「レポート」→「管理」→「基本構成」

「Reportsアプリケーション基本構成」ページ

Reportsアプリケーション・ページ(reports (WLS_REPORTS)など): 「レポート」→「管理」→「拡張構成」

「Reportsアプリケーション拡張構成」ページ:詳細ページ情報の「ヘルプ」アイコンがあります。

「Reports Serverホームページ」:

「レポート」→「ログ」→「ログ構成」ページ

Reports Serverの「ログ構成」ページ

「Reportsツール・ホームページ」:

「レポート」→「ログ」→「ログ構成」ページ

Reportsツールの「ログ構成」ページ

Reportsアプリケーション・ホームページ:
「レポート」→「ログ」→「ログ構成」

Reportsアプリケーションの「ログ構成」ページ

Reportsブリッジ・ホームページ:
「Reportsブリッジ」→「ログ」→「ログ構成」

Reports Bridgeの「ログ構成」ページ

注意:

「ヘルプ」アイコンのあるページでは、「ヘルプ」アイコンをクリックして、ページレベルのヘルプをアクセスします。ページのヘルプ・トピックの説明を参照して、ページの要素をすべて入力します。

Enterprise ManagerでReportsアプリケーション構成ページにアクセスしているときに、Enterprise Managerからアプリケーションが停止されると、レポート構成Mbeanが見つからないというエラー・メッセージが表示される場合があります。このメッセージが表示されるのは、アプリケーションが停止中はレポート構成Mbeanが使用できないためです。該当するページをリフレッシュするか、そのページに再度戻ると、Enterprise Managerには、Reportsアプリケーションが停止中であること、Enterprise Managerでアプリケーションの構成を編集できないことに関するわかりやすいメッセージが表示されます。Reportsアプリケーションを再起動すると、構成の編集が可能になります。

Oracle Fusion Middleware 11.1.1.3.0リリースから、Enterprise ManagerのReportsアプリケーションのバージョンはreports (11.1.1.2.0) (WLS_REPORTS)と表示されます。

6.5.1 メール・サーバーの構成

Oracle Reports 11gリリース2 (11.1.2)では、Enterprise Managerからメール・サーバー要素を構成するオプションが提供されています。メール・サーバー要素を構成するには、次のステップを実行します。

1. Oracle Enterprise Managerにログインします。

2. 「Reports Serverホームページ」にナビゲートします。

3. 「レポート」メニューから「管理」→「基本構成」を選択します。
「Reports Server基本構成」ページが表示されます。

4. 「Reports Serverのパラメータ」コンテンツ・ペインで、「メール・サーバー」フィールドにメール・サーバーの名前を入力します。

5. メール・サーバーが保護されている場合は、「メール・サーバーのポート」フィールドにSSLポート番号を入力します。

6. メール・サーバーが保護されている場合は、「メール・サーバーのSSLを有効化」チェック・ボックスを選択します。

7. メール・サーバーのユーザー名とパスワードのCSFキーを、「メール・サーバーのユーザー名」フィールドと「メール・サーバーのパスワード」フィールドにそれぞれ入力します。

8. 「適用」をクリックします。

6.6 Oracle Enterprise Managerの管理ロールの定義

11gリリース2 (11.1.2)では、Oracle Enterprise Managerで、管理者、オペレータおよび監視者の3種類の管理ロールがサポートされています。管理者ロールには、セキュリティ関連の操作も含めて、あらゆる操作を実行できる最大限の権限が付与されています。それに対し、オペレータの権限は少なく、監視者の権限も限られています。権限のないユーザーに対しては、機能が表示されないか、グレー表示されます。

6.7 ジョブの管理およびスケジュール

Oracle Enterprise Managerで改良されたユーザー・インタフェースには、拡張ジョブ・キュー管理機能(検索とフィルタ、ジョブの再送信、エラーの表示など)だけでなく、Reports Serverジョブ向けに豊富なカレンダベース型スケジュール機能も用意されています。

- ジョブの表示

- 統合されたジョブ・キューの表示

- ジョブに対する操作の実行

- ジョブのスケジュール

6.7.1 ジョブの表示

1つ以上のジョブに関する情報(失敗したジョブのステータスやエラー、トレース情報など)を取得する手順は、次のとおりです。

1. Oracle Enterprise Managerにログインします。

2. 「Reports Serverホームページ」にナビゲートします(第6.3項「コンポーネント・トポロジの表示」を参照)。

3. 「レポート」メニューから、「Reportsジョブ」→「ジョブ・ページ」を選択します。
「ジョブ・ページ」には「表示」リストで選択されたジョブのカテゴリが表示されます。

4. 「表示」リストで、表示するジョブのカテゴリ(「失敗したジョブ」など)を選択します。

5. 「所有者」、「出力タイプ」および「出力形式」の各フィールドで必要な情報を入力し、表示するジョブのリストをカスタマイズします。

6.7.2 統合されたジョブ・キューの表示

Oracle Reports 11gリリース2 (11.1.2)では、データベース・ベースの共有ジョブ・リポジトリが新規にサポートされています。これによって、Oracle Enterprise Managerを使用してジョブ・キューの統合表示ができます。

1. Oracle Enterprise Managerにログインします。

2. 高可用性(HA)グループに参加しているReports Serverの「Reports Serverホームページ」にナビゲートします。

3. 「レポート」メニューから、「Reportsジョブ」→「ジョブ・ページ」を選択します。
「ジョブ・ページ」には「表示」リストで選択されたジョブのカテゴリが表示されます。

4. 「表示」リストで、「終了したジョブ」を選択します。

5. 「出力形式」リストから、Reports Server名(Reports Serverのジョブを表示する場合)またはグループ名(グループ内のすべてのReports Serverのジョブを表示する場合)のどちらかを選択します。

第A.8.8項「SHOWJOBS」に示すように、rwservletおよびSHOWJOBS Webコマンドを使用して、統合されたジョブ・キューを表示することもできます。

注意:

- デフォルトでは、高可用性(HA)構成に参加するすべてのノードのジョブが表示されます。そのため、統合されたジョブ・キューの管理が簡単になります(特定のジョブの削除、ジョブ情報の取得など)。管理者は、各Reports Serverのジョブ・キューを個別に表示する必要はありません。

- ドロップダウン・リストでサーバー名を選択することで、特定のReports Serverのジョブを表示できます。ロード・バランサによるリクエスト転送における転送先ノードに関係なく、またグループ内で1つ以上のReports Serverが停止している場合でも、グループに参加しているReports Serverのジョブ情報をいつでも表示できます。その際、データベース・ベースの共有ジョブ・リポジトリが使用されます。また、各Reports Servlet(各インプロセスReports Serverに対応)によって、HAシナリオの一部である他のインプロセスReports Serverのリストが保持されます。

6.7.3 ジョブに対する操作の実行

ジョブに対して操作(ジョブの再送信(再試行)など)を実行する手順は、次のとおりです。

1. Oracle Enterprise Managerにログインします。

2. 「Reports Serverホームページ」にナビゲートします(第6.3項「コンポーネント・トポロジの表示」を参照)。

3. 「レポート」メニューから、「Reportsジョブ」→「ジョブ・ページ」を選択します。
「ジョブ・ページ」には「表示」リストで選択されたジョブのカテゴリが表示されます。

4. 「終了したジョブ」を選択し、終了したジョブのすべてをその詳細情報とともに一覧表示します。

5. 任意のジョブに対して実行可能な操作を行います。
たとえば、終了したジョブを選択して「レポートの再実行」をクリックし、ジョブを再実行します。

注意:

Oracle Enterprise Managerからレポート操作を実行しようとするときは、Reports Serverで使用されているIDストアに、Enterprise Managerへのログインで使用したものと同じユーザー名とパスワードが含まれていることを確認してください。

6.7.4 ジョブのスケジュール

ジョブのスケジュール・オプションを定義するには:

1. Oracle Enterprise Managerにログインします。

2. 「Reports Serverホームページ」にナビゲートします(第6.3項「コンポーネント・トポロジの表示」を参照)。

3. 「レポート」メニューから、「Reportsジョブ」→「新規ジョブのスケジュール」を選択します。
「Reportsジョブ・スケジューラ」ページが表示されます。

4. ページのヘルプ・トピックの説明を参照して、要素をすべて入力します。ページの「ヘルプ」アイコンをクリックして、ページレベルのヘルプにアクセスします。

注意:

時刻を指定する要素の場合、必要に応じて自動的に、時刻が夏時間(DST)に調整されます。たとえば、ジョブを毎日午前5:00に実行するようにスケジュールすると、スケジュールされた開始日からその時刻にジョブが実行されますが、夏時間の開始時と終了時には引き続きジョブが予定通り午前5:00に実行されるように調整されます。過去のジョブ・キューの時刻エントリ(ジョブのエンキュー時刻、開始時刻、終了時刻など)は変更されません。

5. 「送信」をクリックし、ジョブをスケジュールします。

6. 「スケジュール済のジョブ」ページにナビゲートすると(第6.7.1項「ジョブの表示」を参照)、新しくスケジュールしたジョブがリストに表示されます。

注意:

スケジュール済のジョブを選択して「編集」をクリックすると、スケジュール済のジョブのオプションを変更できます。「送信」をクリックすると、Job Id nnn has been re-scheduled successfullyというメッセージが表示されます。Oracle Enterprise Managerで元のスケジュール済のジョブがキャンセルされ、「失敗したジョブ」キューに移動し、修正されたパラメータで新しいスケジュール済のジョブが作成されます。新しいジョブには、元のジョブとは異なるジョブIDが付与されます。

6.8 Oracle Reports Servicesの保護

11gリリース2 (11.1.2)では、デフォルトでOracle Platform Security Services(認証と認可を処理)を使用して、Reports Serverが保護されます。Oracle ReportsではこのJava EEベース型セキュリティ・モデルを使用して、レポート・ジョブやWebコマンドを実行するためにセキュリティ・ポリシーを作成できます。

以前のリリースでは、Reports Serverの認証に使用できるのは、Oracle Internet Directoryにのみ制限されていました。Reports Serverの認可には、Oracle Portalベースのセキュリティ・モデルが必要です(ポータル・メタデータ・リポジトリを使用して認可を確認)。以前のリリースのセキュリティ・メカニズムに戻す場合は、第6.8.1.1項「Oracle Portalセキュリティへの切替え」を参照してください。

Oracle Reports 11gリリース2 (11.1.2)では、管理者はOracle Enterprise Managerを使用して、詳細なセキュリティ・ポリシーとファイル・システム・アクセスをさらに簡単に定義したり管理できます。

- セキュリティの有効化と無効化

- レポートのセキュリティ・ポリシーの定義

- ディレクトリのセキュリティ・ポリシーの定義

- Webコマンドのセキュリティ・ポリシーの定義

- ディレクトリへの読取り/書込みアクセス権の定義

- Single Sign-Onの有効化と無効化

- Oracle Access Managerの使用

- 資格証明の管理

6.8.1 セキュリティの有効化と無効化

Reports ServerやReportsアプリケーションのセキュリティを有効化したり無効化するには:

1. Oracle Enterprise Managerにログインします。

2. コンポーネントのホームページにナビゲートします(第6.3項「コンポーネント・トポロジの表示」を参照)。

3. 「レポート」メニューから、「管理」→「拡張構成」を選択します。
「拡張構成」ページが表示されます。

4. 「Reportsセキュリティ」領域で「セキュリティの有効化」チェック・ボックスを選択するか、その選択を解除します。

6.8.1.1 Oracle Portalセキュリティへの切替え

第15章「Oracle Portalでのレポートの配布」で説明しているとおり、Oracle Portalの11gリリース2 (11.1.2)でレポートを配布するステップは、以前のリリースと同じです。ただし、配布の基盤となるセキュリティ・メカニズムは変更されています。その場合、認可はデフォルトで有効ですが、インストール時にOracle Internet Directoryのみが指定されてPortalがインストールされていない場合、Oracle Portalを使用する認可は無効になります。11gリリース2 (11.1.2)のデフォルト・インストールでは、Oracle Platform Security Servicesによる認証と認可は両方とも実行されます。

下位互換性を確保するために、以前のリリースのOracle Portalのセキュリティ機能を引き続き使用できます。新しい11gリリース2 (11.1.2)のOracle Platform Security Servicesから、11gより前のOracle Portalメタデータ・リポジトリ・ベース型セキュリティに切り替えるには:

1. Oracle Enterprise Managerにログインします。

2. 「Reports Serverホームページ」にナビゲートします(第6.3項「コンポーネント・トポロジの表示」を参照)。

3. 「レポート」メニューから、「管理」→「拡張構成」を選択します。
「Reports Server拡張構成」ページが表示されます。

4. 「Reportsセキュリティ」セクションで、「セキュリティの有効化」チェック・ボックスを選択し、「Oracle Portalで使用可能なセキュリティ機能」を選択します。

5. 「適用」をクリックします。

注意:

Oracle Portalセキュリティ機能を有効にする場合、認可が行われるようにするには、インストール時にOracle Portalも構成する必要があります。

- インストール時にOracle Portalを構成した場合、Oracle Internet Directoryを使用して認証は処理され、Oracle Portalを使用して認可は処理されます(認可ポリシーはOracle Portalに格納)。

- インストール時にOracle Portalを構成しなかった場合、Oracle Internet Directoryを使用して認証は処理されますが、認可は行われません。

6.8.2 レポートのセキュリティ・ポリシーの定義

管理者は、レポートごとにセキュリティ・ポリシーを作成することで、特定のユーザーやロールがアクセスできるレポートを指定できます。セキュリティ・ポリシーでは、サーバー、宛先名(desname)、宛先タイプ(destype)などのパラメータも指定できます。認証されたユーザーは、これらのセキュリティ・ポリシーに基づいて認可されます。

Reports ServerやReportsアプリケーション(インプロセスReports Server)のレポート用にセキュリティ・ポリシーを定義するには:

1. Oracle Enterprise Managerにログインします。

2. コンポーネントのホームページにナビゲートします(第6.3項「コンポーネント・トポロジの表示」を参照)。

3. 「レポート」メニューから、「管理」→「Reportsセキュリティ・ポリシーの管理」→「Reportsポリシー」を選択します。

4. 「作成」または「編集」をクリックします。
「Reportsのセキュリティ・ポリシー構成」ページが表示されます。

5. ページのヘルプ・トピックの説明を参照して、ページの要素に適切な値を入力し、ディレクトリ・アクセスのセキュリティ・ポリシーを定義します。
ページの「ヘルプ」アイコンをクリックして、ページレベルのヘルプにアクセスします。

次を実行し、ページの要素をすべて入力します。

- 「サーバー名」パラメータのチェック・ボックスから、セキュリティ・ポリシーの適用先となるサーバーを1つ以上選択します。セキュリティ・ポリシーをすべてのサーバーに適用する場合、「すべて」を選択します。

- 「レポート定義ファイルまたはディレクトリ」パラメータで、定義するセキュリティ・ポリシー用のレポート定義ファイル名またはディレクトリを1つ以上入力します。たとえば、ディレクトリを指定するには、/myreports/runtime/reports/*と入力します。複数のエントリはカンマ(,)で区切ります。

- 「OK」をクリックします。
このページのすべてのフィールドを有効にするには、再起動が必要です。

6. 指定されたロールまたは他のロールとしてレポートを実行して、定義されたように認証と認可のためのセキュリティ・ポリシーが強制適用されることをテストします。たとえば、次のURLを使用してブラウザからレポートを実行します。

http://host:port/reports/rwservlet?report=report_name.rdf&destype=cache&desformat=html&userid=user/password@mydb&server=ReportsServer_instancename

http://host:port/reports/rwservlet?report=report_name.rdf&userid=user/password@mydb&destype=file&desformat=pdf&desname=report_name.pdf

説明:

hostは、Oracleインスタンスが設定されているマシンです。

portは、OHSのメイン・ポートです。

注意:

Oracle Enterprise Managerで定義されたセキュリティ・ポリシーは、ユーザーによって構成されたポリシー・ストアに格納されます。アイデンティティ・ストアにはユーザーに関する情報が格納され、ポリシー・ストアにはユーザーによって構成されたセキュリティ・ポリシーが格納されます。

6.8.3 ディレクトリのセキュリティ・ポリシーの定義

場合によっては、特定のユーザー・アクセスを複数の関連レポートに付与することが必要になることがあります。セキュリティ・ポリシーをレポートごとに指定するのではなく、1つのディレクトリにあるすべてのレポートを収集してから、そのディレクトリのセキュリティ・ポリシーを指定できます。ユーザーがユーザー名とパスワードを入力した際に、再びセキュリティ・ポリシーがチェックされます。

たとえば、15種類の財務レポートと12種類の人事レポートがあると仮定します。それらの財務レポートには、FINANCEロールへのアクセス権を付与するとします。また、それらの人事レポートには、HRロールへのアクセス権を付与するとします。FINANCEロールに15個のセキュリティ・ポリシーを指定しHRロールに12個のポリシー(各レポートにつき1個のポリシー)を指定するのではなく、すべての財務レポートを1つのディレクトリに集め、すべての人事レポートを別のディレクトリに集めてから、2つのポリシー(各ディレクトリにつき1個のポリシー)のみ指定することもできます。セキュリティ・ポリシーには、レポート名ではなく、ディレクトリ名を指定します。

ディレクトリのセキュリティ・ポリシーを定義するには:

1. Oracle Enterprise Managerにログインします。

2. 「Reports Serverホームページ」にナビゲートします(第6.3項「コンポーネント・トポロジの表示」を参照)。

3. 「レポート」メニューから、「管理」→「Reportsセキュリティ・ポリシーの管理」→「Reportsポリシー」を選択します。

4. 「作成」または「編集」をクリックします。
「Reportsのセキュリティ・ポリシー構成」ページが表示されます。

5. ページのヘルプ・トピックの説明を参照して、ページの要素に適切な値を入力し、ディレクトリ・アクセスのセキュリティ・ポリシーを定義します。
ページの「ヘルプ」アイコンをクリックして、ページレベルのヘルプにアクセスします。

次を実行し、ページの要素をすべて入力します。

- 「サーバー名」パラメータのチェック・ボックスから、セキュリティ・ポリシーの適用先となるサーバーを1つ以上選択します。セキュリティ・ポリシーをすべてのサーバーに適用する場合、「すべて」を選択します。

- 「レポート定義ファイルまたはディレクトリ」パラメータで、定義するセキュリティ・ポリシー用のレポート定義ファイル名またはディレクトリを1つ以上入力します。たとえば、ディレクトリを指定するには、/myreports/runtime/reports/*と入力します。複数のエントリはカンマ(,)で区切ります。

- 「OK」をクリックします。
このページのすべてのフィールドを有効にするには、再起動が必要です。

定義したディレクトリ・アクセス制御をReports Serverレベルで使用するには、第6.8.1項「セキュリティの有効化と無効化」を参照して、セキュリティが有効であることを確認します。

注意:

Oracle Enterprise Managerで定義されたセキュリティ・ポリシーは、ユーザーによって構成されたポリシー・ストアに格納されます。アイデンティティ・ストアにはユーザーに関する情報が格納され、ポリシー・ストアにはユーザーによって構成されたセキュリティ・ポリシーが格納されます。

6.8.4 Webコマンドのセキュリティ・ポリシーの定義

Oracle Reports Servlet (rwservlet)のWebコマンドごとにセキュリティ・ポリシーを作成することで、特定のユーザーやロールがアクセス権を持つWebコマンドも指定できます。ユーザーがユーザー名とパスワードを入力した際に、セキュリティ・ポリシーがチェックされます。

Webコマンドのセキュリティ・ポリシーを定義するには:

1. Oracle Enterprise Managerにログインします。

2. 「Reportsアプリケーション・ホームページ」にナビゲートします(第6.3項「コンポーネント・トポロジの表示」を参照)。

3. 「レポート」メニューから、「管理」→「Reportsセキュリティ・ポリシーの管理」→「Webコマンド・ポリシー」を選択します。

4. 「作成」または「編集」をクリックして、ページの要素に適切な値を入力します。
「Webコマンドのセキュリティ・ポリシー構成」ページが表示されます。

5. ページのヘルプ・トピックの説明を参照して、ページの要素に適切な値を入力し、Webコマンドのセキュリティ・ポリシーを定義します。
ページの「ヘルプ」アイコンをクリックして、ページレベルのヘルプにアクセスします。

次のステップを実行し、ページの要素をすべて入力します。

- 「サーバー名」パラメータのチェック・ボックスから、セキュリティ・ポリシーの適用先となるサーバーを1つ以上選択します。セキュリティ・ポリシーをすべてのサーバーに適用する場合、「すべて」を選択します。

- 「Webコマンド」パラメータのチェック・ボックスから、指定したサーバーおよび権限受領者に認可するWebコマンドを1つ以上選択します。すべてのWebコマンドを指定する場合は、「すべて」を選択します。

- 「OK」をクリックします。
このページのすべてのフィールドを有効にするには、再起動が必要です。

6. 指定されたロールまたは他のロールとしてレポートを実行して、定義されたように認証と認可のためのセキュリティ・ポリシーが強制適用されることをテストします。たとえば、ブラウザで次のURLを使用して、showjobs Webコマンドを実行します。

http://host:port/reports/rwservlet/showjobs?server=ReportsServer_instancename

ここで、

hostは、Oracleインスタンスが設定されているマシンです。

portは、OHSポートです。

注意:

Oracle Enterprise Managerで定義されたセキュリティ・ポリシーは、ユーザーによって構成されたポリシー・ストアに格納されます。アイデンティティ・ストアにはユーザーに関する情報が格納され、ポリシー・ストアにはユーザーによって構成されたセキュリティ・ポリシーが格納されます。

6.8.5 ディレクトリへの読取り/書込みアクセス権の定義

管理者は、Reports Server、Reportsアプリケーション(インプロセスReports Server)またはOracle Reports Runtimeによるディレクトリへの読取りアクセス権や書込みアクセス権を指定できます。この機能は、Reports Server、ReportsアプリケーションまたはOracle Reports Runtimeによる指定ディレクトリへの読取りや書込みが認可されているかどうかを確認するのみであり、ユーザー名とパスワードを確認するセキュリティ・ポリシーとは無関係です。

- 読取りアクセス権:機密ファイルの内容が漏洩するセキュリティ問題を防止するために、Reports Server、ReportsアプリケーションまたはOracle Reports Runtimeによる読取りを許可するディレクトリを指定できます。
たとえば、悪意のあるユーザーは、次のキーワードを指定してWindows上でレポートを実行する場合があります。

distribute=yes&destination=C:\Temp

これによって、ファイルの構文に誤りがあることを示すエラーが生成されます。これを防止するには、ファイル・システムのアクセス制御を有効にして、システム・ディレクトリが含まれない読取りディレクトリを指定します。

- 書込みアクセス権:悪意のあるユーザーがレポート出力をシステム・ディレクトリに送信することでシステム・ファイルの上書きが潜在的に可能なセキュリティ問題を防止するために、Reports Server、ReportsアプリケーションまたはOracle Reports Runtimeによる書込みを許可するディレクトリを指定できます。それ以外のディレクトリへの書込みが試行されると、エラーが返されます。
たとえば、ユーザーは、Windows上で実行するレポートの出力先として次を指定する場合があります。

desname=C:\Temp

ファイル・システムのアクセス制御を有効にしてシステム・ディレクトリが含まれない書込みディレクトリを指定している場合を除いて、これによってシステム・ファイルが上書きされます。

Reports Server、ReportsアプリケーションまたはOracle Reports Runtimeによるディレクトリへの読取りアクセス権や書込みアクセス権を定義する手順は、次のとおりです。

1. Oracle Enterprise Managerにログインします。

2. コンポーネントのホームページにナビゲートします(第6.3項「コンポーネント・トポロジの表示」を参照)。

3. 「レポート」メニューから、「管理」→「拡張構成」を選択します。
「拡張構成」ページが表示されます。

4. 「ファイル・システム・アクセス制御」セクションで「ファイル・システム・アクセス制御の有効化」チェック・ボックスを選択し、Reports Server、ReportsアプリケーションまたはOracle Reports Runtimeに読取りアクセス権や書込みアクセス権を付与するディレクトリの名前をそれぞれ「ディレクトリの読取り」と「ディレクトリの書込み」に入力します。入力された値は、構成ファイルのfolderaccess要素のreadサブ要素とwriteサブ要素に設定されます。
ディレクトリの読取り: 機密ファイルの内容が漏洩するセキュリティ問題を防止するために、Reports Serverによる読取りを許可するディレクトリの名前を入力します。ディレクトリ名はセミコロン(;)で区切ります。

ディレクトリの書込み: Reports Serverによる書込みを許可するディレクトリの名前を入力します。他のフォルダへの書込みが試行されると、エラーが返されます。

6.8.6 Single Sign-Onの有効化と無効化

Oracle Application Server Single Sign-Onを使用する予定がある場合、Oracle Enterprise Managerを使用して、rwservlet.properties構成ファイルのSINGLESIGNONパラメータを設定できます。インストール時は、デフォルトでSINGLESIGNON=YESに設定されます。Single Sign-Onの詳細は、第16章「Oracle Single Sign-Onの構成と管理」を参照してください。

Single Sign-Onを有効にするには:

1. Oracle Enterprise Managerにログインします。

2. 「Reportsアプリケーション・ホームページ」にナビゲートします(第6.3項「コンポーネント・トポロジの表示」を参照)。

3. 「レポート」メニューから、「管理」→「拡張構成」を選択します。
「Reportsアプリケーション拡張構成」ページが表示されます。

4. 「Reportsセキュリティ」セクションで、「シングル・サインオンの有効化」を選択します。

5. 「適用」をクリックします。

6.8.7 Oracle Access Managerの使用

Oracle Access ManagerはOracle Fusion Middlewareのコンポーネントで、一元化された認証、ポリシーベースの認可、委任管理などを実装するためにOracleAS Single Sign-On 10gのかわりに使用できます。

OracleAS Single Sign-On 10gからOracle Access Manager 11gへのアップグレードにはOracle Fusion Middleware Upgrade Assistantを使用できます。Oracle Access Manager 11gへのアップグレードの詳細は、『Oracle Fusion Middleware Oracle Identity Managementアップグレード・ガイド』の「Oracle Single Sign-On環境のアップグレード」の章を参照してください。

6.8.8 資格証明の管理

この項では、Oracle Enterprise Managerを使用してドメイン資格証明ストア内の資格証明を管理する方法について説明します。

1. Oracle Enterprise Managerにログインし、「WebLogicドメイン」→「セキュリティ」→「資格証明」にナビゲートして、「資格証明」ページを表示します。

2. 「削除」ボタンを使用して、表内で選択したアイテム(キーまたはマップ)を削除します。資格証明マップを削除すると、その中のキーもすべて削除されます。同様に、「編集」ボタンを使用して、選択したアイテムでデータを表示または変更します。

3. 特定のキー名に一致する資格証明を表示するには、該当する文字列を「資格証明キー名」ボックスに入力し、右側にある青のボタンをクリックします。問合せの結果が表に表示されます。

4. 問合せの結果を調べた後に資格証明のリストを再表示するには、「WebLogicドメイン」→「セキュリティ」→「資格証明」を選択します。

資格証明マップに新しいキーを追加するには:

1. 「マップの作成」をクリックして「マップの作成」ダイアログを表示します。

2. このダイアログに、作成する資格証明のマップの名前を入力します。

3. 「OK」をクリックして「資格証明」ページに戻ります。新しい資格証明マップ名が、フォルダ・アイコン付きで表に表示されます。

注意:

CSFでは、Reports Serverがアクセスできるのは、Reportsフォルダにある資格証明のみです。そのため、資格証明はReportsフォルダの下に作成する必要があります。

資格証明マップに新しいキーを追加するには:

1. 「キーの作成」をクリックして「キーの作成」ダイアログを表示します。

2. このダイアログで、「マップの選択」プルダウン・リストから、新しいキーの挿入先となるマップを選択し、「キー」テキスト・ボックスにキーを入力し、「タイプ」プルダウン・リストからタイプを選択して(ダイアログの外観は、選択したタイプに従って変わります)、必要なデータを入力します。

3. 完了したら、「OK」をクリックして「資格証明」ページに戻ります。選択したマップに対応するマップ・アイコンの下に、新しいキーが表示されます。

資格証明ストアの再関連付けの詳細は、Oracle Fusion Middlewareセキュリティ・ガイドを参照してください。

6.9 フォントの管理

Oracle Reports 11gリリース2 (11.1.2)では、管理者はOracle Enterprise Managerを使用して、簡単にフォントを構成したりフォント問題を診断できます。

- フォントの構成

- フォントの問題の診断

フォントの詳細は、第8章「Oracle Reportsでのフォントの管理」を参照してください。

6.9.1 フォントの構成

フォントのサブセット化情報やエイリアシング情報を構成するには:

1. Oracle Enterprise Managerにログインします。

2. コンポーネントのホームページにナビゲートします(第6.3項「コンポーネント・トポロジの表示」を参照)。

3. 「レポート」メニューから、「管理」→「Forms/Reportsの共通構成」を選択します。
「Forms Reports共通コンポーネント構成」ページが表示されます。

4. 「スクリーンプリンタ定義パラメータ」(「デフォルトの解像度」および「デフォルトのフォント」)を使用してscreenprinter.ppdファイルを変更します。
「プリンタ構成」セクションと「フォント構成」セクションを使用してuifont.aliを変更します。

フォントの詳細は、第8章「Oracle Reportsでのフォントの管理」を参照してください。

6.9.2 フォント問題の診断

レポート出力のフォント問題を診断するには:

1. Oracle Enterprise Managerにログインします。

2. コンポーネントのホームページにナビゲートします(第6.3項「コンポーネント・トポロジの表示」を参照)。

3. 「レポート」メニューから、「管理」→「拡張構成」を選択します。
Reports拡張構成ページが表示されます。

4. 「診断」セクションで、「ログ・オプション」をTRACE:1に変更し、「適用」をクリックします。

5. レポートを再実行します。

6. 「レポート」メニューから、「ログ」→「ログ・メッセージの表示」を選択して、ログ・メッセージを表示します。

6.10 パフォーマンスの監視

Oracle Enterprise Managerでは、ダイナミック・モニタリング・サービス(DMS)メトリック・サービスが使用されており、パフォーマンス・メトリックやReports Server情報を簡単に監視できます。

1. Oracle Enterprise Managerにログインします。

2. コンポーネントのホームページにナビゲートします(第6.3項「コンポーネント・トポロジの表示」を参照)。

3. Reports Serverで実行されているエンジンの詳細情報は、Reports Engine統計表を調べます。この表には、エンジンで実行されているジョブの数、プロセスID、実行時間、アイドル時間およびエンジンの残存期間に関する情報があります。Reports Engine統計表は、「Reports Serverホームページ」および「Reportsアプリケーション・ホームページ」に表示されます。

4. 「レスポンスと負荷」チャートで負荷の全容を調べます。

5. スケジュール済ジョブのステータスを表示するには:

- 「レポート」メニューから、「Reportsジョブ」→「ジョブ・ページ」を選択します。

- 「表示」リストで「スケジュール済ジョブ」を選択します。

- 表示されるページで、スケジュール済ジョブに関する詳細情報を調べます。

6. Oracle Reportsのパフォーマンスを表示するには:

- 「レポート」メニューから、「監視」→「パフォーマンス・サマリー」を選択します。
「パフォーマンス・サマリー」ページが表示され、「平均レスポンス時間」、「ジョブのロード」および「失敗したジョブの割合」などのメトリックが表示されます。

- 「メトリック・パレットの表示」をクリックすると、表示可能なすべてのメトリックが表示されます。

Oracle Reports 11gリリース2 (11.1.2)では、表示可能な新規メトリックが多数追加されています。表示可能な各メトリックの詳細は、オンライン・ヘルプを参照してください。

6.10.1 ReportsがSecure Sockets Layer (SSL)用に構成されている場合のReportsのメトリックの表示に関する問題

Oracle Enterprise Managerを使用して、Secure Sockets Layer (SSL)を使用するように構成されているOracle Reportsのインスタンスを監視するとき、Oracle Reportsのパフォーマンス・メトリックが一部表示されない場合があります。

この問題を修正するには、WebサイトでHTTPSをサポートするために使用された認証局をOracle Enterprise Managerで認識できるようにする必要があります。その認証局の証明書を、Oracle Enterprise Managerで認識される認証局のリストに追加する必要があります。

認証局を認識するようにOracle Enterprise Managerを構成するには:

1. 次の手順で、Webサイトの認証局の証明書を取得します。

1. Microsoft Internet Explorerでは、監視対象のアプリケーション・サーバーのHTTPS URLに接続します。

2. ブラウザ画面の下部にある錠型のアイコンをダブルクリックします。このアイコンは、保護されたWebサイトに接続していることを示します。
このWebサイトで使用されている証明書を説明する「証明書」ダイアログ・ボックスがブラウザに表示されます。他のブラウザでも、同様のメカニズムでWebサイトの証明書の詳細を表示できます。

3. 「証明のパス」タブをクリックして、証明書のリストの最初のエントリを選択します。

4. 「証明書の表示」をクリックして、2つ目の「証明書」ダイアログ・ボックスを表示します。

5. 「証明書」ウィンドウの「詳細」タブをクリックします。

6. 「ファイルにコピー」をクリックして「証明書のエクスポート ウィザード」を表示します。

7. 「証明書のエクスポート ウィザード」で、エクスポート・ファイルの形式として「Base64 encoded X.509 (.CER)」を選択し、識別しやすい名前(reports_certificate.cerなど)を付けたテキスト・ファイルに証明書を保存します。

8. 任意のテキスト・エディタを使用して証明書ファイルを開きます。
証明書ファイルは、例6-2に示すような内容です。

2. 次の手順で認証局のリストを更新します。

1. 次のディレクトリでb64InternetCertificate.txtファイルを探します。
ORACLE_INSTANCE/EMAGENT/<EMエージェント名>/sysman/config/b64InternetCertificate.txt

このファイルには、Base64証明書のリストが含まれます。

2. b64InternetCertificate.txtファイルを編集して、前述の手順でエクスポートした証明書ファイルの内容をファイルの末尾に追加します。このとき、BEGIN行とEND行を含む証明書のBase64テキストをすべて含めるように注意してください。

3. 証明書を含むテキスト・ファイルを任意の場所にコピーします。この場所は、orapkiユーティリティを実行するときに指定する必要があります。

4. orapkiユーティリティを使用して、次のコマンドを指定してmonwallet Oracleウォレットを更新します。
ORACLE_HOME/bin/orapki wallet add

-pwd <パスワード>

-wallet ORACLE_INSTANCE/EMAGENT/<EMエージェント名>/sysman/config/monwallet

-trusted_cert

-cert certificate_location

パスワードを要求されたら、monwalletウォレットのパスワードを入力します。デフォルトのパスワードはwelcomeです。

前述の例で、certificate_locationを、前の手順で保存済の証明書を含むテキスト・ファイルのフルパスに置き換えます。例:

/dua0/oracle/reports_certificate.cer

5. ORACLE_INSTANCE/EMAGENT/emagent_name/sysman/emd/targets.xmlファイル内で、oracle_repapp、oracle_repservの各ターゲットに関して、例6-1に示すように、http参照をhttpsに、httpポート参照をhttpsポートに変更します。

例6-1 HTTP参照の変更

変更前:

<Property NAME="HTTPPort" VALUE="<http port>"/><Property NAME="HTTPProtocol" VALUE="http"/><Property NAME="Servlet" VALUE="http://host.domain.com:<httpport>/reports/rwservlet"/>

変更後:

<Property NAME="HTTPPort" VALUE="<https port>"/><Property NAME="HTTPProtocol" VALUE="https"/><Property NAME="Servlet" VALUE="https://host.domain.com:<httpsport>/reports/rwservlet"/>

6. 次のコマンドを実行して、Enterprise Managerエージェントをバウンスします。
./opmnctl stopproc ias-component=emagent_name

./opmnctl startproc ias-component=emagent_name

7. Enterprise Managerを再起動します。
Oracle Enterprise Managerでは、再起動後に、認証局のリストに追加があったことが検出されます。これで、保護されたOracle Enterprise Managerコンソールを使用してOracle Reportsのメトリックを監視できます。

例6-2 エクスポートした証明書の内容の例

-----BEGIN CERTIFICATE-----MIIDBzCCAnCgAwIBAgIQTs4NcImNY3JAs5edi/5RkTANBgk... base64 certificate content ...------END CERTIFICATE------

6.11 ログ・ファイルの管理

Oracle Reports 11gリリース2 (11.1.2)では、ロギング機能とトレース機能が強化されていることで診断機能が向上しています。

すべてのOracle Reportsログ・ファイルは、Oracle Diagnostic Logging (ODL)形式に準拠します。この形式は、Oracle Fusion Middlewareにおいて、ログ形式、メッセージ・タイプおよびログ管理ディレクティブ用の標準であります。ログ・ファイルのエントリは、テキスト形式(デフォルト)またはXML形式です。詳細は、『Oracle Fusion Middleware管理者ガイド』を参照してください。

ログ・ファイルの強化機能の詳細は、第23.3.2項「ログ・ファイル」を参照してください。

ノート:

インプロセス・サーバー・エンジンのログ・パス(oracle.reports.engine logger)を変更する場合は、必ずlogmetadata.xmlファイルでも同様の変更を行ってください。このファイルは、logging.xmlと同じディレクトリにあります。

6.11.1 ログ・ファイルの表示および検索

Oracle Enterprise Managerでログ・ファイルの表示や検索を行うには:

1. Oracle Enterprise Managerにログインします。

2. Reports Server、Reportsアプリケーション、Reports BridgeまたはReportsツールのいずれかのコンポーネント用ホームページにナビゲートします(第6.3項「コンポーネント・トポロジの表示」を参照)。

3. 「レポート」メニューから、「ログ」→「ログ・メッセージの表示」を選択します。
Oracle Enterprise Managerの「ログ・メッセージ」ページが表示されます。

4. 傾向メトリック、すなわちコンポーネントのログ・ファイルに記録されたタイプ(インシデント・エラー、エラー、警告、通知およびトレース)ごとのエラーの数が表示されます。

5. ページで使用可能な検索オプションを使用して、特定のメッセージ・タイプや継続期間など、様々なパラメータでログ・ファイル内を検索します。

問題を診断するためにログ・ファイルに記録される情報を変更するには、第6.18.1項「ロギング情報の指定」を参照してください。

6.11.2 ログ・レベルの構成

Oracle Enterprise Managerでログ・レベルを構成するには:

1. Oracle Enterprise Managerにログインします。

2. コンポーネントのホームページにナビゲートします(第6.3項「コンポーネント・トポロジの表示」を参照)。

3. 「レポート」メニューから「ログ」→「ログ構成」を選択します。
「ログ構成」ページが表示されます。

4. 「ログ・レベル」タブを選択します。

5. ロガー名ごとに適切なログ・レベルをODLレベル・ドロップダウン・リストから選択します。

6. 「適用」をクリックします。

6.11.3 ログ・ファイルの編集

Oracle Enterprise Managerでログ・ファイルを編集するには:

1. Oracle Enterprise Managerにログインします。

2. コンポーネントのホームページにナビゲートします。

3. 「レポート」メニューから「ログ」→「ログ構成」を選択します。
「ログ構成」ページが表示されます。

4. 「ログ・ファイル」タブを選択します。

5. 表示されたログ・ファイルのリストから、編集対象のファイルを選択します。

6. 「構成の編集」をクリックします。
「ログ・ファイルの編集」ポップアップ・ウィンドウが表示されます。

7. 必要なパラメータを編集します。

8. 「OK」をクリックします。

注意:

「ログ・ファイルの編集」ウィンドウで「ログ・ファイル形式」を変更する場合は、「ログ・パス」フィールドでファイル拡張子を変更するか、ログ・ファイルから既存の内容を手動で削除する必要があります。したがって、同一の診断ログ・ファイルに様々な形式のメッセージが含まれることはありません。

6.12 Reports Server監査構成の変更

Oracle Enterprise ManagerでReports Server監査構成を変更するには:

1. Oracle Enterprise Managerにログインします。

2. 「ドメイン・ホーム」ページにナビゲートします。

3. 「WebLogicドメイン」メニューから「セキュリティ」→「監査ポリシー」を選択します。

4. 「監査レベル」ドロップダウン・リストから、「カスタム」を選択します。

5. 「Reports Server」を選択し、プラス記号(+)をクリックして「ユーザー・セッション」および「認可」ノードを開き、対応する構成設定を編集します。

6.13 Reports Serverへのプラガブル宛先の登録

プラガブル宛先をReports Serverに登録するには:

1. Oracle Enterprise Managerにログインします。

2. 「Reports Serverホームページ」にナビゲートします(第6.3項「コンポーネント・トポロジの表示」を参照)。

3. 「レポート」メニューから、「管理」→「拡張構成」を選択します。
「Reports Server拡張構成」ページが表示されます。

4. 「Reportsプラガブル宛先」セクションの「名前」および「クラス」に、新しいプラガブル宛先用に適切な値を入力します。
たとえば、SecurePDFプラガブル宛先を登録するには、それぞれ次の値を入力します。

名前: SecurePDF

クラス: oracle.reports.plugin.destination.securepdf.SecurePdfDestination

5. 「宛先の追加」→「適用」をクリックします。
これによりReports Server構成ファイル(rwserver.conf)に新しいdestination要素が追加され、指定した宛先がReports Serverのレポート出力の有効な宛先のリストに追加されます。

6. また、「追加」をクリックし、「登録済のプロパティ」に宛先のプロパティも追加できます。

注意:

プラガブル宛先クラスが使用可能なjarは、REPORTS_CLASSPATH環境変数、またはWebLogic Serverクラスパスで(インプロセス・サーバーの場合)使用可能である必要があります。

6.14 プロキシ情報の構成

Oracle Reportsのいくつかの機能では、ファイアウォール経由での情報の送受信がサポートされています。たとえば、URLエンジン、XMLデータ・ソース、テキスト・データ・ソースおよびメール宛先の機能は、すべてファイアウォール経由で情報を送受信します。これらの機能が適切に動作するためには、Oracle Reportsでは特定のプロキシ情報が必要です。

プロキシ情報を指定するには:

1. Oracle Enterprise Managerにログインします。

2. 「Reports Serverホームページ」または「Reportsアプリケーション・ホームページ」にナビゲートします(第6.3項「コンポーネント・トポロジの表示」を参照)。

3. 「レポート」メニューから、「管理」→「拡張構成」を選択します。
「拡張構成」ページが表示されます。

4. 「拡張構成」ページで、http、https、ftpまたはfileなど、様々なプロトコルについて、使用可能なプロキシ・ホストおよびポートを設定します。プロキシをバイパス可能なアドレスも指定できます。

6.15 レポート高可用性(HA)ソリューションの管理および監視

Oracle Fusion Middlewareは、分散トポロジに配置可能な様々なコンポーネントで構成されています。Oracle Fusion Middlewareで高可用性を可能にするために使用される基礎となるパラダイムはクラスタリングです。クラスタリングでは、Oracle Fusion Middlewareの各種コンポーネントが一定の組合せで結合され、スケーラブルな統合機能が実現されながら、個々のコンポーネントのいずれかで障害が発生した場合に備えて冗長性も実現します。詳細は、第2.5項「高可用性環境の設定」を参照してください。

6.15.1 Reports Serverでの高可用性の構成

第2.5.3項「Reports Serverでの高可用性の構成」を参照してください。

6.15.2 統合されたジョブ・キューの表示

第6.7.2項「統合されたジョブ・キューの表示」を参照してください。

6.15.3 共有キャッシュ・ディレクトリの指定

高可用性(HA)用に共有キャッシュ・ディレクトリを指定するには:

1. Oracle Enterprise Managerにログインします。

2. 「Reportsアプリケーション・ホームページ」にナビゲートします(第6.3項「コンポーネント・トポロジの表示」を参照)。

3. 「レポート」メニューから、「管理」→「拡張構成」を選択します。
「Reportsアプリケーション拡張構成」ページが表示されます。

4. 「高可用性パラメータ」セクションの「クラスタ・キャッシュ・ディレクトリ」フィールドに、HA用の共有キャッシュ・ディレクトリへのパスを入力し、「適用」をクリックします。
変更を確認するには、WLSノードを再ロードします。

6.16 Oracle Fusion MiddlewareのシステムMBeanブラウザについて

Oracle Fusion MiddlewareのシステムMBeanブラウザは、Oracle Fusion Middleware Controlの一部であり、中間層コンポーネントの構成設定を更新するために使用します。

この項の内容は次のとおりです。

- Oracle Fusion MiddlewareのシステムMBeanブラウザを使用する状況

- レポート構成MBeanについて

6.16.1 Oracle Fusion MiddlewareのシステムMBeanブラウザを使用する状況

システムMBeanブラウザを使用して、Fusion Middleware ControlのOracle Reportsページに表示されないOracle Reports構成設定を入力したり変更します。

注意:

上級の中間層管理者以外のユーザーは、システムMBeanブラウザを使用しないでください。

6.16.2 レポート構成MBeanについて

構成MBeanは、Oracle Reports構成ファイルごとに定義されます。表6-3に、Oracle Reportsの構成MBeanの一覧を示します。

表6-3 レポート構成MBean

構成MBean

対応する構成ファイル

ServerConfigMXBean

rwserver.conf/rwbuilder.conf

JDBCPDSConfigMXBean

jdbcpds.conf

DiscoveryServiceConfigMXBean

rwnetwork.conf

TextPDSConfigMXBean

textpds.conf

XMLPDSConfigMXBean

xmlpds.conf

CgicmdConfigMXBean

cgicmd.dat

RWServletConfigMXBean

rwservlet.properties

BridgeConfigMXBean

rwbridge.conf

ScreenprinterConfigMXBean

screenprinter.ppd

注意:

レジストリで設定されているすべてのReports環境変数がMBeanによって公開されるわけではありません。ただし、サーバー構成ファイルのENVIDで指定されている環境変数は、ReportsServerConfigMXBeanによって公開されます。同様に、サーバーの起動や停止を行うシェル・スクリプトで使用されているすべての環境変数がMBeanによって公開されるわけではありません。

6.17 システムMBeanブラウザによるレポート構成設定の変更

システムMBeanブラウザを使用してOracle Reports構成設定を変更するには:

1. Oracle Enterprise Manager Fusion Middleware Controlを起動し、「ファームのホーム」ページを表示します。

2. 「Fusion Middleware」→「ReportsDomain」→「WLS_REPORTS」を選択します。「WLS_REPORTS」ページが表示されます。

3. 「WebLogic Server」メニューから「システムMBeanブラウザ」を選択します。Fusion Middleware Controlによって「システムMBeanブラウザ」ページが表示されます。

4. 左側の列のプラス記号(+)をクリックしてナビゲーション・ツリーのノードを開き、アクセスするMBeanまでドリルダウンします。ナビゲーション・ツリーが開いて、設定の表示や更新を行うためのリンクが表示されます。ナビゲーション・ツリーの各ノードは、構成ファイルの設定を表しています。

5. ナビゲーション・ツリーのノードをクリックし、「属性」タブをクリックすると、属性グループの詳細が表示されます。属性の詳細として表示されるのは、各属性の名前と説明、アクセス権の詳細および現在の値などです。

6. 次のいずれかの方法で、属性値を更新します。

- 現在のページを使用する場合

- 更新する行の「値」フィールドに新しい属性値を入力します。

- 変更を適用するには、「適用」をクリックします。

- 設定の表示や更新を行うためのページを表示する場合

- 「名前」列のリンクをクリックして新しいページを表示します。

- 「値」フィールドに新しい属性値を入力します。

- 変更を適用するには、「適用」をクリックします。

- 「戻る」をクリックすると、ページが閉じてナビゲーション・ツリーが表示されます。

7. 別の属性値を更新したり表示する場合は、前述のステップを繰り返します。

注意:

書込みまたは読取り/書込みの権限のある属性値のみが変更可能です。

6.18 問題の診断

Oracle Enterprise Managerのロギング機能を使用すると、問題の診断に役立ちます。

- ロギング情報の指定

- フォントの問題の診断

6.18.1 ロギング情報の指定

Reports ServerやReportsアプリケーション(インプロセスReports Server)のログ・ファイルに保存する情報を指定するには:

1. Oracle Enterprise Managerにログインします。

2. コンポーネントのホームページにナビゲートします(第6.3項「コンポーネント・トポロジの表示」を参照)。

3. 「レポート」メニューから「ログ」→「ログ構成」を選択します。
または、「レポート」メニューから、「管理」→「拡張構成」をクリックします。

「Reportsアプリケーション診断」ウィンドウで「拡張ログ構成」へのリンクをクリックします。

「ログ構成」ページが表示されます。

4. 「ログ・レベル」タブを選択します。

5. 「Oracle Diagnostic Loggingレベル(Javaレベル)」セクションで、必要に応じてログ・レベルを変更します(表23-4「11gのODLメッセージ・タイプと10.1.2のトレース・オプションとの比較」を参照)。

6. 「ログ・ファイル」タブを選択します。

7. 変更が必要なログ・ハンドラを選択し、「構成の編集」タブをクリックします。

8. 必要に応じて「ログ・パス」フィールドに新しいパスを入力して、ログ・ファイルの場所を変更します。

9. 必要に応じて「最大ログ・ファイル・サイズ(MB)」プロパティおよび「すべてのログ・ファイルの最大サイズ(MB)」プロパティを変更します。
Oracle Enterprise Managerでは、「最大ログ・サイズ」プロパティおよび「ファイルの最大数」プロパティを指定することで、ログ・ファイルのローテーション・ポリシーを設定できます。たとえば、「最大ログ・サイズ」を10MBに、「ファイルの最大数」を10に、それぞれ設定すると、1番目のログ・ファイル(diagnostics.log)のサイズが1MB(「最大ログ・サイズ」/「ファイルの最大数」=10MB/10)に達すると、自動的にログ・ファイル・ローテーションが行われます。このファイルの名前はODLによってdiagnostic1.logに変更され、新しいdiagnostics.logへのロギングが開始します。このファイルのサイズが1MBに達すると、その名前はdiagnostics2.logに変更され、diagnostics.logへのロギングが続行されます。ファイル数が10個に達すると、最も古いログ・ファイル(diagnostics1.log)が消去され、新しくdiagnostics11.logが作成されます。この例では、すべてのログ・ファイルの最大サイズを10MBに、最大ファイル数を10個に制限しています。これによって、任意のサイズの巨大ログ・ファイルが作成されてマシンのディスク容量が不足することで本番システムが停止する危険性を防止しています。

10. 変更を有効にするためにコンポーネントを再起動します(第6.4項「Oracle Reportsコンポーネントの起動、停止および再起動」を参照)。

Oracle Enterprise Managerのログ・ビューアで変更の効果を表示するには、第6.11.1項「ログ・ファイルの表示および検索」を参照してください。

6.18.2 フォント問題の診断

第6.9.2項「フォント問題の診断」を参照してください。

7 Oracle Reports Servicesの構成

Oracle Fusion Middlewareをインストールすると、Oracle Reportsが自動的に構成されます。環境をカスタマイズするために調整が必要なこともありますが、環境全体または大部分を設定する必要はありません。

この章には主に、デフォルト構成に対する理解を深めるうえで参考となる情報が記載されています。ここでは、サービス関連の構成ファイルを示し、ほとんどのファイルの内容を詳細に説明します。ここには主に次のような項があります。

- 第7.1項「Oracle Reports Services構成ファイル」

- 第7.2項「Reports Server構成ファイル」

- 第7.3項「Oracle Reports Servlet構成ファイル」

- 第7.4項「Oracle Reports Bridge構成ファイル」

- 第7.5項「ネットワーク構成ファイル」

- 第7.6項「URLエンジンの構成」

- 第7.7項「プロキシ情報の入力」

- 第7.8項「Oracle Process Manager and Notification ServerおよびOracle Enterprise ManagerによるReports Serverの構成」

- 第7.10項「Oracle ReportsとOracle BPEL Process Managerとの通信の構成」

- 第7.11項「レポート配布の最適化」

- 第7.12項「サンプルsystem-jazn-data.xmlファイル」

- 第7.13項「Reports管理対象サーバーの構成」

- 第7.14項「Oracle ReportsのHTTPSの有効化」

構成の際には、環境変数も設定します。環境変数は、インストール時に自動的に設定されます。環境変数の詳細は、付録B「環境変数」を参照してください。

7.1 Oracle Reports Services構成ファイル

この項では、Oracle Reports Servicesに関連付けられている構成ファイルについて説明します。多くの場合、これらのファイルをユーザーが操作する必要はありません。これらのファイルは、サーバー環境の多くの部分をコントロールするので、ユーザーが不適切に変更すると、サーバー環境に不具合が発生する可能性があります。構成ファイルをユーザー自身で変更する場合は、必ず現行バージョンのバックアップを作成してください。

ノート:

Reportsアプリケーションは、ステージなしモードで次の場所にデプロイされます。

DOMAIN_HOME/servers/WLS_REPORTS/tmp/_WL_user/reports_version/random_string

Reportsアプリケーションの構成ファイルは指定した場所(前述)のconfigurationディレクトリにありますが、これらは古いファイルなので、編集しないでください。Oracle Enterprise ManagerまたはシステムMBeanブラウザを使用してReportsアプリケーションの構成ファイルを変更しても、構成ディレクトリにあるファイルには一切反映されません。

Reportsアプリケーション構成ファイルの正しい場所は次のとおりです。

DOMAIN_HOME/config/fmwconfig/servers/WLS_REPORTS/applications/reports_version/configuration

Oracle Reports Servicesに関連付けられている構成ファイルの一覧は、表7-1を参照してください。

ノート:

表7-1で指定されているパスは、Windowsを前提として円記号(\)を使用していますが、WindowsおよびUNIXのどちらの環境でも同じパスです。

表7-1 Oracle Reports Services構成ファイル

コンポーネント

構成ファイル

Reports Server (rwserver)

ORACLE_HOME\reports\dtd\rwserverconf.xsd

スタンドアロン・サーバーの場合:

ORACLE_INSTANCE\config\ReportsServerComponent\server_name\rwserver.conf

インプロセス・サーバーの場合:

$DOMAIN_HOME/config/fmwconfig/servers/<WLSサーバー名>/applications/reports_<バージョン>/configuration/rwserver.conf

rwserverconf.xsdファイルには、rwserver.confとrwbuilder.confの要素と属性のデータ型の定義が格納されています。

rwserver.confファイルには、Reports Serverキャッシュ、Oracle Reportsエンジンおよびセキュリティの初期値が定義されています。また、有効な宛先タイプが登録されているだけでなく、その他のサーバー関連値が設定されています。このファイルは、サーバー起動時に自動的に作成されます。

詳細は、第7.2項「Reports Server構成ファイル」を参照してください。

Reports Serverネットワーク構成ファイル: ORACLE_INSTANCE\config\ReportsServerComponent\
server_name\rwnetwork.conf

ORACLE_HOME\reports\dtd\rwnetworkconf.xsd

rwnetworkconf.xsdには、rwnetwork.confの要素と属性のデータ型の定義が格納されています。

詳細は、第7.5項「ネットワーク構成ファイル」を参照してください。

Oracle Reports Builder(rwbuilder)

Oracle Reports Runtime(rwrun)

ORACLE_HOME\reports\dtd\rwserverconf.xsd
ORACLE_INSTANCE\config\ReportsToolsComponent\ReportsTools\rwbuilder.conf

rwserverconf.xsdファイルには、rwserver.confとrwbuilder.confの要素と属性のデータ型の定義が格納されています。第7.2.1項「Reports Serverの構成要素」を参照してください。

rwbuilder.confファイルにより、Oracle Reports BuilderとOracle Reports Runtimeに埋め込まれているReports Serverを構成します。リクエストはすべてReports Server経由で実行される必要があるので、レポートを実行するサーバーがOracle Reports Builderでは必要です。Oracle Reports Builderにより、リクエストを処理するReports Serverが自動的に起動されます。Oracle Reports Builderからレポートを実行する際、起動されるインプロセスのReports Serverインスタンスではこのファイルから構成を取得します。rwserver.confファイルと同様、このファイルはそのデータ型定義をrwserverconf.xsdファイルに依存します。ただし、persistFileおよびsecurityの各要素は除きます。

Reports Builderネットワーク構成ファイル: ORACLE_INSTANCE\config\ReportsToolsComponent\ReportsTools\rwnetwork.conf

ORACLE_HOME\reports\dtd\rwnetworkconf.xsd

rwnetworkconf.xsdには、rwnetwork.confの要素と属性のデータ型の定義が格納されています。

詳細は、第7.5項「ネットワーク構成ファイル」を参照してください。

Oracle Reports Servlet(rwservlet)

ORACLE_HOME\reports\dtd\rwservlet.xsd
$DOMAIN_HOME\config\fmwconfig\servers\<WLS_SERVER_NAME>\applications\reports_<version>\configuration\rwservlet.properties

rwservlet.xsdファイルには、rwservlet.propertiesパラメータのデータ型の定義が格納されています。

詳細は、第7.3項「Oracle Reports Servlet構成ファイル」を参照してください。

Reports Servletネットワーク構成ファイル: $DOMAIN_HOME\config\fmwconfig\servers\<WLS_SERVER_NAME>\applications\reports_<version>\configuration\rwnetwork.conf

ORACLE_HOME\reports\dtd\rwnetworkconf.xsd

rwnetworkconf.xsdには、rwnetwork.confの要素と属性のデータ型の定義が格納されています。

詳細は、第7.5項「ネットワーク構成ファイル」を参照してください。

Oracle Reports Bridge(rwbridge)

ORACLE_HOME\reports\dtd\bridgeconfig.xsd
ORACLE_INSTANCE\config\ReportsBridgeComponent\bridge_name\rwbridge.conf

bridgeconfig.xsdファイルには、rwbridge.confの要素と属性のデータ型の定義が格納されています。

詳細は、第7.4項「Oracle Reports Bridge構成ファイル」を参照してください。

Reports Bridgeネットワーク構成ファイル: ORACLE_INSTANCE\config\ReportsBridgeComponent\bridge_name\rwnetwork.conf

注意: ORACLE_INSTANCE\config\ReportsBridgeComponentディレクトリはデフォルトでは作成されません。これは、ユーザーがopmnctlを使用してReports Bridgeを作成する際に作成されます。

ORACLE_HOME\reports\dtd\rwnetworkconf.xsd

rwnetworkconf.xsdには、rwnetwork.confの要素と属性のデータ型の定義が格納されています。

詳細は、第7.5項「ネットワーク構成ファイル」を参照してください。

7.2 Reports Server構成ファイル

Oracle Reports ServicesのReports Serverコンポーネントの構成設定は、表7-1で指定されているディレクトリにあるrwserver.confおよびrwbuilder.confのXMLファイルに格納されます。

これらのファイルはどちらも、WindowsおよびUNIXにおいてデフォルトのサーバー構成値を含むrwserver.templateファイル(ORACLE_HOME\reports\conf内)によってサポートされています。

rwserver.confファイルは、デフォルトのサーバー構成ファイルです。rwbuilder.confファイルにより、Oracle Reports Builderによってインプロセスで使用されるサーバー・インスタンスを構成します。

rwserver.confファイルおよびrwbuilder.confファイルの内容は、ほぼ同じです。唯一の違いは、rwbuilder.confはpersistFileやsecurityの構成要素(この項で後述)を使用しないことです。

これらのファイルは、次の条件で自動的に作成されます。

- 新しいReports Serverコンポーネントが作成されるときに、rwserver.confファイルが作成されます。

- rwbuilder.confファイルは、デフォルトで事前構成されています。

この項では、次の項目について説明します。

- Reports Serverの構成要素

- 動的な環境切替え

7.2.1 Reports Serverの構成要素

rwserver.confとrwbuilder.confの要素と属性を構成するために、rwserverconf.xsdファイルには次のデータ型の定義が格納されています。

- ORBPorts

- pluginParam

- cache

- cluster

- connection

- destination

- environment

- envVariable

- engine

- job

- jobRecovery

- jobStatusRepository

- log

- jobRepository

- notification

- oidconnection

- orbClient

- persistFile

- identifier

- property

- queue

- folderAccess

- security

- proxyServer

- domain

- bypassProxy

- proxyServers

- proxyInfo

- webLayout

- dbProxyKey

- dbProxyConnKeys

- jobThresholds

- server

これらの要素は、関連する属性およびサブ要素とともに、次の各項で説明します。

これらはXML要素です。XMLは大文字と小文字を区別することに注意してください。また、これらの要素のいずれかをrwserver.confまたはrwbuilder.confの構成ファイルに追加する場合、rwserverconf.xsdに記述されている要素の順序に従う必要があります。

7.2.1.1 ORBPorts

ORBPorts要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="ORBPorts">
<xs:complexType>
<xs:attribute name="value" use="required" type="xs:string"/>
</xs:complexType>
</xs:element>

例

ORBPorts要素は、rwserver.confで次の例のように指定できます。

ポート範囲を指定するには:

<ORBPorts value="17000-17010"/>

特定のポートを指定するには:

<ORBPorts value="17000,17010,17020,17030,17040"/>

必須/オプション

オプションです。デフォルトの場合、CORBAオブジェクトは、通信に使用可能な任意のポートを使用します。Reports ServerではCORBA通信が使用されるため、使用可能な空きポートが通信に使用されます。任意のポートではなく事前定義済のポートをReports Serverで使用する必要がある場合、サーバー構成ファイルにORBPorts要素を含める必要があります。

説明

ORBPorts要素では、CORBA通信に使用するポートを、ポート範囲または特定のポートのどちらかで指定します。ORBPortsを指定すると、ORB内部通信用に指定されたリストから1つのポートが選択されます。Reports Serverと各エンジンのそれぞれに、1つのポートが必要です。

ノート:

ORBPorts要素は、レポート関連のリクエストの実行に必要な固有のポートを、Reports Serverとエンジンに割り当てる目的で使用されます。これらのポートを、Oracle Enterprise Managerの「ポート」リンクから表示されるポートと混同しないでください。このリンクから表示されるポートは、Reports Server検出メカニズムとOracle Reports Bridgeコンポーネント用に予約されたポートです。

個々のエンジンに対して、ポート番号を指定することはできません。各エンジンは、リスト内の次のポート番号を取得します。engine要素のmaxengine属性がrwEngに対して5に設定されているときに、URLEngも有効化されている場合、ORBPorts要素にポートを7つ以上指定する必要があります(Reports Server用に1つ、rwEng用に5つ、rwURLEng用に1つ必要)。

ORBPorts要素の属性を、表7-2で説明します。

表7-2 ORBPorts要素の属性

属性

有効値

説明

value

ポート範囲

または

カンマ区切りの番号

Reports ServerとエンジンによるCORBA通信に使用可能なポート範囲

ノート:

Reports Serverが実行されているサーバーでTCPポート・フィルタリングが有効化されている場合にのみ、ORBPorts要素を指定します。ポート・フィルタリングが有効化されている場合、Reports Server用のポートをいくつか開いてから、ORBPortsを使用して、Reports Serverとエンジンで通信を行うためのポートをサーバー構成ファイルに指定します。指定されたポートがすべて使用不可の場合、Reports Serverまたはエンジンは起動に失敗し、エラーが表示される場合があります。

7.2.1.2 pluginParam

pluginParam要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="pluginParam">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" use="required" type="xs:ID"/>
<xs:attribute name="value" use="required" type="xs:string"/>
<xs:attribute name="type" default="text">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="text"/>
<xs:enumeration value="file"/>
<xs:enumeration value="url"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>

例

pluginParam要素は、rwserver.confで次の例のように指定できます。

<pluginParam name="mailServer" value="mail.oracle.com">
<property name="enableSSL" value="yes"/>
<property name="mailUserName" value=%MAILUSER%">
<property name="mailPassword" value=%xyz%">
</pluginParam>

必須/オプション

オプションです。pluginParam要素は、必要な数だけ指定できます。

説明

pluginParam要素は、電子メール、JDBCプラガブル・データ・ソース(PDS)、テキストPDSなどの一部のビルトイン宛先で使用できるプラグインを指定する手段を提供します。これはビルトイン宛先のFTPおよびWebDAVでは使用されず、Faxなどのカスタムのプラガブル宛先では使用できません。今回のリリースでは、すべてのサーバーに独自にtextpds.conf、jdbcpds.confおよびxmlpds.confの各ファイルが配置されます。

ビルトイン宛先でサポートおよび必要とされるプラグインであれば、任意のプラグイン・パラメータを指定でき、また自由に命名できます。

pluginParam要素の属性を、表7-3で説明します。

表7-3 pluginParam要素の属性

属性

有効値

説明

name

Oracle Enterprise Managerの「Reports Server基本構成」ページの「メール・サーバー」で、電子メールの宛先として設定します。

文字列

プラグイン・パラメータの名前。

name="mailServer"と設定されている場合のenableSSLプロパティを指定する方法の詳細は、この表の後に記載されている「プロパティ」を参照してください。

value

文字列

指定されたプラグイン・パラメータの値。

type

text

file

url

デフォルト: text

指定されているプラグインのタイプ。

textの場合は、メール・サーバーの名前など、指定されているプラグイン・パラメータを識別できる文字列を指定します。textは、pluginParam要素の内容がテキストであることを示すので、getPluginParam()メソッドは要素に指定されている内容をそのまま返します。

fileの場合は、プラグイン・パラメータ・ファイルのディレクトリ・パスとファイル名を指定します。ディレクトリ・パスは、Reports Serverのホスト・マシン(WindowsまたはUNIX)の標準に従って指定します。fileは、pluginParam要素の内容がファイル名であることを示すので、getPluginParam()メソッドは指定されたファイルから読み込んだ内容を返します。

urlの場合は、FTPサイトへの完全なURLなど、プラグイン・パラメータで必要とする完全な絶対URLを指定します。urlは、pluginParam要素の内容がURLであることを示すので、getPluginParam()メソッドはそのURLから読み込んだ内容を返します。使用するURLとOracle Reports Servicesは、ファイアウォールの同じ側に位置する必要があります。

デフォルト・タイプ(text)を使用するときは、pluginParam文字列で指定する必要はありません。この項の最初に示した例では、プラグイン・パラメータ(メール・サーバー名)がデフォルト・タイプのtextであるので、typeの指定がありません。

プロパティ

オプションで、pluginParam要素に複数のpropertyサブ要素も入力できます。唯一の要件は、指定されたプラグイン・パラメータによって識別される名前と値のペアにすることです。例:

<pluginParam name="mailServer" value="%MAILSERVER%">
<property name="enableSSL" value="yes"/>
</pluginParam>

この例では、propertyサブ要素によってenableSSLプロパティが指定されています。このプロパティは、mailServerにのみ適用されます。指定されたmailServerがSSL対応である場合、平文による接続リクエストは拒否されます。このため、指定されたmailServerとの接続を確立して電子メールを送信するには、SSL Socketを使用する必要があります。デフォルトでは、enableSSLの値は以前のリリースとの互換性を確保するためにnoになります。

7.2.1.3 cache

cache要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="cache">
<xs:complexType>
<xs:sequence>
<xs:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="class" default="oracle.reports.cache.RWCache"
type="xs:string"/>
</xs:complexType>
</xs:element>

例

cache要素は、rwserver.confで次の例のように指定できます。

<cache class="oracle.reports.cache.RWCache">
<property name="cacheSize" value="50"/>
<property name="cacheDir" value="D:\orawin\reports\server\cache"/>
</cache>

必須/オプション

オプションです。サーバー構成ファイルに1つのcache要素を指定できます。cache要素が指定されていない場合は、デフォルトが使用されます(oracle.reports.cache.RWCache)。

説明

cache要素により、サーバーのキャッシュ実装を定義するJavaクラスを指定します。デフォルトのcache Javaクラスを使用できますし、Oracle Reports ServicesのCache APIを使用して独自の実装を定義できます。

ノート:

cache APIの詳細は、Oracle Technology Network (OTN)(http://www.oracle.com/technetwork/middleware/reports/overview/index.html)で提供されている『Oracle Reports Java API Reference』を参照してください。

cache要素の属性を、表7-4で説明します。

表7-4 cache要素の属性

属性

有効値

説明

class

「説明」欄を参照してください。

デフォルト: oracle.reports.cache.RWCache

oracle.reports.cache.Cacheインタフェースを実装する完全修飾されたJavaクラス

プロパティ

オプションで、cache要素に複数のpropertyサブ要素も入力できます。唯一の要件は、cacheに登録する実装クラスによって識別される名前と値のペアにすることです。たとえば、Oracle Reports Servicesで用意されているデフォルトcache Javaクラスを使用する場合、構成エントリは次のようになります。

<cache class="oracle.reports.cache.RWCache">
<property name="cacheSize" value="50"/>
<property name="cacheDir" value="D:\orawin\reports\server\cache"/>
</cache>

この例では、cacheSizeの単位はメガバイトで、キャッシュの位置を示すcacheDirはWindowsプラットフォーム向けに指定されています。UNIXでは、次のようなUNIX標準を使用します。

<property name="cacheDir" value="home/john/HRInstance/reports/server/cache"/>

デフォルトのcache Javaクラスは、次のプロパティも提供します。

- JOCCacheDirでは、Javaオブジェクト・キャッシュが使用されます。例:

<property name="JOCCacheDir" value="\\host\shared"/>

- maxCacheFileNumber。キャッシュで許可されるファイルの最大数。例:

<property name="maxCacheFileNumber" value="250"/>

このプロパティ値は、Oracle Enterprise Managerの「Reports Server拡張構成」ページの「最大キャッシュ・ファイル数」で指定します。

- ignoreParametersは、Reports Serverがキャッシュ・キーを作成する際に無視したいレポート・パラメータをリストします。(Reports Serverは、キャッシュ・キーを使用して、受信したジョブ・リクエストがキャッシュ内の既存出力に一致するかどうかを判断します。)

<property name="ignoreParameters" value="param1,param2"/>

- Java Object Cache (JOC)キャッシュ・ディレクトリを構成するには、次の手順を実行します。

<cache class="oracle.reports.cache.RWCache">
<property name="JOCCacheDir" value="\\host\shared"/>
</cache>

ここで、hostは共有フォルダがあるマシン、sharedはフォルダ名です。

7.2.1.4 cluster

ノート:

Oracle Reports 10g リリース2 (10.1.2)では、Reports Serverクラスタリングは非推奨であり(詳細は『A Guide to Functional Changes Between Oracle Reports 6i and 11g』を参照)、cluster要素は無効でした。

高可用性を実現するOracle Fusion Middleware技法の詳細は、第2.5項「高可用性環境の設定」を参照してください。

7.2.1.5 connection

connection要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="connection">
<xs:complexType>
<xs:sequence>
<xs:element ref="orbClient" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>

<xs:attribute name="idleTimeOut" default="15">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

<xs:attribute name="maxConnect" default="50">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

</xs:complexType>
</xs:element>

例

connection要素は、rwserver.confで次の例のように指定できます。

<connection idleTimeOut="20" maxConnect="50" >
<orbClient id="RWClient" publicKeyFile="clientpub.key"/>
</connection>

必須/オプション

オプションです。サーバー構成ファイルでconnection要素を指定しない場合、デフォルト値が使用されます(表7-5を参照)。サーバー構成ファイルに1つのconnection要素を指定できます。

説明

connection要素は、サーバーとサーバーに接続されているクライアント間の接続ルールを定義します。

connection要素の属性を、表7-5で説明します。

表7-5 connection要素の属性

属性

有効値

説明

idleTimeOut

Oracle Enterprise Managerの「Reports Server拡張構成」ページの「接続のアイドル・タイムアウト(分)」で設定されます。

数値

デフォルト: 15

接続のアイドル状態が許可される時間(分)。

maxConnect

Oracle Enterprise Managerの「Reports Server拡張構成」ページの「最大接続数」で設定されます。

数値

デフォルト: 50

Reports Serverが同時にサービスを提供できるリクエストの最大数。リクエスト数がmaxConnect値を超えると、Java例外が返されます。

connection要素には、第7.2.1.17項「orbClient」で説明されているorbClientサブ要素も含まれます。

7.2.1.6 destination

destination要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="destination">
<xs:complexType>
<xs:sequence>
<xs:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="class" use="required" type="xs:string"/>
<xs:attribute name="destype" use="required" type="xs:string"/>
</xs:complexType>
</xs:element>

例

destination要素は、rwserver.confで次の例のように指定できます。

<destination destype="oraclePortal" class="oracle.reports.server.DesOraclePortal">
<property name="portalUserid"
value="portal_db_username/portal_password@portal_db_connection"
encrypted="no"/>
</destination>

必須/オプション

オプションです。destination要素をサーバー構成ファイルに入力しなかった場合は、用意されている宛先クラスが使用されます(プリンタ、電子メール、ファイル、キャッシュおよびOracle Portal。サーバーからポータルへのログインに使用されるユーザーIDとパスワードを指定するには、サーバー構成ファイルにエントリが必要なので、ポータルは例外)。任意の数のdestination要素をサーバー構成ファイルで設定できます。

説明

destination要素を使用して、サーバーとともに宛先タイプを登録できます。

次のデフォルトの宛先を登録する必要はありません。

- キャッシュ

- 電子メール

- プリンタ

- ファイル

- FTP

- WebDAV

次のデフォルトの宛先を登録できます 。

- Oracle Portal: この宛先のエントリはデフォルトでサーバー構成ファイルに作成されますが、コメント・アウトされます。この宛先の使用を開始するには、destinationエントリのコメントを外し、適切なプロパティ値(portalUseridプロパティの値など)を指定する必要があります。

Oracle Reports Services Destinations APIで作成した新しい宛先タイプは登録する必要があります。

ノート:

destination APIの詳細は、Oracle Technology Network (OTN)(http://www.oracle.com/technetwork/middleware/reports/overview/index.html)で提供されている『Oracle Reports Java API Reference』を参照してください。

宛先の構成の詳細は、第12章「Oracle Reports Servicesの宛先の構成」を参照してください。

destination要素の属性を、表7-6で説明します。

表7-6 destination要素の属性

属性

有効値

説明

class

文字列

Reports ServerのDestination Javaクラス(oracle.reports.server.Destination)のサブクラスである完全修飾されたJavaクラス。使用可能な値は、次のとおりです。

oracle.reports.server.DesMail

oracle.reports.server.DesFile

oracle.reports.server.DesPrinter

oracle.reports.server.DesOraclePortal

destype

文字列

宛先タイプを識別します。例:

destype="printer"

プロパティ

オプションで、destination要素に複数のpropertyサブ要素も入力できます。唯一の要件は、Reports ServerのDestination JavaクラスのサブクラスであるJavaクラスによって識別される名前と値のペアにすることです。例:

<destination destype="oraclePortal" class="oracle.reports.server.DesOraclePortal">
<property name="dbuser" value="$$PORTAL_DB_USERNAME$$"/>
<property name="dbpassword" value="csf:$$CSF_ALIAS$$:$$PORTAL_DB_PASSWORD_KEY$$"/>
<property name="dbconn" value="$$PORTAL_DB_TNSNAME$$"/>
</destination>

この例では、propertyサブ要素によって接続情報が提供され、Reports ServerでOracle Portalにアクセスできるようになります。encrypted属性を指定することで、Reports Serverの次回起動時にportalUserid値が自動的に暗号化されます。

ノート:

portalUseridデータベース接続文字列については、thin (scott/tiger@testhost.mydomain.com:1521:iasdb)とOracle Call Interface (scott/tiger@ordb)の両方のJDBCフォーマットがサポートされます。

destinationの実装で追加情報が必要な場合、その情報をpluginParam要素で指定します。

7.2.1.7 environment

environment要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="environment">
<xs:complexType>
<xs:sequence>
<xs:element ref="envVariable" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" use="required" type="xs:ID"/>
</xs:complexType>
</xs:element>

例

environment要素は、rwserver.confで次の例のように指定できます。

<environment id="JP">
<envVariable name="NLS_LANG" value="Japanese_Japan.JA16SJIS"/>
<envVariable name="NLS_CURRENCY" value="¥"/>
<envVariable name="DISPLAY" value="MyServer.MyCompany.com:0.0"/>
</environment>

必須/オプション

オプションです。environment要素は、必要な数だけ指定できます。

説明

environment要素は、特定のランタイム環境を設定するために使用する特性(環境変数)を定義します。environment要素は、必要な数だけ指定できます(たとえば、サポートが必要な言語や地域ごとに1つずつ指定できます)。environment要素の中では、必要な数だけenvVariable要素を追加できます。

environment要素のIDを参照して、その要素の設定を呼び出します。environment要素のIDは、次のところから参照できます。

- Reports Server構成ファイルのengine要素のdefaultEnvId属性。エンジンの起動時に、対応する環境設定をそのエンジンに適用します。詳細は、第7.2.1.9項「engine」を参照してください。

- レポートのジョブ・リクエストのコマンドライン・キーワードENVID。特定のレポートのジョブ・リクエストについてのみ環境設定を有効にします。

environment要素の属性を、表7-7で説明します。

表7-7 environment要素の属性

属性

有効値

説明

id

Oracle Enterprise Managerの「Reports Server基本構成」ページの「デフォルト環境ID」で設定されます。

文字列

環境の名前

environment要素には、第7.2.1.8項「envVariable」で説明されているenvVariableサブ要素が1つ以上含まれます。

7.2.1.8 envVariable

envVariable要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="envVariable">
<xs:complexType>
<xs:attribute name="name" use="required" type="xs:string"/>
<xs:attribute name="value" use="optional" type="xs:string"/>
</xs:complexType>
</xs:element>

例

envVariable要素は、rwserver.confで次の例のように指定できます。

<envVariable name="NLS_LANG" value="Japanese_Japan.JA16SJIS"/>
<envVariable name="NLS_CURRENCY" value="¥"/>
<envVariable name="DISPLAY" value="MyServer.MyCompany.com:0.0"/>

必須/オプション

オプションです。

説明

各envVariableは、名前と値のペアで指定します。これらのサブ要素には標準の環境変数またはユーザー定義の環境変数を設定できます。

envVariableは、environment要素のサブ要素です。

envVariable要素の属性を、表7-8で説明します。

表7-8 envVariable要素の属性

属性

有効値

説明

name

Oracle Enterprise Managerの「Reports Server基本構成」ページの「追加」で設定されます。

文字列

使用する環境の名前(NLS_LANGなど)

value

Oracle Enterprise Managerの「Reports Server基本構成」ページの「追加」で設定されます。

文字列

name属性で識別される環境変数に割り当てる値(Japanese_Japan.JA16SJISなど)

7.2.1.9 engine

engine要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="engine">
<xs:complexType>
<xs:sequence>
<xs:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>

<xs:attribute name="id" use="required" type="xs:string"/>
<xs:attribute name="class" use="required" type="xs:string"/>

<xs:attribute name="maxEngine"  use="required">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

<xs:attribute name="minEngine" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

<xs:attribute name="engLife"  use="required">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

<xs:attribute name="maxIdle" default="30">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

<xs:attribute name="callbackTimeOut"  default="90000">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="60000"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

<xs:attribute name="engineResponseTimeOut">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

<xs:attribute name="initEngine" type="xs:integer"/>
<xs:attribute name="jvmOptions" type="xs:string"/>
<xs:attribute name="classPath" type="xs:string"/>
<xs:attribute name="defaultEnvId" type="xs:string"/>

</xs:complexType>
</xs:element>

例

engine要素は、rwserver.confで次の例のように指定できます。

<engine id="rwEng" class="oracle.reports.engine.EngineImpl" initEngine="1"
maxEngine="5" minEngine="1" engLife="50" maxIdle="15" callbackTimeOut="90000">
<property name="sourceDir" value="D:\orawin\reports\myReport"/>
<property name="tempDir" value="D:\orawin\reports\myTemp"/>
</engine>

必須/オプション

必須です。構成ファイルに1つ以上のengine要素を指定する必要があります。

説明

engine要素は、完全修飾されたJavaクラスを識別します。このJavaクラスは、エンジンを起動し、エンジンの動作制御を設定する多数の属性を提供します。Oracle Reports Servicesで用意されているデフォルト・エンジンを使用できますし、Oracle Reports ServicesのEngine APIを使用して独自の実装を定義できます。カスタム・エンジンの例としては、データベース・イベントの発生時に特定のオペレーティング・システム・コマンドを実行するエンジンなどを開発できます。

ノート:

engine APIの詳細は、Oracle Technology Network (OTN)(http://www.oracle.com/technetwork/middleware/reports/overview/index.html)で提供されている『Oracle Reports Java API Reference』を参照してください。

engine要素の属性を、表7-9で説明します。

表7-9 engine要素の属性

属性

有効値

説明

id

文字列

特定のengine要素を識別する、構成XMLファイル内で一意のキーワード。テキスト文字列または数字のどちらでも使用できます。例:

id="rwEng"

class

文字列

デフォルト: oracle.reports.engine.EngineImpl

oracle.reports.engine.Engineおよびoracle.reports.engine.EngineInterfaceの2つのインタフェースを実装する完全修飾されたJavaクラス。

maxEngine

Oracle Enterprise Managerの「Reports Server基本構成」ページの「最大エンジン数」で設定されます。

数値

デフォルト: 1

サーバーで実行できるこのタイプのエンジンの最大数。

minEngine

Oracle Enterprise Managerの「Reports Server基本構成」ページの「最小エンジン数」で設定されます。

数値

デフォルト: 0

サーバーで維持されるこのタイプのエンジンの最小数。

engLife

Oracle Enterprise Managerの「Reports Server基本構成」ページの「ジョブの最大キュー・サイズ」で設定されます。

数値

デフォルト: 50

エンジンが終了する前、および必要に応じて新しいエンジンが開始する前に、エンジンで実行できるジョブの数。この機能により、メモリー・リークを防止できます。

maxIdle

Oracle Enterprise Managerの「Reports Server基本構成」ページの「停止前の最大アイドル時間(分)」で設定されます。

数値

デフォルト: 30

エンジンの現在数がminEngineを超えている場合に、エンジンが停止する前に許可されるアイドル時間(分単位)。

たとえばminEngineが0、maxIdleが30であり、1つのエンジンが実行中の場合、このエンジンは30分間使用されないと停止します。同じ条件でminEngineが1の場合、30分間アイドル状態であっても実行中のエンジンは停止しません。

callbackTimeOut

数値

デフォルト: 90000

サーバーがエンジンを起動してからエンジンがサーバーに応答するまでに許可される待ち時間(ミリ秒)。

サーバーをホスティングするマシンが非常に高速である場合、小さい数を指定するとパフォーマンスが向上します。

engineResponseTimeOut

Oracle Enterprise Managerの「Reports Server拡張構成」ページの「エンジン・レスポンス・タイムアウト(分)」で設定されます。

数値

デフォルト: null(タイムアウトなし)

ユーザー環境でのレポート実行中にエンジンがジョブのステータス更新に要する最大時間(分)。ジョブのステータスを更新する時間がなんらかの理由(エンジンがハングしたりSQL問合せが長時間ブロックされるなど)でこの最大時間を超えると、Reports Serverではジョブが終了します。

initEngine

数値

デフォルト: 1

初期化時にReports Serverで起動するエンジンの数。

rwrunを使用してレポートを実行する場合、デフォルト値のinitEngine="1"が保持されます。rwrunで同時に実行できるレポートは1つのみなので、他の値に設定すると、レポートは実行されない場合があります。

jvmOptions

Oracle Enterprise Managerの「Reports Server基本構成」ページの「JVMオプション」で設定されます。

文字列

Java Virtual Machine (JVM)でエンジンを起動するときにReports Serverで使用するJVMオプション。たとえば、この属性を使用してJVMの開始ヒープ・サイズと最大ヒープ・サイズ、追加のCLASSPATHエントリなどを指定できます。

この属性を指定しない場合、サーバー環境で実行されるエンジンは、REPORTS_JVM_OPTIONS環境変数値によって指定されるJVMオプションを使用します。詳細は、第B.1.54項「REPORTS_JVM_OPTIONS」を参照してください。

classPath

文字列

class属性で指定されるJavaクラスへのディレクトリ・パス。ディレクトリは、サーバー・プラットフォームの表記規則に従って指定します。例:

Windowsの場合:

classPath=
"%ORACLE_HOME%\myEngine.jar"

UNIXの場合:

classPath="$ORACLE_HOME/myEngine.jar"

defaultEnvId

Oracle Enterprise Managerの「Reports Server基本構成」ページの「デフォルト環境ID」で設定されます。

文字列

(オプション属性)Reports Serverがエンジンを起動するときのデフォルト環境を指定します。この属性は、サーバー構成ファイルのenvironment要素に関連付けられたIDを取得します。

defaultEnvIdが指定されている場合、参照されたenvironment要素で指定される環境変数と、Reports Serverの実行に使用されている環境変数を使用してReports Serverでエンジンを起動します。

defaultEnvIdが指定されていない場合、起動時に有効になっている環境設定を使用してReports Serverでエンジンを起動します。

詳細は、第7.2.2項「動的な環境切替え」を参照してください。

プロパティ

オプションで、engine要素に複数のpropertyサブ要素も入力できます。唯一の要件は、Oracle Reportsエンジンを実装するJavaクラスによって識別される名前と値のペアにすることです。

表7-10 engine要素のプロパティ

プロパティ

有効値

説明

sourceDir

Oracle Enterprise Managerの「Reports Server拡張構成」ページの「Reportsソース・ディレクトリ」で設定されます。

ディレクトリ・パス

レポート定義ファイルに使用するデフォルト・ディレクトリ。これは、REPORTS_PATH環境変数で指定したパス情報より優先されます。

sourcedirで指定されるディレクトリは、デフォルトではアクセスされません。使用されるのはファイルを検索する場合のみであり、ターゲット・ファイルが見つかった場合は、Oracle Reportsにより関連セキュリティ設定が個別に処理されます。

この表の後ろにある例を参照してください。

tempDir

Oracle Enterprise Managerの「Reports Server拡張構成」ページの「Reports作業ディレクトリ」で設定されます。

ディレクトリ・パス

Oracle Reports Servicesで一時ファイルに使用する作業ディレクトリの名前と位置。この値がデフォルト・エンジンに対して指定されていない場合、REPORTS_TMP環境変数で指定されている作業ディレクトリが使用されます。REPORTS_TMPが指定されていない場合、オペレーティング・システムのデフォルト作業ディレクトリが使用されます。

この表の後ろにある例を参照してください。

keepConnection

Oracle Enterprise Managerの「Reports Server拡張構成」ページの「データベース接続の維持」で設定されます。

YES|NO

デフォルト: YES

デフォルトのランタイム・エンジン実装(oracle.reports.engine.EngineImpl)によって使用されます。

YES: デフォルトのランタイム・エンジンは既存のデータベース接続情報を保持します。

NO: デフォルトのランタイム・エンジンは既存のデータベース接続情報を破棄し、ジョブに指定されたユーザーIDを使用して再接続します。

keepConnectionプロパティは、rwbuilderまたはrwrunを使用して配布されたレポートには影響しません。

以前のリリース(9.0.2.xなど)で使用されたrwserver.confファイルが現行の環境で実行されている場合、このプロパティは移行されます。

diagnosis

Oracle Enterprise Managerの「Reports Server拡張構成」ページの「エンジン診断の有効化」で設定されます。

YES|NO

Oracle Reports 10g リリース2 (10.1.2)で、エンジンのロギング用に導入されました。レポートの特定機能が正常に完了したかどうかを診断します。診断ログには、レポートの実行時におけるエンジンの重要なチェックポイントまたはタスクに関する情報が記録されます。この情報は、エンジンがレスポンスを停止しジョブがハング状態になった場合に役立ちます。

YES: 診断情報がdiagnostic.logファイルに書き込まれます。

エンジンの診断オプションでは、レポートのトレースよりも詳細な情報が提供されます。通常、トレースは、レポートの実行をデバッグする目的で、現在フォーマット中のファイルや現在実行中のレポート・トリガーなどに関する情報を取得する際に使用されます。

この表の後ろにある例を参照してください。

sourcedirおよびtempDirプロパティの例: Oracle Reports Servicesに付属するデフォルトのengine Javaクラスを使用する場合、engine構成エントリは次のようになります(Windows環境の場合)。

<engine id="rwEng" class="oracle.reports.engine.EngineImpl" initEngine="1"
maxEngine="5" minEngine="1" engLife="50" maxIdle="15" callbackTimeOut="90000">
<property name="sourceDir" value="D:\orawin\reports\myReport"/>
<property name="tempDir" value="D:\orawin\reports\myTemp"/>
</engine>

この構成ではデフォルトのengineクラスが使用されるので、classPath属性は指定されません。

diagnosisプロパティの例: エンジンの診断オプションを有効にするには、engine構成要素を次のように指定できます。

<engine id="rwEng" class="oracle.reports.engine.EngineImpl" initEngine="2"
maxEngine="8" minEngine="1" engLife="1" maxIdle="3" callbackTimeOut="90000">
<property name="diagnosis" value="yes"/>
</engine>

7.2.1.10 job

job要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="job">
<xs:complexType>
<xs:attribute name="engineId" use="required" type="xs:string"/>
<xs:attribute name="jobType" default="report" type="xs:string"/>
<xs:attribute name="securityId" type="xs:string"/>
<xs:attribute name="retry" default="0">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>

例

job要素は、rwserver.confで次の例のように指定できます。

<job jobType="report" engineId="rwEng" securityId="rwSec" retry="3"/>

必須/オプション

必須です。1つ以上のjob要素を指定する必要があります。

説明

job要素は、engineおよびsecurityの各要素と連携して動作します。jobを使用して、ジョブ・タイプを識別し、そのタイプのジョブで使用するエンジンおよびセキュリティの実装を指定します。たとえば、ユーザーが開発した、データベース・イベントの発生時に特定のオペレーティング・システム・コマンドを実行するエンジンなどです。Oracle Reports Servicesのイベントドリブン型公開APIを使用して、イベントを特定のジョブ・タイプとして識別します。そのイベントが発生すると、ジョブ・タイプ情報がReports Serverに渡されます。そして、Reports Serverが構成ファイルのjob要素でそのジョブ・タイプを検索し、要素の属性で指定されている指示に従います。この指示は、そのタイプのジョブに指定されたエンジン(さらに該当する場合はセキュリティの実装)に対するものです。

job要素の属性を、表7-11で説明します。

表7-11 job要素の属性

属性

有効値

説明

engineId

文字列

このジョブ・タイプを処理するエンジンに対して入力されたIDを参照します。利用可能なIDは、サーバー構成ファイルでengine要素のid属性を使用して指定されます。idは、特定のエンジンを識別する、構成XMLファイル内で一意のキーワードです。

jobType

文字列

デフォルト: report

サーバーで処理されるジョブのタイプを記述します。Reports Serverにあるエンジンがそのジョブ・タイプを処理できれば、任意のジョブ・タイプを入力できます。

Oracle Reportsで用意されているデータベース認証機能は、jobType=reportの場合にのみ使用できます。これは、Oracle Reports Servicesで用意されているデフォルト・エンジン(rwEng)のジョブ・タイプです。データベース認証機能は、jobTypeが別の値(たとえば、独自で開発したカスタム・エンジンなど)を指定している場合は実装されません。これは、カスタム・エンジンでは、接続文字列の形式が異なっていることが必要になる場合があるためです。Oracle Reportsのデータベース認証機能では、接続文字列はデフォルトのエンジンで使用されるOracle Reports形式のuser/password@dbnameに限定されます。

securityId

文字列

このジョブ・タイプに適用されるセキュリティ・メカニズムに対して入力されたIDを参照します。利用可能なIDは、サーバー構成ファイルのsecurity要素で指定されています。

retry

Oracle Enterprise Managerの「Reports Server拡張構成」ページの「ジョブの再試行」で設定されます。

整数

デフォルト: 0

jobType="report"の場合、ジョブを1回実行してからエンジンのクラッシュや不測のエラーによりジョブが失敗したときに実行するジョブ再試行の回数を指定します。指定された回数に達するまで別のエンジンにジョブは再送信されます。

ジョブが明示的に取り消された場合やjobType="rwurl"(URLエンジン)の場合は、この属性は無視されます。

無効な値が指定された場合、この属性は無視され、デフォルト値の0が使用されます。

コマンドラインでJOBRETRYが指定されている場合はその値が優先され、retry属性は無視されます。

7.2.1.11 jobRecovery

jobRecovery要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="jobRecovery">
<xs:complexType>
<xs:attribute name="auxDatFiles" default="no">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="yes"/>
<xs:enumeration value="no"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>

例

jobRecovery要素は、rwserver.confで次の例のように指定できます。

<jobRecovery auxDatFiles="yes"/>

必須/オプション

オプションです。ジョブ・リカバリ・メカニズムを有効化する場合は、jobRecovery要素をサーバー構成ファイルに追加します。デフォルトでは、ジョブ・リカバリ・メカニズムは無効化されています。

説明

jobRecovery要素には、auxDatFiles属性があります。auxDatFiles=yesを指定すると、リジリエンスが高いジョブ・リカバリ・メカニズムがOracle Reportsで有効化され、元の.datファイルがなんらかの原因で破損した場合に、ジョブの復旧が最大化されます。auxDatFiles=yesを指定すると、server_name.dat(メインの.datファイル)に加えて、次の2つの補助ファイルが作成されます。

- datfilename_offset.dat: メインの.datファイルのジョブの補助情報が格納され、メインの.datファイルからのジョブの取出しを支援します。

- datfilename_sc.dat: スケジュールされているすべてのジョブ情報が格納されます(メインの.datファイルに格納されている情報に加えて)。

ジョブ・リカバリ・メカニズムが有効化されている場合、Reports Serverは起動時にメインの.datファイルを読み取り、datfilename_offset.datファイルと連携して、それに格納されている補助情報を使用します。メインの.datファイルが破損しており、すべてのジョブ情報を取り出せない場合、datfilename_sc.datファイルの読取りを開始して、このファイルのスケジュール済ジョブをリカバリします。このように、datfilename_sc.datがバックアップ・ファイルとしての役割を果たすことで、メインの.datファイルが破損した場合の、スケジュールされたジョブのリカバリ可能性が最大化されます。

ジョブ・リカバリ・メカニズムが有効化されているときにdatfilename_offset.datファイルが見つからない場合(jobRecovery要素が初めて有効化されたときなど)、Reports Serverはメインの.datファイルからジョブを読み取り、残りの2つの補助ファイルを一から作成します。

server_name.dat、datfilename_offset.datおよびdatfilename_sc.datは3ファイルで1つのセットを形成し、補助ファイルが有効なのはジョブ・リカバリ・メカニズムが有効化されている場合のみです。ジョブ・リカバリ・メカニズムが無効化されているときに補助ファイルが検出されると、補助ファイルがファイル・システムから削除され、ファイル間の整合性が維持されます。こうした整合性上の理由で、これらの3つのファイルは必ず一緒に扱う必要があります(たとえば、マシン間でファイルをコピーする場合は、3ファイルを一緒にコピーする必要があります)。

jobRecovery要素の属性を、表7-12で説明します。

表7-12 jobRecovery要素の属性

属性

有効値

説明

auxDatFiles

yes

no

デフォルト: no

前述の説明を参照してください。

7.2.1.12 jobStatusRepository

jobStatusRepository要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="jobStatusRepository">
<xs:complexType>
<xs:sequence>
<xs:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="class" default="oracle.reports.server.JobRepositoryDB"
type="xs:string"/>
</xs:complexType>
</xs:element>

例

jobStatusReposity要素は、rwserver.confで次の例のように指定できます。

<jobStatusRepository>
<property name="dbuser" value="<dbuser>"/>
<property name="dbpassword" value=csf:reports:"<dbkey>"/>
<property name="dbconn" value="<dbconn>"/>
</jobStatusRepository>

必須/オプション

オプションです。サーバー構成ファイルに1つのjobStatusRepository要素を指定できます。

説明

jobStatusRepository要素は、ジョブ・ステータス・リポジトリを実装するJavaクラスを指定します。これによって、persistFile要素に加えてジョブ・ステータス情報を格納するための別の手段が実現します。

persistFileはバイナリ・ファイルであるため、アプリケーション内でジョブ・ステータス情報を公開する際には使用できません。jobStatusRepository要素は、ステータス情報を格納する追加手段を実現することで、アプリケーションのステータス情報を保存する手段を実現します。

デフォルトのクラスoracle.reports.server.JobRepositoryDBでは、情報はデータベースに格納されます。Oracle ReportsのAPIを使用して、目的の位置に情報を格納するようにReports ServerのJob Repositoryインタフェース(oracle.reports.server.JobRepository)を独自に実装します。

jobStatusRepository要素の属性を、表7-13で説明します。

表7-13 jobStatusRepository要素の属性

属性

有効値

説明

class

Oracle Enterprise Managerの「Reports Server拡張構成」ページの「ジョブ・リポジトリDBを有効にします」でデフォルト値に設定されます。

文字列

デフォルト: oracle.reports.server.JobRepositoryDB

Reports ServerのJob Repository Javaクラス(oracle.reports.server.JobRepository)を実装する完全修飾されたJavaクラス

プロパティ

オプションで、jobStatusRepository要素に複数のpropertyサブ要素を入力し、オプションをリポジトリに渡すこともできます。唯一の要件は、サーバー構成ファイルで指定されているクラスによって識別される名前と値のペアにすることです。

サーバー構成ファイルのjobStatusRepository要素は、次のようになります。

<jobStatusRepository>
<property name="dbuser" value="<dbuser>"/>
<property name="dbpassword" value=csf:reports:"<dbkey>"/>
<property name="dbconn" value="<dbconn>"/>
</jobStatusRepository>

ノート:

Oracle Reportsでは、ジョブ・キューに関するログ情報を更新するときに、jobstatusrepository要素のdbconnプロパティを使用してデータベースに接続します。

7.2.1.13 log

log要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="log">
<xs:complexType>
<xs:attribute name="option" default="noJob">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="allJobs"/>
<xs:enumeration value="succeededJobs"/>
<xs:enumeration value="failedJobs"/>
<xs:enumeration value="noJob"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>

例

log要素は、rwserver.confで次の例のように指定できます。

<log option="allJobs"/>

必須/オプション

オプションです。サーバー構成ファイルに1つのlog要素を指定できます。

説明

log要素は、下位互換性を確保するために用意されています。これは、Reportsログ・ファイルの生成および書込みを行います。ログ・ファイルは自動的に生成され、次のパスに格納されます(このパスは、WindowsとUNIXで共通です)。

$ORACLE_INSTANCE       /diagnostics/logs/ReportsSeverComponent/<reports_server_name>/rwserver_diagnostic.log

log要素の属性を、表7-14で説明します。

表7-14 log要素の属性

属性

有効値

説明

option

allJobs

succeededJobs

failedJobs

noJob

デフォルト: noJob

ログを記録するジョブのタイプを記述します。これはデフォルトでログを記録するサーバー・アクティビティに対する追加項目です。次のオプションから選択します。

- allJobs: すべてのジョブのログを記録します。

- succeededJobs: 正常に実行されたジョブのログのみを記録します。

- failedJobs: 失敗したジョブのログのみを記録します。

- noJob: ジョブのログを記録しません。

7.2.1.14 jobRepository

jobRepository要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="jobRepository">
<xs:complexType>
<xs:sequence>
<xs:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>

例

jobRepository要素は、rwserver.confで次の例のように指定できます。

<jobRepository>
<property name="dbuser" value="dbuser"/>
<property name="dbpassword" value="csf:reports:dbpasswdKey"/>
<property name="dbconn" value="dbconn"/>
</jobRepository>

必須/オプション

高可用性(HA)環境では必須です。HAでない環境ではオプションです。サーバー構成ファイルに1つのjobRepository要素を指定できます。

説明

jobRepository要素により、すべてのジョブ情報を、ファイル・システム(DATファイル)ではなく、データベースに格納できます。高可用性(HA)を使用する場合、この要素は必須です。グループ内のReports Serverではジョブ情報を共有しますが、それはジョブ情報が個々のDATファイルではなく、データベースに格納されている場合にのみ可能だからです。

jobRepository要素には属性はありません。

プロパティ

jobRepositoryに必要なプロパティ・サブ要素はrepositoryconnのみです。jobRepository要素により、すべてのジョブ情報をデータベースやファイル・システム(DATファイル)に格納できます。

7.2.1.15 notification

notification要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="notification">
<xs:complexType>
<xs:sequence>
<xs:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="class" use="required" type="xs:string"/>
<xs:attribute name="id" default="mailNotify" type="xs:string"/>
</xs:complexType>
</xs:element>

例

notification要素は、rwserver.confで次の例のように指定できます。

<notification id="tellMe02" class="oracle.reports.server.MailNotify"/>

必須/オプション

オプションです。notification要素を構成ファイルに入力しないと、通知機能は使用できません。任意数のnotification要素を構成ファイルに入力できます。

説明

notification要素を使用して、ジョブが成功または失敗したときに送られる通知のタイプを定義するJavaクラスを指定します。電子メールを介して通知を送信するデフォルトnotificationクラスを使用できますし、Oracle ReportsのNotification APIで独自のクラスを定義できます。

ノート:

notification APIの詳細は、Oracle Technology Network (OTN)(http://www.oracle.com/technetwork/middleware/reports/overview/index.html)で提供されている『Oracle Reports Java API Reference』を参照してください。

notification要素の属性を、表7-15で説明します。

表7-15 notification要素の属性

属性

有効値

説明

id

文字列

デフォルト: mailNotify

特定のnotification要素を識別する、構成XMLファイル内で一意のキーワード。テキスト文字列または数字のどちらでも使用できます。例:

id="tellMe01"

class

「説明」欄を参照してください。

デフォルト: oracle.reports.server.MailNotify

Reports ServerのNotification Javaクラス(oracle.reports.server.Notification)を実装する完全修飾されたJavaクラス

デフォルトの電子メール通知実装を使用する場合は、pluginParam要素を使用して、メールの送信に使用する送信用SMTPメール・サーバーを指定します。コマンドライン・キーワードのnotifysuccessおよびnotifyfailureを使用して、通知の送信先となる電子メール・アドレスを指定します(詳細は、付録A「コマンドライン・キーワード」を参照)。たとえば、これらのコマンドを次のようにランタイムURLに挿入できます。

notifysuccess=recipient's e-mail address&notifyfailure=recipient's e-mail address

デフォルトの電子メール実装では、notificationのタイプごとに1つのアドレスのみを指定できます。一方または両方のnotificationタイプを指定できます。notificationは、同じアドレスまたはそれぞれ異なるアドレスに送信できます。

サーバー構成ファイルのnotification要素は、次のようになります。

<notification id="mailNotify" class="oracle.reports.server.MailNotify">
<property name="succNoteFile" value="succnote.txt"/>
<property name="failNoteFile" value="failnote.txt"/>
<notification/>

succNoteFileプロパティおよびfailNoteFileプロパティは、Oracle Enterprise Managerの「Reports Server拡張構成」ページの「成功した電子メール通知ファイル」および「失敗した電子メール通知ファイル」で設定されます。

メール・サーバーの中には送信者のドメイン名を確認できるものもあります。このドメイン名の確認によって通知が失敗した場合は、notification要素の一部に次のプロパティを追加する必要があります。

<property name="sender" value="valid email address"/>

デフォルトの通知実装では、成功または失敗のテキスト・ファイルがデフォルト位置(ORACLE_HOME\reports\templates)にあるかぎり、パスの指定は不要です。そうでない場合は、サーバーをホスティングするプラットフォームの要件に従ってディレクトリ・パスとファイル名を入力します。

7.2.1.16 oidconnection

oidconnection要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="oidconnection">
<xs:complexType>
<xs:attribute name="increment" default="10" type="xs:integer"/>
<xs:attribute name="init" default="10" type="xs:integer"/>
<xs:attribute name="timeout" default="0" type="xs:integer"/>
</xs:complexType>
</xs:element>

例

oidconnection要素は、rwserver.confで次の例のように指定できます。

<oidconnection init="10" increment="10" timeout="600"/>

必須/オプション

オプションです。

説明

oidconnection要素により、Reports ServerのOracle Internet Directory接続プーリング・パラメータを指定します。本番環境では、このパラメータを使用して、Reports ServerのOracle Internet Directory接続プーリングを、次のように詳細に管理できます。

- Reports Serverの初期化時にプールで開いた状態にする接続の数

- 使用可能な接続を使用し尽くした場合に、新しいリクエストを受信したときにプールに追加する新しい接続の数

- リソース使用率を減少させるために、開いているアイドル状態のOracle Internet Directory接続を閉じるまでのタイムアウト

oidconnection要素の属性を、表7-16で説明します。

表7-16 oidconnection要素の属性

属性

有効値

説明

init

数値

デフォルト: 10

Reports Serverの初期化時に作成されるOracle Internet Directory接続の初期数

increment

数値

デフォルト: 10

すべての接続が使用中になったときに増分される接続数

timeout

数値

デフォルト: 0(タイムアウトの指定なし)

接続が閉じられるまでの、アイドル状態の秒数

ノート:

これらの属性でデフォルト値より非常に大きな値や小さな値を設定すると、Oracle Reports Servicesのパフォーマンスに影響する場合があります。一般的な本番環境では、デフォルト値をお薦めします。

Oracle Reports Servlet (rwservlet)では、rwservlet.propertiesファイルのoidconnection要素を使用して、Oracle Internet Directory接続プーリング・パラメータを指定できます。

7.2.1.17 orbClient

orbClient要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="orbClient">
<xs:complexType>
<xs:attribute name="id" use="required" type="xs:string"/>
<xs:attribute name="publicKeyFile" use="required" type="xs:string"/>
</xs:complexType>
</xs:element>

例

orbClient要素は、rwserver.confで次の例のように指定できます。

<orbClient id="RWClient" publicKeyFile="clientpub.key"/>

必須/オプション

オプションです。サーバー構成ファイルでorbClient要素を指定しないと場合には、デフォルト値が使用されます(表7-17を参照)。

説明

orbClient要素によって、クライアントがReports Serverとの接続に使用する公開キー・ファイルの名前が指定されます。Reports Serverでは公開キーを使用して、クライアントがReports Serverに接続しようとする際に送信する署名を検証します。この公開キーを使用して署名が検証できるクライアントのみがReports Serverによって受け付けられます。任意数のorbClient要素をサーバー構成ファイルに入力できます。

orbClientは、connection要素のサブ要素です。

orbClient要素の属性を、表7-17で説明します。

表7-17 orbClient要素の属性

属性

有効値

説明

id

文字列

デフォルト: RWClient

公開キーおよび秘密キーを使用するレポート・クライアントを識別します。

publicKeyFile

filename.key

デフォルト: clientpub.key

クライアントがReports Serverとの接続に使用する公開キー・ファイルを識別します。Reports Serverでは公開キーを使用して、クライアントがReports Serverに接続しようとする際に送信する署名を検証します。この公開キーを使用して署名が検証できるクライアントのみがReports Serverによって受け付けられます。デフォルト・ファイルは、rwrun.jarファイルに格納されます。

Oracle Reports Servicesでデフォルトで用意されているクライアント公開キー・ファイルとクライアント秘密キー・ファイルは、clientpub.keyとclientpri.keyです。これらのキー・ファイルは、Oracle Reports Servicesのすべてのコンポーネントで使用されます。公開キー・ファイルと秘密キー・ファイルを再生成し、デフォルトのキー・ペアを置換できます。これを行うには、コマンド・プロンプトで次のように入力します。

Windowsの場合:

rwgenkey.bat path_and_client_public_key_file_name path_and_client_private_key_file_name

UNIXの場合:

rwgenkey.sh path_and_client_public_key_file_name path_and_client_private_key_file_name

これらのキーを再生成する場合、公開キー・ファイルの位置をpublicKeyFile属性で指定して、ORACLE_HOME\jlib\zrclient.jarにある秘密キー・ファイルを置換できます。このためには、jar形式のファイルを元の形式に戻し、再生成した秘密キーを入力した後、ファイルを再びjar形式に変換します。

7.2.1.18 persistFile

persistFile要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="persistFile">
<xs:complexType>
<xs:attribute name="fileName" type="xs:string"/>
</xs:complexType>
</xs:element>

例

persistFile要素は、rwserver.confで次の例のように指定できます。

<persistFile fileName="neptune.dat"/>

必須/オプション

オプションです。ファイルを指定しない場合、サーバーはserver_name.datというデフォルト名で独自のファイルを作成します。1つのpersistFile要素を指定できます。

説明

persistFile要素は、すべてのジョブ・ステータスを記録するファイルを識別します。Reports Serverは、これを使用してサーバーを停止前のステータスに復元します。

この名前persistFileは、サーバーが停止後に再起動してもファイルが元の状態のままであること、つまり永続性があることに由来します。

サーバー永続ファイルは、サーバーの初回起動時、または現在のサーバー永続ファイルを削除または名前変更した後の初回起動時に自動的に作成されます。このファイル名を変更した後も引き続き使用する場合は、新しい名前をサーバー構成ファイルに入力してから、実際にファイル名を変更し、次にサーバーを再起動します。

persistFile要素の属性を、表7-18で説明します。

表7-18 persistFile要素の属性

属性

有効値

説明

fileName

文字列

デフォルト: server_name.dat

サーバー永続ファイルの名前、およびオプションでパスを指定します。ファイルが次のデフォルト・ディレクトリにある場合は、パスを省略できます。

ORACLE_INSTANCE\reports\server\

このパスは、WindowsとUNIXの両方で共通です。

7.2.1.19 identifier

identifier要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="identifier">
<xs:complexType mixed="true">
<xs:attribute name="encrypted" default="no">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="yes"/>
<xs:enumeration value="no"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>

例

identifier要素は、rwserver.confで次の例のように指定できます。

<identifier encrypted="yes">fpoiVNFvnlkjRPortn+sneU88=NnN</identifier>

必須/オプション

オプションです。サーバー構成ファイルに1つのidentifier要素を指定できます。

説明

identifier要素は、Oracle Reportsを最初にインストールしたときに、Reports Configuration Assistantによって自動的に構成ファイルに書き込まれます。Reports Configuration Assistantは、この値をSERVERACCESSKEY/12312312313という形式で設定します。ここで、SERVERACCESSKEYはユーザー名で、ランダムに生成された数(12312312313)はパスワードです。ユーザー名とパスワードは暗号化され、Oracle Reports Servicesの構成時にrwserver.templateとtargets.xmlに書き込まれます。インストール後に起動されたすべてのReports Serverが、このidentifier情報を構成ファイルに保持することになります。

セキュアでないReports Serverでは、identifier要素の値が次の場合に使用されます。

- Reports Queue Managerを介してReports Serverに接続するとき

- コマンドラインからReports Serverを停止するとき

このどちらの場合も、コマンドラインでは、identifier要素で指定された値と同じauthid値を指定する必要があります。特定のパスワードを指定するには(生成されたパスワードは擬似的なランダム数のため)、次の手順を実行する必要があります。

1. サーバー構成ファイルのrwserver.confを編集します。

2. 生成されたusername/passwordの暗号化値をカスタムの値に置換します。

3. encrypted=noを設定します。
例:

<identifier encrypted="no">username/password</identifier>

4. Reports Serverを再起動します。Reports Serverの再起動時に、encrypted=yesが設定されます。

5. targets.xmlファイルを編集し、rwserver.confファイルと同じusernameおよびpasswordの値を指定します。

この変更の直後にReports Serverを再起動する必要があります。その結果、ユーザー名とパスワードが自動的に暗号化され、encryptedがyesにリセットされます。この値は次のようになります。

<identifier encrypted="yes">fpoiVNFvnlkjRPortn+sneU88=NnN</identifier>

セキュアなReports Serverでは、認証はセキュリティ・インフラストラクチャ(つまりOracle Internet Directoryリポジトリ)を使用して実行されます。そのため、Reports Serverの停止時や、コンソール・ウィンドウからのReports Queue Managerの起動時に、identifier要素の値を渡すことはできません。

ノート:

rwservlet.propertiesファイルでDIAGNOSTIC=NOが設定されていると、このユーザー名とパスワードは、Webコマンド(getjobid、getserverinfo、showjobs、showenvなど)にアクセスする場合にも使用されます。DIAGNOSTIC=NOの場合は、このユーザー名とパスワードを持つ管理者を除き、Webコマンドは使用できません。

Reports Queue Managerの詳細は、Reports Queue Managerのオンライン・ヘルプを参照してください。rwservlet.propertiesの詳細は、第7.3項「Oracle Reports Servlet構成ファイル」を参照してください。

7.2.1.20 property

property要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="property">
<xs:complexType>
<xs:attribute name="name" use="required" type="xs:string"/>
<xs:attribute name="value" use="required" type="xs:string"/>
<xs:attribute name="encrypted" type="xs:string"/>
</xs:complexType>
</xs:element>

rwserver.confにおけるproperty要素の指定の詳細は、次の要素の説明を参照してください。

- 第7.2.1.3項「cache」

- 第7.2.1.6項「destination」

- 第7.2.1.9項「engine」

- 第7.2.1.12項「jobStatusRepository」

7.2.1.21 queue

queue要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="queue">
<xs:complexType>
<xs:attribute name="maxQueueSize" default="1000">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>

例

queue要素は、rwserver.confで次の例のように指定できます。

<queue maxQueueSize="1000"/>

必須/オプション

オプションです。サーバー構成ファイルに1つのqueue要素を指定できます。queue要素を指定しないと、デフォルトのmaxQueueSizeである1000が使用されます。

説明

queue要素を使用して、完了したジョブ・キューで保持できるジョブの最大数を指定します。Oracle Reports Servicesには、次の3つのキュー・コンポーネントがあります。

- スケジュールされたジョブのキュー

- 実行中のジョブのキュー

- 完了したジョブのキュー

queue要素は、これらの各コンポーネントに許可される値を指定します。

この要素は完了したジョブ・キューにのみ適用されます。ジョブ数が指定された最大値を超えると、完了したジョブ・キューから最も古いジョブが自動的に削除されます。スケジュールされたジョブ・キューと実行中のジョブ・キューは変わりません。デフォルトでは、レポート・サーバーのキュー・サイズは1000です。

キュー・サイズを3000よりも大きくし、Reports Queue Manager (rwrqm.exe)でキューを監視すると、Queue Managerが失敗する場合があります。キュー・サイズを3000以上に設定する必要がある場合、Oracle Enterprise ManagerまたはOracle Reports Servlet (rwservlet)を使用して、Reports Serverのジョブ・キューの管理や監視を行います。

ノート:

詳細は、Reports Queue Managerのオンライン・ヘルプを参照してください。

queue要素の属性を、表7-19で説明します。

表7-19 queue要素の属性

属性

有効値

説明

maxQueueSize

Oracle Enterprise Managerの「Reports Server基本構成」ページの「キュー・サイズ」で設定されます。

数値

デフォルト: 1000

レポートのジョブ・キューに保持できるジョブの最大数

7.2.1.22 folderAccess

folderAccess要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="folderAccess">
<xs:complexType>
<xs:sequence>
<xs:element name="read" type="xs:string"/>
<xs:element name="write" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>

例

folderAccess要素は、rwserver.confで次の例のように指定できます。

<folderAccess>
<read>c:\myreports;c:\orawin\reports\samples<\read>
<write>c:\myoutputs<\write>
<\folderAccess>

必須/オプション

オプションです。

説明

folderAccess要素によって、セキュアなReports Server、セキュアでないReports Server、Reportsアプリケーション(インプロセスReports Server)またはOracle Reports Runtimeにおけるファイル・システムへの読取りアクセス権と書込みアクセス権が定義されます。

folderAccess要素には属性はありません。これにはサブ要素が2つあります。

- read: Reports Server、Reportsアプリケーション(インプロセスReports Server)またはOracle Reports Runtimeに読取り専用アクセス権を付与するフォルダを指定します。このサブ要素の値は、Oracle Enterprise Managerの「拡張構成」ページの「ファイル・システム・アクセス制御の有効化」→「ディレクトリの読取り」で設定されます。

- write: Reports Serverで書込みができるフォルダを指定します。このサブ要素の値は、Oracle Enterprise Managerの「拡張構成」ページの「ファイル・システム・アクセス制御の有効化」→「ディレクトリの書込み」で設定されます。

前述の例では、c:\myreportsおよびc:\orawin\reports\samplesにあるレポート定義ファイルは、実行のみが許可されます。同様に、destype=fileのとき、出力ファイルを作成できるのはc:\myoutputs (desname=c:\myoutput\test.pdf)内にある場合のみです。

注意: readサブ要素やwriteサブ要素に空白やアスタリスクを指定すると、グローバル・アクセスが指定されます。ディレクトリ名はセミコロン(;)で区切ります。

7.2.1.23 security

security要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="security">
<xs:complexType>
<xs:sequence>
<xs:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="class" use="required" type="xs:string"/>
<xs:attribute name="id" use="required" type="xs:string"/>
</xs:complexType>
</xs:element>

例

security要素は、rwserver.confで11gでは次の例のように指定できます。

<security id="rwJaznSec" class="oracle.reports.server.RWJAZNSecurity"/>

下位互換性を確保するために、security要素を次のように指定できます。

<security id="rwSec" class="oracle.reports.server.RWSecurity">
<property name="oidAppEntity" value="$$Self.oidAppEntity$$"/>
<property name="oidUrl" value="$$Self.oidUrl$$"/>
<property name="oidPasswdKey" value="$$Self.oidPasswdKey$$"/>
<property name="portalUserName" value="$$Self.portalUserName$$"/>
<property name="portalConnection" value="$$Self.portalConnection$$"/>
<property name="portalPasswdKey" value="$$Self.portalPasswdKey$$"/>
</security

必須/オプション

オプションです。security要素を構成ファイルに入力しないと、Reports Serverはセキュアになりません。任意数のsecurity要素を構成ファイルに入力できます。

説明

security要素は、サーバー・アクセスを制御する完全修飾されたJavaクラスを識別します。Oracle Reports Servicesで用意されているデフォルト・セキュリティ・クラスを使用できますし、Reports ServerのSecurity APIで独自の実装を定義できます。

ノート:

security APIの詳細は、Oracle Technology Network (OTN)(http://www.oracle.com/technetwork/middleware/reports/overview/index.html)で提供されている『Oracle Reports Java API Reference』を参照してください。

security要素の属性を、表7-20で説明します。

表7-20 security要素の属性

属性

有効値

説明

id

文字列

特定のsecurity要素を識別する、構成XMLファイル内で一意のキーワード。テキスト文字列または数字のどちらでも使用できます。次に11gで指定できる例を示します。

id="rwJaznSec"

下位互換性を確保するために次のような指定も可能です。

id="rwSec"

class

「説明」欄を参照してください。

11gのデフォルト: oracle.reports.server.RWJAZNSecurity

下位互換性のためのデフォルト: oracle.reports.server.RWSecurity

Reports ServerのSecurity Javaインタフェース(oracle.reports.server.Security)を実装する完全修飾されたJavaクラス。デフォルトは、Oracle Portalで利用できるセキュリティ機能に依存します。

また、複数のプロパティをsecurity要素に関連付けることもできます。唯一の要件は、Reports Serverのセキュリティを実装するJavaクラスによって識別される名前と値のペアにすることです。

すべてのプロパティの値は、インストール時にインストーラによって設定されます。Reports Serverではこのエンティティを使用して、Oracle Internet DirectoryとPortalに接続します。Oracle Fusion Middlewareのコンポーネントはすべて、Oracle Internet DirectoryとOracle Portalに接続できますが、このディレクトリでの権限はコンポーネントごとに異なる場合があります。したがって、各コンポーネントは、Oracle Internet Directoryに接続したときに、個々のエンティティ名によって識別される必要があります。Oracle Reports Servicesエンティティの形式は次のとおりです。

reportsApp_hostname_GUID

例:

reportsApp_testhost.mydomain.com_BBEFDCDAC2343600E0340800020C7BBCC

7.2.1.24 proxyServer

proxyServer要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="proxyServer">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="port" type="xs:string" use="required"/>
<xs:attribute name="protocol" default="all">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="http"/>
<xs:enumeration value="https"/>
<xs:enumeration value="ftp"/>
<xs:enumeration value="file"/>
<xs:enumeration value="all"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>

例

proxyServer要素は、rwserver.confで次の例のように指定できます。

<proxyServer name="www-proxy.example.com" port="80" protocol="all"/>

必須/オプション

オプションです。

説明

外部ネットワークに接続するために使用するプロキシ・サーバーの名前、ポートおよびプロトコルを指定する要素です。

proxyServer要素の属性を、表7-20で説明します。

表7-21 proxyServer要素の属性

属性

有効値

説明

name

文字列

プロキシ・サーバーのホスト名。例を次に示します。

port

文字列

プロキシ・サーバーがリスニングするポート。

protocol

http/https/ftp/file/all

プロキシ・サーバーによって使用されるプロトコル。

7.2.1.25 domain

domain要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="domain">
<xs:complexType mixed="true">
</xs:complexType>
</xs:element>

例

domain要素は、rwserver.confで次の例のように指定できます。

<bypassProxy>
<domain><localhost</domain>
<domain>127.0.0.1</domain>
</bypassProxy>

必須/オプション

オプションです。

説明

プロキシ設定を使用しないプロキシ・サーバーの名前を指定する要素。domain要素には属性はありません。

7.2.1.26 bypassProxy

bypassProxy要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="bypassProxy">
<xs:complexType>
<xs:sequence>
<xs:element ref="domain" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>

例

bypassProxy要素は、rwserver.confで次の例のように指定できます。

<bypassProxy>
<domain>localhost</domain>
<domain>127.0.0.1</domain>
</bypassProxy>

必須/オプション

オプションです。

説明

プロキシ設定を使用しないプロキシ・サーバーの名前を指定するドメインのリストを指定する要素。

bypassProxy要素には属性はありません。これにはdomainサブ要素が含まれます(第7.2.1.25項「domain」を参照)。

7.2.1.27 proxyServers

proxyServers要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="proxyServers">
<xs:complexType>
<xs:sequence>
<xs:element ref="proxyServer" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>

例

proxyServers要素は、rwserver.confで次の例のように指定できます。

<proxyServers>
<proxyServer name="xyz.abc.com" port="80" protocol="http"/>
<proxyServer name="www-proxy1.xyz.abc.com" port="80" protocol="ftp"/>
<proxyServer name="www-prox21.xyz.abc.com" port="80" protocol="https"/>
</proxyServers>

必須/オプション

オプションです。

説明

Reports Serverによって使用されるプロキシ・サーバーのリストを指定する要素。

proxyServers要素には属性はありません。これにはproxyServerサブ要素が含まれます(第7.2.1.24項「proxyServer」を参照)。

7.2.1.28 proxyInfo

proxyInfo要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="proxyInfo">
<xs:complexType>
<xs:sequence>
<xs:element ref="proxyServers"/>
<xs:element ref="bypassProxy"/>
</xs:sequence>
</xs:complexType>
</xs:element>

例

proxyInfo要素は、rwserver.confで次の例のように指定できます。

<proxyInfo>
<proxyServers>
<proxyServer name="www-proxy.example.com" port="80" protocol="all"/>
</proxyServers>
<bypassProxy>
<domain>localhost</domain>
<domain>127.0.0.1</domain>
</bypassProxy>
</proxyInfo>

必須/オプション

オプションです。

説明

レポートで使用されるプロキシ・サーバーおよびプロキシを使用しないバイパス・ホストを指定する要素。

proxyInfo要素には属性はありません。これにはサブ要素が2つあります。

- proxyServers: 第7.2.1.27項「proxyServers」を参照してください

- bypassProxy: 第7.2.1.26項「bypassProxy」を参照してください

7.2.1.29 webLayout

webLayout要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="webLayout">
<xs:complexType>
<xs:attribute name="port" type="xs:string"/>
<xs:attribute name="docroot" type="xs:string"/>
</xs:complexType>
</xs:element>

例

webLayout要素は、rwserver.confで次の例のように指定できます。

<webLayout port="8888" docroot="$DOMAIN_HOME/servers/WLS_REPORTS/tmp/_WL_user/reports_<version>/<random_string>/war"/>

必須/オプション

オプションです。

説明

Reports Builderを使用してレポートを実行してWebレイアウトを生成するためには、webLayout要素が必要になります。

webLayout要素の属性を、表7-22で説明します。

表7-22 webLayout要素の属性

属性

有効値

説明

port

文字列

OHSメイン・ポート

docroot

文字列

Reportsアプリケーションが配布されているweb.warの場所

7.2.1.30 dbProxyKey

dbProxyKey要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="dbProxyKey">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="database" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>

例

dbProxyKey要素は、rwserver.confで次の例のように指定できます。

<dbProxyConnKeys>
<dbProxyKey name=key1 database=db1/>
<dbProxyKey name=key2 database=db2/>
</dbroxyConnKeys>

必須/オプション

オプションです。

説明

dbProxyKeyには、nameパラメータとdatabaseパラメータが含まれます。これは、useridコマンドライン・パラメータで指定されるデータベースに基づいて、サーバー構成ファイルから取得されます。

dbProxyKey要素の属性を、表7-23で説明します。

表7-23 dbProxyKey要素の属性

属性

有効値

説明

name

文字列

キーの名前

データベース(database)

文字列

データベースの名前

7.2.1.31 dbProxyConnKeys

dbProxyConnKeys要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="dbProxyConnKeys">
<xs:complexType>
<xs:sequence>
<xs:element ref="dbProxyKey" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>

例

dbProxyConnKeys要素は、rwserver.confで次の例のように指定できます。

<dbProxyConnKeys>
<dbProxyKey name=key1 database=db1/>
<dbProxyKey name=key2 database=db2/>
</dbProxyConnKeys>

必須/オプション

オプションです。

説明

dbProxyConnKeys要素には属性はありません。これにはdbProxyKeyサブ要素が含まれます(第7.2.1.30項「dbProxyKey」を参照)。

7.2.1.32 jobThresholds

jobThresholds要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="jobThresholds">
<xs:complexType>
<xs:attribute name="longRunning" default="180">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="potentialRunAway" default="180">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>

例

jobThresholds要素は、rwserver.confで次の例のように指定できます。

<jobThresholds longRunning="180" potentialRunAway="180"/>

必須/オプション

オプションです。

説明

jobThresholdは、longRunningとPotentialRunAwayの2つの属性で構成されます。詳細は、表7-24を参照してください。

表7-24 jobThresholds要素の属性

属性

有効値

説明

longRunning

秒

ジョブの実行時間がこのカットオフ時間を超えている場合、長時間実行中ジョブとみなされます。

比較的長時間実行しているジョブ。

potentialRunAway

秒

現在実行中のジョブの実行時間がこのカットオフ時間を超えている場合、潜在的に暴走しているジョブとみなされます。

正常に完了する可能性が相対的に低いジョブ。

7.2.1.33 server

server要素は、rwserverconf.xsdで次のように定義されています。

<xs:element name="server">
<xs:complexType>
<xs:sequence>
<xs:element ref="cache" minOccurs="0" maxOccurs="1"/>
<xs:element ref="engine" minOccurs="1" maxOccurs="unbounded"/>
<xs:element ref="environment" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="security" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="oidconnection" minOccurs="0" maxOccurs="1"/>
<xs:element ref="destination" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="job" minOccurs="1" maxOccurs="unbounded"/>
<xs:element ref="notification" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="log" minOccurs="0" maxOccurs="1"/>
<xs:element ref="jobStatusRepository" minOccurs="0" maxOccurs="1"/>
<xs:element ref="jobRepository" minOccurs="0" maxOccurs="1"/>
<xs:element ref="trace" minOccurs="0" maxOccurs="1"/-->
<xs:element ref="connection" minOccurs="0" maxOccurs="1"/>
<xs:element ref="ORBPorts" minOccurs="0" maxOccurs="1"/>
<xs:element ref="queue" minOccurs="0" maxOccurs="1"/>
<xs:element ref="folderAccess" minOccurs="0" maxOccurs="1"/>
<xs:element ref="persistFile" minOccurs="0" maxOccurs="1"/>
<xs:element ref="jobRecovery" minOccurs="0" maxOccurs="1"/-->
<xs:element ref="identifier" minOccurs="0" maxOccurs="1"/>
<xs:element ref="proxyInfo" minOccurs="0" maxOccurs="1"/>
<xs:element ref="pluginParam" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="webLayout" minOccurs="0" maxOccurs="1"/>
<xs:element ref="dbProxyConnKeys" minOccurs="0" maxOccurs="1"/>
<xs:element ref="jobThresholds" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="version" type="xs:string"/>
</xs:complexType>
</xs:element>

例

server要素は、rwserver.confで次の例のように指定できます。

<server>
one or more element specifications
</server>

必須/オプション

必須です。指定された構成ファイルに1つのserver要素を指定できます。

説明

server要素は、サーバー構成ファイルのコンテンツ領域を開始および終了します。ファイルの階層に関しては、その他すべての要素はserver要素に従属します。

server要素の属性を、表7-25で説明します。

表7-25 server要素の属性

属性

有効値

説明

version

文字列

Reports Serverのバージョン

7.2.2 動的な環境切替え

動的な環境切替え機能を使用すると、Reports Serverの起動後または特定のジョブ・リクエスト中に環境を動的に変更できます。このことは、Reports Serverの1つのインスタンスが、言語、通貨、表示設定などの任意の環境設定でレポートを処理できることを意味します。

動的な環境切替え機能を有効化するには、Reports Server構成ファイルにenvironment要素を追加して、特定のランタイム環境を設定する必要があります。あるenvironment要素を一度設定すると、次のどちらの方法でも設定の切替えができます。

- Reports Server構成ファイルにあるengine要素のdefaultEnvId属性の値をenvironment要素のidに設定し、エンジンの起動時に対応する環境設定をそのエンジンに適用します。詳細は、第7.2.1.9項「engine」を参照してください。

- ENVIDコマンドライン・キーワードの値をenvironment要素のidに設定し、現行のレポートのジョブ・リクエストについてのみ環境設定を有効にします。詳細は、第A.6.5項「ENVID」を参照してください。

7.2.2.1 例

次の例は、動的な環境切替え機能の使用方法を示しています。

例1

日本語のレポートをReports Serverから実行すると仮定します。日本語でのレポートの実行に適した環境は、次のとおりです。

- NLS_LANG = Japanese_Japan.JA16SJIS

- 通貨単位(NLS_CURRENCY)は、日本通貨の円(\)に設定されます。

- UNIXでReports Serverを実行している場合は、DISPLAYを設定する必要があります。

最初に、Reports Server構成ファイルにenvironment要素を追加する必要があります。次に例を示します。

<environment id="JP">
<envVariable name="NLS_LANG" value="Japanese_Japan.JA16SJIS"/>
<envVariable name="NLS_CURRENCY" value="¥"/>
<envVariable name="DISPLAY" value="MyServer.MyCompany.com:0.0"/>
</environment>

environment要素を設定すると、次のどちらかの方法を使用して日本語出力のレポートをリクエストできます。

- Reports Server構成ファイルで、engine要素のdefaultEnvId属性を次のように使用します。

<engine id="rwEng" initEngine="1" minEngine="0" maxEngine="10" engLife="50" maxIdle="30" defaultEnvId="JP"/>

JP値によって、Reports Server構成ファイルのenvironment要素が識別されます。最初のエンジンは、このenvironment要素で指定される環境設定で起動されます。

- ENVIDコマンドライン・キーワードを、次のように設定します。

http://machine_name:port/reports/rwservlet?SERVER=server_name
&REPORT=Japanese.rdf&USERID=username/passwd@db&DESFORMAT=htmlcss
&DESTYPE=cache&ENVID=JP

このURLがReports Serverに送信されると、オプションのENVIDキーワードが検出され、指定されたid(この例ではJP)と、構成ファイルのenvironment要素の対応idを一致させます。Reports Serverでこれらの設定でエンジンを実行している場合、その既存エンジンを再利用してジョブを処理します。そうでない場合は、現在の環境に加えて、JP environment要素で指定された3つの環境変数を使用してエンジンを起動します。新しいエンジンの起動によって、Reports ServerのmaxEngine設定を超える場合、Reports Serverではエンジンを1つ停止してから新しいエンジンを起動します。engLifeの設定を超えていない場合であっても、エンジンが停止される場合があります。Reports Serverで正しい環境でエンジンが実行されていると、そのエンジンによってジョブが処理され、指定されたDESTYPEに出力がルーティングされます。

ENVIDをジョブで使用しない場合、Reports ServerではdefaultEnvId環境で起動されたエンジンを使用してリクエストが処理されます。Reports Server構成ファイルのengine要素に対してdefaultEnvIdが指定されていないと、Reports Serverインスタンスの起動に使用された設定がエンジンによって継承されます。

例2

次の例では、この環境切替え機能を使用して、例1で日本語のレポートの実行に使用したReports Serverと同じReports Serverでアラビア語のレポートを実行する方法を示します。

Reports Server構成ファイルに別のenvironment要素を次のように追加します。

<environment id="AR">
<envVariable name="NLS_LANG" value="Arabic_United Arab Emirates.AR8ISO8859P6"/>
<envVariable name="NLS_CALENDAR" value="Arabic Hijrah "/>
</environment>

アラビア語のレポートは、次のコマンドラインを使用して、Reports Serverに送信します。

http://machine_name:port/reports/rwservlet?SERVER=server_name
&REPORT=arabic.rdf&USERID=username/passwd@db&DESFORMAT=htmlcss
&DESTYPE=cache&ENVID=AR

ジョブがENVID=ARで送信されるので、Reports Serverでは、Reports Server構成ファイルのAR要素で指定された環境でエンジンを検索または起動します。ジョブは新しいエンジンで処理され、出力は指定の宛先に配布されます。

例3

次の例では、環境切替え機能をJSPレポートと組み合せて(つまりOracle Reports Servlet (rwservlet)と組み合せずに)使用する方法を示します。

Reports Server構成ファイルに、次のenvironment要素があると仮定します。

<environment id="UK">
<envVariable name="NLS_LANG"  value="AMERICAN_UNITED KINGDOM.WE8ISO8859P1"/>
</environment>

<environment id="US">
<envVariable name="NLS_LANG" value="AMERICAN_AMERICA.WE8ISO8859P1"/>
</environment>

JSPレポートで次のような書式マスクを使用すると、通貨記号、グループ化記号、小数点記号が環境に応じて変化します。

<rw:field id="sal" src="sal" formatMask="L999G999D999"/>

イギリスの通貨記号、グループ化記号、小数点記号を使用してレポートを実行するには、次のURLを使用します。

http://myserver:port/test/myjsp?USERID=scott/tiger@orcl&ENVID=UK

注意: ENVID=UKをcgicmd.datキー・マップ・ファイルに追加できます(詳細は、第17.13項「キー・マップ・ファイルの使用」を参照)。

7.2.2.2 使用上のノート

- この機能は多数の言語のレポート処理に最適ですが、このほかにも様々な用途に幅広く使用できます。レポートが正常に実行されるために特定の環境が必要であるような場合に、この機能が役に立ちます。

- Reports Serverでは、特定の環境のリクエストを取得するときに、environment IDごとに1つ以上のエンジンを起動します。ただし、エンジンの総数は、そのエンジン・タイプについて指定されたmaxEngineを超えることができません。Reports Server構成ファイルで指定されているenvironment要素の数以上の値にmaxEngineを設定することをお薦めします。

- defaultEnvIdは、rwEng以外のプラガブル・エンジンにも適用できます。Reports Serverは、指定されたenvironment IDでプラガブル・エンジンを起動します。

- インプロセスReports Serverで使用されるエンジンの場合、環境変数の優先順位の最上位から最下位までの順序は、次のようになります。

- reports.sh (UNIXのみ)。

ノート:

現行のreports.shファイルを変更した場合、バックアップとして保存しておき、Oracle Reportsをインストールした後で、最新バージョンでインストールされたreports.shと保存ファイルとをマージする必要があります。最新のreports.shには、変更する必要のある内容がいくつかあります。

- Reports Server構成ファイルのenvironment要素

- WebLogic管理コンソールで「サーバーの起動」タブにナビゲートし、oracle.homeパラメータおよびoracle.instanceパラメータを指定します。

- システム設定とレジストリ(Windowsのみ)。

- スタンドアロン・サーバーで使用されるエンジンの場合、環境変数の優先順位の最上位から最下位への順序は、次のようになります。

- reports.sh (UNIXのみ)。

ノート:

現行のreports.shファイルを変更した場合、バックアップとして保存しておき、Oracle Reportsをインストールした後で、最新バージョンでインストールされたreports.shと保存ファイルとをマージする必要があります。最新のreports.shには、変更する必要のある内容がいくつかあります。

- Reports Server構成ファイルのenvironment要素

- rwserver.shを起動するコンソールにある環境設定。

- システム設定とレジストリ(Windowsのみ)。

- ENVIDに設定された同じ環境変数がreports.sh (ORACLE_INSTANCE/config/reports/bin/reports.sh)にも設定されていると、Reports Serverでは環境変数の値をENVIDではなくreports.shから取得します。
たとえば、環境切替え機能を使用してREPORTS_PATH環境変数を別のエンジンに設定するとします。しかし、reports.shファイルにも同じREPORTS_PATH環境変数が設定されています。そのため、リクエストを渡したときに、Reports ServerではENVIDに設定されたREPORTS_PATHではなく、reports.shによって設定されたREPORTS_PATHのみが使用されます。

この問題を回避する手順は、次のとおりです。

1. reports.shを開き、環境変数の値をコメント化します。たとえば、reports.shファイルに設定されたREPORTS_PATH値をコメント化します。

2. rwserver.confファイルを開きます。

3. reports.shファイルの環境変数値を、rwserver.confファイルにコピーします。例:

<environment id="default">
<envVariable name=REPORTS_PATH value="$ORACLE_
HOME/reports/templates:$ORACLE_
HOME/reports/samples/demo:$ORACLE_HOME/reports/integ:$ORACLE_
HOME/reports/printers"/>
</environment>

<environment id="testenv">
<envVariable name="REPORTS_PATH"
value="/private/file_path:$ORACLE_HOME/reports/templates:$ORACLE_
HOME/reports/samples/demo:$ORACLE_HOME/reports/integ:$ORACLE_HOME/
reports/printers"/>
</environment>

4. defaultEnvIdの値を、rwserver.confファイルで適切なタグに追加します。たとえば、defaultEnvId属性をengine要素に追加し、エンジンがデフォルトのREPORTS_PATHで起動するようにします。

<engine id="rwEng" class="oracle.reports.engine.EngineImpl" initEngine="1"
maxEngine="1" minEngine="0" engLife="50" maxIdle="30"
callbackTimeOut="90000" defaultEnvId="default">

5. これでレポートを実行します。

7.3 Oracle Reports Servlet構成ファイル

Oracle Reports ServicesのOracle Reports Servlet (rwservlet)コンポーネントの構成設定は、表7-1で指定されているディレクトリにあるrwservlet.propertiesというXMLファイルに格納されます。

Windowsの場合、rwservlet.propertiesでは、1つの円記号ではなく2つの円記号(\\)を使用してディレクトリ・パスを指定します。最初の円記号は次の円記号をエスケープします。エスケープしない円記号は、このファイルで別の意味になります。たとえば、Windowsのrwservlet.propertiesファイルでは、次のパスはその下のパスのようになります。

d:\InstanceHome\config\ReportsServerComponent\ServerName\filename.ext

次のようになります。

d:\\InstanceHome\\config\\ReportsServerComponent\\ServerName\\filename.ext

UNIXの場合、ディレクトリ・パスは、次のようにプラットフォームの標準に従って指定します。

InstanceHome/config/ReportsServerComponent/ServerName/filename.ext

7.3.1 Oracle Reports Servlet構成の要素

rwservlet.xsdファイルには、rwservlet.propertiesの要素を構成するために次のデータ型が定義されています。

- rwservlet

- server

- singlesignon

- inprocess

- reports_servermap

- Cookie

- defaultcharset

- webcommandaccess

- allowhtmltags

- helpurl

- imageurl

- reloadkeymap

- dbauth

- sysauth

- errortemplate

- diagtags

- cluster

- oidconnection

- allowauthid

- enabledbproxy

これらの要素は、関連する属性およびサブ要素とともに、次の各項で説明します。

これらはXML要素です。XMLは大文字と小文字を区別することに注意してください。また、これらの要素のいずれかをrwservlet.properties構成ファイルに追加する場合、rwservlet.xsdに記述されている要素の順序に従う必要があります。

7.3.1.1 rwservlet

rwservlet要素は、rwservlet.xsdで次のように定義されています。

<xs:element name="rwservlet">
<xs:complexType>
<xs:sequence>
<xs:element name="server" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="singlesignon" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="inprocess" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="reports_servermap" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element ref="cookie" minOccurs="0" maxOccurs="1"/>
<xs:element name="defaultcharset" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element ref="webcommandaccess" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="allowhtmltags" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="helpurl" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="imageurl" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="reloadkeymap" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="dbauth" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="sysauth" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="errortemplate" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element ref="diagtags" minOccurs="0" maxOccurs="1"/>
<xs:element ref="cluster" minOccurs="0" maxOccurs="1"/>
<xs:element ref="oidconnection" minOccurs="0" maxOccurs="1"/>
<xs:element name="allowauthid" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="enabledbproxy" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>

例

rwservlet要素は、rwservlet.propertiesで次の例のように指定できます。

<rwservlet>
one or more element specifications
</rwservlet>

必須/オプション

必須です。指定された構成ファイルに1つのrwservlet要素を指定できます。

説明

rwservlet要素は、Oracle Reports Servlet (rwservlet)構成ファイルのコンテンツ領域を開始および終了します。ファイルの階層に関しては、その他すべての要素はrwservlet要素に従属します。

rwservlet要素の定義には、次のサブ要素が含まれています。

- server

- singlesignon

- inprocess

- reports_servermap

- Cookie

- defaultcharset

- webcommandaccess

- allowhtmltags

- helpurl

- imageurl

- reloadkeymap

- dbauth

- sysauth

- errortemplate

- diagtags

- cluster

- oidconnection

- enabledbproxy

7.3.1.1.1 server

rwservletのserverサブ要素は、rwservlet.xsdで次のように定義されています。

<xs:element name="server" type="xs:string" minOccurs="0" maxOccurs="1"/>

例

server要素は、rwservlet.propertiesで次の例のように指定できます。

<server>myserver</server>

説明

server要素により、インプロセス・サーバーの名前を指定します。ランタイムURLなどにReports Serverの名前が指定されていない場合、server要素で指定された名前のインプロセス・サーバーがrwservletによって起動され(起動されていない場合)、それにジョブが送信されます。

server要素が指定されていない場合、デフォルトのインプロセス・サーバー名は、rep_hostnameです。

inprocess要素がnoに指定されている場合、server要素で指定された名前の外部サーバーへのバインドがrwservletによって試行されます。

7.3.1.1.2 singlesignon

rwservletのsinglesignonサブ要素は、rwservlet.xsdで次のように定義されています。

<xs:element name="singlesignon" type="xs:string" minOccurs="0" maxOccurs="1"/>

例

singlesignon要素は、rwservlet.propertiesで次の例のように指定できます。

<singlesignon>yes</singlesignon>

説明

singlesignon要素により、OracleAS Single Sign-Onが有効にされているかどうかを指定します。

- yes(デフォルト): OracleAS Single Sign-Onは有効

- no: OracleAS Single Sign-Onは無効

OracleAS Single Sign-Onの詳細は、第16章「Oracle Single Sign-Onの構成と管理」を参照してください。

7.3.1.1.3 inprocess

rwservletのinprocessサブ要素は、rwservlet.xsdで次のように定義されています。

<xs:element name="inprocess" type="xs:string" minOccurs="0" maxOccurs="1"/>

例

inprocess要素は、rwservlet.propertiesで次の例のように指定できます。

<inprocess>yes</inprocess>

説明

inprocess要素により、Oracle Reports Servlet (rwservlet)と同じプロセス内でReports Serverを実行するかどうかを指定します。

- yes(デフォルト): Reports ServerはOracle Reports Servlet (rwservlet)と同じプロセス内で実行されます。

- no: Reports ServerはOracle Reports Servlet (rwservlet)と同じプロセス内では実行しません。

ノート:

インプロセス・サーバーの実行の長所と短所の詳細は、第2章「Oracle Reports Servicesのアーキテクチャの理解」を参照してください。

インプロセス・サーバーの使用時における印刷とフォントに関する問題をトラブルシューティングする方法の詳細は、第D.1.10項「インプロセス・サーバーを使用する際の印刷エラーとフォント・エラー」を参照してください。

7.3.1.1.4 reports_servermap

rwservletのreports_servermapサブ要素は、rwservlet.xsdで次のように定義されています。

<xs:element name="reports_servermap" type="xs:string" minOccurs="0"
maxOccurs="1"/>

例

reports_servermap要素は、rwservlet.propertiesで次の例のように指定できます。

<reports_servermap>
dev_cluster:dev_server;prd_cluster:prd_server;qa_cluster:qa_server
</reports_servermap>

説明

Oracle Reports 10g リリース2 (10.1.2)では、Reports Serverクラスタリングは非推奨でした。Reports Serverクラスタ名を含む以前のリリースのOracle Forms Servicesアプリケーションでは、参照先のReports Serverクラスタへのバインドが失敗します。

この問題を解決するためには、reports_servermap要素によって、クラスタ名をReports Server名にマップします。これによって、すべてのOracle Forms Servicesアプリケーションでクラスタ名を変更する必要がなくなります。

Oracle Forms Servicesアプリケーションは、次の方法でOracle Reportsをコールできます。

- RUN_REPORT_OBJECTの使用。Reports Server名ではなくReports Serverクラスタ名がコールで指定されていると、Oracle Forms Servicesのdefault.envファイルでREPORTS_SERVERMAP環境変数を設定する必要があります。
Oracle Forms Servicesアプリケーションで複数のReports Serverクラスタ名が使用されている場合、次に示すように、REPORTS_SERVERMAPを使用して各クラスタ名を異なるReports Serverにマップできます。

REPORTS_SERVERMAP=cluster1:repserver1;cluster2:repserver2;cluster3:repserver3

たとえば、10g (9.0.4)でOracle Forms Servicesアプリケーションにdev_cluster、prd_clusterおよびqa_clusterという名前のクラスタが3つ含まれる場合、それ以降のリリースでは、次に示すように、3つのクラスタ名をそれぞれサーバー名にマップできます。

REPORTS_SERVERMAP=dev_cluster:dev_server;prd_cluster:prd_server;qa_cluster:qa_server

詳細は、『Oracle Fusion Middleware Forms Servicesデプロイメント・ガイド』を参照してください。

- WEB.SHOW_DOCUMENTを使用します。この場合、リクエストはrwservletに転送されます。コールで指定する名前がReports Server名ではなく、Reports Serverクラスタ名である場合は、rwservlet.propertiesファイルでreports_servermap要素を設定する必要があります。例:

<reports_servermap>
cluster:repserver
</reports_servermap>

説明:

clusterは、以前のリリース(Oracle Reports 9iおよび10g (9.0.4))で使用されていたReports Serverクラスタ名です。

repserverは、以降のリリースのReports Server名です。

reports_servermapがrwservlet.propertiesに設定されていると、Oracle Forms Servicesアプリケーションに含まれるclusterへのリクエストは、すべてrepserverにリダイレクトされます。

7.3.1.1.5 cookie

cookie要素は、rwservlet.xsdで次のように定義されています。

<xs:element name="cookie">
<xs:complexType>
<xs:attribute name="cookieexpire" use="required" type="xs:integer"/>
<xs:attribute name="encryptionkey" use="required" type="xs:string"/>
</xs:complexType>
</xs:element>

例

cookie要素は、rwservlet.propertiesで次の例のように指定できます。

<cookie cookieexpire="30" encryptionkey="reports"/>

必須/オプション

オプションです。

説明

cookie要素により、Cookieの有効期限と暗号化キーを指定します。Cookieは、ユーザーの初回認証時に、暗号化されたユーザー名とパスワードをクライアント側で保存します。サーバーは、クライアントからCookieを受け取ると、Cookieに保存された時間と現在のシステム時間を比較します。cookieexpireに定義された時間(単位は分)をこの時間差が超えていると、サーバーはそのCookieを拒否し、エラー・メッセージとともに認証フォームをクライアントに返します。レポートを実行するには、ユーザーは再度認証を受ける必要があります。

cookie要素の属性を、表7-26で説明します。

表7-26 cookie要素の属性

属性

有効値

説明

cookieexpire

整数

デフォルト: 30

データベースおよびシステム認証Cookieの存続期間(分単位)

encryptionkey

任意の文字列

データベース認証とシステム認証Cookieのユーザー名とパスワードを暗号化するための暗号化キー

7.3.1.1.6 defaultcharset

rwservletのdefaultcharsetサブ要素は、rwservlet.xsdで次のように定義されています。

<xs:element name="defaultcharset" type="xs:string" minOccurs="0" maxOccurs="1"/>

例

defaultcharsetプロパティは、rwservlet.propertiesで次の例のように指定できます。

<defaultcharset>JA16EUC</defaultcharset>

説明

defaultcharset要素により、リクエストURLでASCIIでないエスケープ・キャラクタやパラメータ・フォーム入力でASCIIでないキャラクタをデコードするためのキャラクタ・エンコーディングを指定します。これにより、パラメータ名と値をデコードするときに、rwservletで必要なエンコードが使用されます。

defaultcharset要素は、次のいずれかに設定できます。

- データベースのNLS_CHARACTERSET (JA16EUCなど)

- IANA定義の文字セット(EUC-JPなど)

ノート:

Event-Driven Publishing APIの使用時にユーザー・パラメータ名と値にASCIIでないキャラクタを使用するには、rwservlet.propertiesファイルのdefaultcharsetが、パラメータ・リストのDEFAULTCHARSETパラメータの値と一致する必要があります。詳細は、第20.1.3項「パラメータの名前と値での非ASCII文字の使用」を参照してください。

7.3.1.1.7 webcommandaccess

webcommandaccess要素は、rwservlet.xsdで次のように定義されています。

<xs:element name="webcommandaccess">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="L0"/>
<xs:enumeration value="L1"/>
<xs:enumeration value="L2"/>
<xs:enumeration value="NO"/>
<xs:enumeration value="YES"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

例

webcommandaccessプロパティは、rwservlet.propertiesで次の例のように指定できます。

<webcommandaccess>L1</webcommandaccess>

説明

webcommandaccess要素により、セキュアでないサーバーのrwservletキーワード(Webコマンド)のアクセス権限を指定します。

ノート:

セキュアなReports Serverでは、Oracle Internet Directoryのエントリに基づいて、ユーザーの権限が確認されます。

有効な設定は次のとおりです。

- L0: Webコマンドは許可されません。

- L1: エンド・ユーザー用Webコマンド(GETJOBID、KILLJOBID、SHOWAUTH、SHOWJOBID)のみ許可されます。

- L2: 管理者用Webコマンド(DELAUTH、GETSERVERINFO、KILLENGINE、PARSEQUERY、SHOWENV、SHOWJOBS、SHOWMAP、SHOWMYJOBS)も許可されます。管理者コマンドを実行するにはAUTHIDが必要です。

- NO: 10gの(rwservlet.propertiesのDIAGNOSTIC=NOとの下位互換性を維持するための設定)。

- YES: 10gの(rwservlet.propertiesのDIAGNOSTIC=YESとの下位互換性を維持するための設定)。

L2 Webコマンド・アクセスの場合は、authidを渡す必要はありません。authidパラメータは、webcommandaccessの値に関係なくSTOPSERVERコマンドにのみ必要です。

7.3.1.1.8 allowhtmltags

rwservletのallowhtmltagsサブ要素は、rwservlet.xsdで次のように定義されています。

<xs:element name="allowhtmltags" type="xs:string" minOccurs="0" maxOccurs="1"/>

例

allowhtmltags要素は、rwservlet.propertiesで次の例のように指定できます。

<allowhtmltags>yes</allowhtmltags>

説明

allowhtmltags要素により、レポートの実行時にURLにHTMLコードを使用できるかどうかを指定します。

- no(デフォルト): URLにHTMLコードを使用できません。

- yes: URLにHTMLコードを使用できます。

ノート:

レポート・リクエストURLの一部に含まれたHTMLコードは、セキュリティの低下をもたらすおそれがあります。ブラウザの中にはURLでスクリプトまたはコードを実行するものもあるためです。

7.3.1.1.9 helpurl

rwservletのhelpurlサブ要素は、rwservlet.xsdで次のように定義されています。

<xs:element name="helpurl" type="xs:string" minOccurs="0" maxOccurs="1"/>

例

helpurl要素は、rwservlet.propertiesで次の例のように指定できます。

<helpurl>http://myserver/help_file/help_topic.htm</helpurl>

説明

helpurl要素により、デフォルト(ORACLE_HOME\reports\templates\help.htm)のかわりに使用するヘルプ・ファイルの名前を指定します。

rwservlet HELPキーワード(Webコマンド)によって、デフォルトのヘルプ・ファイルまたはhelpurl要素で指定されたヘルプ・ファイルのどちらかが表示されます。

ノート:

HELPキーワードの詳細は、第A.6.12項「HELP」を参照してください。

7.3.1.1.10 imageurl

rwservletのimageurlサブ要素は、rwservlet.xsdで次のように定義されています。

<xs:element name="imageurl" type="xs:string" minOccurs="0" maxOccurs="1"/>

例

imageurlプロパティは、rwservlet.propertiesで次の例のように指定できます。

<imageurl>http://machine_name:port/reports/rwservlet</imageurl>

説明

imageurl要素により、レポートの動的生成イメージの位置を指定します。

この要素は、Oracle Reports Servlet (rwservlet)経由で実行されないJSPに適用されます。これにより、チャートなど動的に生成されたイメージを表示できるのが、レポート実行者に制限されます。rwservlet経由で実行されるJSPなどのレポート・タイプには、この保護が自動的に適用されます。

7.3.1.1.11 reloadkeymap

rwservletのreloadkeymapサブ要素は、rwservlet.xsdで次のように定義されています。

<xs:element name="reloadkeymap" type="xs:string" minOccurs="0" maxOccurs="1"/>

例

reloadkeymap要素は、rwservlet.propertiesで次の例のように指定できます。

<reloadkeymap>yes</reloadkeymap>

説明

reloadkeymap要素により、rwservletがリクエストを受け取るたびにキー・マップ・ファイル(cgicmd.dat)を再ロードするかどうかを指定します。

- no(デフォルト): rwservletがリクエストを受信したときにキー・マップ・ファイルは再ロードされません。

- yes: rwservletがリクエストを受信したときにキー・マップ・ファイルが再ロードされます。

この機能は、マップ・ファイルを頻繁に変更し、変更を自動的にロードする場合に便利です。ファイルの再ロードに要する時間は、ランタイム・パフォーマンスに影響します。

一般的にこの要素により、本番環境ではnoに設定し、テスト環境ではyesに設定します。

7.3.1.1.12 dbauth

dbauthは、データベース情報の入力に使用するHTMLテンプレートです。レポート・リクエストの実行中にユーザーがデータベース情報を入力しない場合、Reports Servletはデータベース情報をHTMLテンプレートに入力するようにユーザーに促します。

rwservletのdbauthサブ要素は、rwservlet.xsdで次のように定義されています。

<xs:element name="dbauth" type="xs:string" minOccurs="0" maxOccurs="1"/>

例

dbauth要素は、rwservlet.propertiesで次の例のように指定できます。

<dbauth>rwdbauth.htm</dbauth>

テンプレートが次に示すデフォルトのテンプレート・ディレクトリにある場合は、テンプレートのパスを指定する必要はありません。

ORACLE_HOME\reports\templates

説明

dbauth要素により、自社ロゴ、リンク・ボタンまたはその他のHTMLでログイン・ダイアログ・ボックスをカスタマイズする場合に、HTMLテンプレートの位置とファイル名を指定します。デフォルトでは、ファイル名はrwdbauth.htmです。

7.3.1.1.13 sysauth

sysauthは、認証情報の入力に使用するHTMLテンプレートです。

rwservletのsysauthサブ要素は、rwservlet.xsdで次のように定義されています。

<xs:element name="sysauth" type="xs:string" minOccurs="0" maxOccurs="1"/>

例

sysauth要素は、rwservlet.propertiesで次の例のように指定できます。

<sysauth>rwsysauth.htm</sysauth>

テンプレートが次に示すデフォルトのテンプレート・ディレクトリにある場合は、テンプレートのパスを指定する必要はありません。

ORACLE_HOME\reports\templates

説明

sysauth要素により、自社ロゴ、リンク・ボタンまたはその他のHTMLでセキュア・レポートのログイン・ダイアログ・ボックスをカスタマイズする場合に、HTMLテンプレートの位置とファイル名を指定します。デフォルトでは、ファイル名はrwsysauth.htmです。

7.3.1.1.14 errortemplate

rwservletのerrortemplateサブ要素は、rwservlet.xsdで次のように定義されています。

<xs:element name="errortemplate" type="xs:string" minOccurs="0" maxOccurs="1"/>

例

errortemplate要素は、rwservlet.propertiesで次の例のように指定できます。

<errortemplate>rwerror.htm</errortemplate>

テンプレートが次に示すデフォルトのテンプレート・ディレクトリにある場合は、エラー・メッセージ・テンプレートのパスを指定する必要はありません。

ORACLE_HOME\reports\templates

説明

errortemplate要素により、エラー・メッセージ・テンプレートの名前と位置を指定します。デフォルトでは、ファイル名はrwerror.htmです。

エラー・メッセージ・テンプレートにより、エラー・メッセージの表示に使用される視覚的設定を実現します。エラー・メッセージの外観は、自社ロゴやエラーと関連するアイコンなどを使用してカスタマイズできます。ヘルプ・システムや自社ホームページを表示したり、前のブラウザ・ウィンドウへ戻るためのボタンを追加することもできます。その際、errortemplate要素を使用して、自動生成されたエラー・メッセージに独自のHTMLフレームワークを指定します。

デフォルトのエラー・メッセージ・テンプレート(rwerror.htm)の文字セットは、すべてのプラットフォーム間での一貫性を確保する目的でiso-8859-1になっています。

7.3.1.1.15 diagtags

diagtags要素は、rwservlet.xsdで次のように定義されています。

<xs:element name="diagtags">
<xs:complexType>
<xs:attribute name="diagbodytags" use="required" type="xs:string"/>
<xs:attribute name="diagheadtags" use="required" type="xs:string"/>
</xs:complexType>
</xs:element>

必須/オプション

オプションです。

説明

diagtags要素により、診断やデバッグの出力に関連する出力ファイルの<body>タグと<head>タグに追加HTMLエンコードを指定します。これらのパラメータを使用して、診断およびデバッグの出力を見やすくするためのフォーマット・オプションを挿入できます。

diagtags要素の属性を、表7-27で説明します。

表7-27 diagtags要素の属性

属性

有効値

説明

diagbodytags

<body>タグのHTMLコード

<body>タグと</body>タグとの間に追加するHTMLコード

diagheadtags

<head>タグのHTMLコード

<head>タグと</head>タグとの間に追加するHTMLコード

7.3.1.1.16 cluster

ノート:

高可用性を実現するためのOracle Fusion Middlewareレベル技法の詳細は、第2.5項「高可用性環境の設定」を参照してください。

7.3.1.1.17 oidconnection

oidconnection要素は、rwservlet.xsdで次のように定義されています。

<xs:element name="oidconnection">
<xs:complexType>
<xs:attribute name="oidcon_appentity" use="required" type="xs:string"/>
<xs:attribute name="oidcon_passwdkey" use="required" type="xs:string"/>
<xs:attribute name="oidcon_url" use="required" type="xs:string"/>
<xs:attribute name="oidcon_init" type="xs:integer"/>
<xs:attribute name="oidcon_increment" type="xs:integer"/>
<xs:attribute name="oidcon_timeout">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>

例

oidconnection要素は、rwservlet.propertiesで次の例のように指定できます。

<oidconnection>
oid_appentity="reportsapp.idc.oracle.com>
oidcon_init="10"
oidcon_increment="10"
oidcon_timeout="1">
</oidconnection>

説明

oidconnection要素により、rwservletの場合のOracle Internet Directoryを指定します。

Reports Serverでは、サーバー構成ファイルのoidconnection要素を使用して、Oracle Internet Directory接続プーリング・パラメータを指定できます(詳細は、第7.2.1.16項「oidconnection」を参照)。

oidconnection要素の属性を、表7-28で説明します。

表7-28 oidconnection要素の属性

属性

有効値

説明

oidcon_appentity

該当なし

デフォルト: インストール時に設定

Reportsの内部使用のためにインストール時に作成されるOracle Internet Directory Appエンティティ。

oidcon_passwdkey

該当なし

デフォルト: インストール時に設定

Reportsの内部使用のために、Oracle Internet Directoryへの接続用に作成されるランダムなパスワード・キー。

oidcon_url

該当なし

デフォルト: インストール時に設定

OIDに接続するためのOracle Internet DirectoryのURL

oidcon_init

数値

デフォルト: 10

rwservletの初期化時に作成されるOracle Internet Directory接続の初期数

oidcon_increment

数値

デフォルト: 10

すべての接続が使用中になったときに増分される接続数

oidcon_timeout

数値

デフォルト: 0(タイムアウトなし)

接続がアイドル状態であることが可能な時間(秒単位)

7.3.1.1.18 allowauthid

rwservletのallowauthidサブ要素は、rwservlet.xsdで次のように定義されています。

<xs:element name="allowauthid" type="xs:string" minOccurs="0" maxOccurs="1"/>

説明

allowauthidは、URLでauthidを渡すことを有効にするかどうかを指定するためにrwservlet.propertiesに追加する要素です。

例

allowauthid要素は、rwservlet.propertiesで次の例のように指定できます。

<allowauthid> yes </allowauthid>

必須/オプション

オプションです。

デフォルト

デフォルトでは、allowauthidはYesに設定されています。authidがNoに設定されていると、URLによる認可は無効であり、Single Sign-Onを使用してユーザー名とパスワードを入力する必要があります。

7.3.1.1.19 enabledbproxy

rwservletのenabledbproxyサブ要素は、rwservlet.xsdで次のように定義されています。

<xs:element name="enabledbproxy" type="xs:string" minOccurs="0" maxOccurs="1"/>

説明

enabledbproxyは、rwservletを使用したdbproxy機能を動作させるためにrwservlet.propertiesファイルに追加する要素です。

例

enabledbproxy要素は、rwservlet.propertiesで次の例のように指定できます。

<enabledbproxy> yes </enabledbproxy>

必須/オプション

オプションです。

デフォルト

デフォルトでは、enabledbproxyはYesに設定されています。

7.3.2 代替のOracle Reports Servlet構成ファイルの指定

次のステップに従って、代替のOracle Reports Servlet構成ファイルを指定します。

1. 「WebLogic Server管理コンソール」にログインします。

2. 左側のペインの「ドメイン構造」で「環境」をクリックします。「環境のサマリー」ページが表示されます。

3. このページで「サーバー」をクリックします。「サーバーのサマリー」ページが表示されます。

4. サーバーのリストで「WLS_REPORTS」をクリックします。WLS_REPORTSの設定ページが表示されます。

5. 「サーバーの起動」タブをクリックします。

6. 「引数」フィールドに次のエントリを追加します。

-DServletPropFile=your_servlet_properties_file

7. 「保存」をクリックします。

8. 「WLS_REPORTS」を再起動します。

デフォルトでは、Oracle Reports Servlet (rwservlet)ではrwservlet.propertiesファイルが構成ファイルとして使用されます。複数のOracle WebLogic Serverインスタンスを実行して、複数のレポートが同じOracle Fusion Middlewareにインストールされている場合、異なる構成ファイルを使用するには、WebLogic Server管理コンソールのWLS_REPORTS起動パラメータ・セクションに次のパラメータを追加します。

-DServletPropFile=your_servlet_properties_file

7.4 Oracle Reports Bridge構成ファイル

Oracle Reports ServicesのReports ServerコンポーネントのOracle Reports Bridge構成設定は、XMLファイルのrwbridge.confに格納されます。

bridgeconfig.xsdファイルには、rwbridge.confの要素と属性のデータ型の定義が格納されています。第7.4.1項「Oracle Reports Bridgeの構成要素」を参照してください。

これらのファイルは、表7-1で指定されたディレクトリにあります。

7.4.1 Oracle Reports Bridgeの構成要素

bridgeconfig.xsdには、Oracle Reports Bridge構成ファイル(rwbridge.conf)の様々な要素と属性のデータ型定義が格納されています。

Reports ServerやReports Clientが複数のファームにおいてブロードキャストするパケットのゲートウェイとして、Oracle Reports Bridgeは機能します。たとえば、設定例では、Oracle Reportsコンポーネントは異なるファームにインストールされています(Oracle Reports ServletはファームA、Reports ServerはファームB)。この構成を実現するには、Oracle Reports Bridgeを各ファームで起動する必要があります。ブリッジの構成には、ホストおよびポートの設定が含まれます。ファームAのOracle Reports Bridgeは、信頼できるTCPを介してファームBのOracle Reports Bridgeと通信し、ファームBのサーバー情報を取得します。また、その逆も同様です。詳細は、第2.3.4.1.2項「複数のサブネットにわたるサーバーの検出」を参照してください。

Oracle Reports Bridgeの起動や停止を行うには、第5章「Oracle Reports Servicesの起動と停止」を参照してください。

Oracle Reports Bridgeが初めて起動するとき、Oracle Reportsでは構成ファイルのrwbridge.confが作成されます。このファイルは、rwbridge.templateファイルの設定に基づいて生成されます。

構成ファイルのrwbridge.confでidentifier要素を変更することで、username/passwordを指定し、encrypted属性をnoに設定します。これは、パスワードが暗号化されないことを示します。Oracle Reports Bridgeが起動されると、このパスワードは暗号化されます。

例:

<identifier encrypted="no">scott/tiger</identifier>

使用上のノート

- identifier要素がコメント化されていると、authidを指定せずにOracle Reports Bridgeを停止できます。

- Oracle Reports Bridgeをリモートで停止することはできません。

関連項目:

第7.4.1.2項「identifier」

bridgeconf.xsdファイルには、rwbridge.confの要素と属性を構成するために、次のデータ型の定義が格納されています。

- bridge

- identifier

- remoteBridge

- remoteBridges

ノート:

この項で説明されている構成要素は、Oracle Enterprise Managerで構成できます。

- 「レポート」→「管理」→「ブリッジ構成」を選択して、Reports Bridgeコンポーネント構成ページを表示します。

7.4.1.1 bridge

bridge要素は、bridgeconfig.xsdで次のように定義されています。

<xs:element name="bridge">
<xs:complexType>
<xs:sequence>
<xs:element ref="identifier" minOccurs="0" maxOccurs="1"/>
<xs:element ref="remoteBridges" minOccurs="0" maxOccurs="1"/>
</xs:sequence>

<xs:attribute name="version" use="required" type="xs:string"/>

<xs:attribute name="port" default="14011">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="14001"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

<xs:attribute name="timeout" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

</xs:complexType>
</xs:element>

例

<bridge version="11.1.1.1.0" port="14011" timeout="12000">
<!--networkConfig file="rwnetwork.conf" ></networkConfig-->
<!--identifier encrypted="no"
>%USERNAME%/%PASSWORD%</identifier-->
<!--trace traceOpts="trace_all"></trace-->
<!-- Specify one or more remote bridges inside remoteBridges element -->
<!--remoteBridges>
<remoteBridge host="%HOST%" port="%PORT%"></remoteBridge>
</remoteBridges-->
</bridge>

必須/オプション

必須です。構成ファイルに1組のbridge要素の開始タグと終了タグを指定できます。

説明

bridge要素は、ブリッジ構成ファイルのコンテンツ領域を開始および終了します。ファイルの階層に関しては、その他すべての要素はbridge要素に従属します。

bridge要素の属性を、表7-29で説明します。

表7-29 bridge要素の属性

属性

有効値

説明

version

11.1.1.1.0

ブリッジのバージョン。

port

Oracle Reports Bridgeコンポーネントに割り当てる範囲(14011から14020)

ブリッジがリスニングするポート。

timeout

1000

ミリ秒(ms)単位の数値。ブリッジは、リモート・ブリッジからのレスポンスを、この期間だけ待ちます。

注意:

ブリッジ構成ファイルのデフォルト・ポート値は、Oracle Fusion Middlewareのインストール時に割り当てられます。ブリッジ用の構成ファイルの生成に使用されるrwbridge.templateファイルには、このデフォルト・ポートが指定されています。ブリッジ用の構成ファイル名はORACLE_INSTANCE/config/ReportsBridgeComponent/<bridge name>/rwbridge.confです。

ブリッジ用のポート番号のカスタマイズが必要な場合、Oracle Reports Bridgeのブリッジ用に予約されている有効ポート範囲(14011から14020)を指定する必要があります。

7.4.1.2 identifier

identifier要素は、bridgeconfig.xsdで次のように定義されています。

<xs:element name="identifier">
<xs:complexType mixed="true">
<xs:attribute name="encrypted" default="no">
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="yes"/>
<xs:enumeration value="no"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>

例

<identifier
encrypted="yes">fpoiVNFvnlkjRPortn+sneU88=NnN</identifier>

必須/オプション

オプションです。この要素がコメント化されている場合、ブリッジ停止コマンドの発行時にOracle Reports Bridgeでセキュリティ・チェックが実行されません。

説明

identifier要素により、停止前にOracle Reports Bridgeでセキュリティ・チェックが実行されます。

identifier要素の値を設定するには:

1. ブリッジ構成ファイルのidentifier要素のコメントを外します。

2. その値を管理者のユーザー名/パスワードに設定し、属性encrypted=noを設定します。これでユーザー名/パスワードは、Oracle Reports Bridgeの再起動時に暗号化されます。
例:

<identifier encrypted="no">scott/tiger</identifier>

3. Oracle Reports Bridgeを起動します。

この要素が設定されると、管理者のみがコマンドラインでusername/passwordを指定して、ブリッジを停止できます。

関連項目:

第5.2.1項「Oracle Process Manager and Notification ServerからのOracle Reportsブリッジの起動、停止および再起動」

7.4.1.3 remoteBridge

remoteBridge要素は、bridgeconfig.xsdで次のように定義されています。

<xs:element name="remoteBridge">
<xs:complexType>
<xs:attribute name="host" use="required" type="xs:string"/
<xs:attribute name="port" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="14001"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>

例

<remoteBridge host="myhost.mydomain.com" port="14022"></remoteBridge>

必須/オプション

オプションです。ブリッジ構成ファイルにremoteBridge要素を1つ以上指定できます。

説明

remoteBridge要素には、リモート・ブリッジが実行されているホストおよびポートを指定します。

図7-1 Oracle Reports Bridgeの構成(双方向)

repbrg_bridgename.confにオプションのremoteBridge要素を指定すると、該当ブリッジは双方向ブリッジとして機能します。つまり、そのブリッジはリモート・ブリッジからサーバー参照を取得できます。

図7-2 Oracle Reports Bridgeの構成(片方向)

repbrg_bridgename.confでオプションのremoteBridge要素を指定しない場合、そのブリッジは片方向ブリッジとして機能します。つまり、そのブリッジはリモート・ブリッジの役割のみを果たします。リモート・ブリッジに接続してサーバー参照を取得することはできません。

remoteBridge要素の属性を、表7-30で説明します。

表7-30 remoteBridge要素の属性

属性

有効値

説明

host

リモート・ブリッジのホスト名/IPアドレス

リモート・ブリッジが実行されているマシンのホスト名またはIPアドレス

port

リモート・ブリッジのポート番号

リモート・ブリッジ要素に適用するポート番号

7.4.1.4 remoteBridges

remoteBridges要素は、bridgeconfig.xsdで次のように定義されています。

<xs:element name="remoteBridges">
<xs:complexType>
<xs:sequence>
<xs:element ref="remoteBridge" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>

例

<remoteBridges>
<remoteBridge host="myhost.mydomain.com" port="14022"></remoteBridge>
</remoteBridges>

必須/オプション

オプションです。このエントリを指定しないと、対象となるブリッジはリモート・ブリッジに接続して、Reports Server参照を取得しません。ただし、リモート・ブリッジはこのブリッジに接続して、このファームで実行しているReports Server参照を取得できます。

説明

remoteBridges要素には、任意数のremoteBridge要素を指定できます。

7.5 ネットワーク構成ファイル

Oracle Reports ServicesのOracle Reports Bridgeコンポーネントのネットワーク構成設定は、XMLファイルのrwnetwork.confに格納されます。

rwnetworkconf.xsdには、rwnetwork.confの要素と属性のデータ型の定義が格納されています。第7.5.1項「ネットワークの構成要素」を参照してください。

これらのファイルは、表7-1で指定されたディレクトリにあります。

7.5.1 ネットワークの構成要素

rwnetworkconf.xsdファイルには、rwnetwork.confの要素と属性を構成するために、次のデータ型の定義が格納されています。

- discoveryService

- multicast

- namingService

7.5.1.1 discoveryService

discoveryService要素は、rwnetwork.xsdで次のように定義されています。

<xs:element name="discoveryService">
<xs:complexType>
<xs:choice>
<xs:element ref="multicast"/>
<xs:element ref="namingService"/>
</xs:choice>
</xs:complexType>
</xs:element>

必須/オプション

必須です。構成ファイルに1組のdiscoveryService要素の開始タグと終了タグを指定できます。

説明

discoveryService要素は、ネットワーク構成ファイルのコンテンツ領域を開始および終了します。ファイルの階層に関しては、その他すべての要素はdiscoveryService要素に従属します。

discoveryService要素には属性はありません。これにはサブ要素が2つあります。

- multicast: 第7.5.1.2項「multicast」を参照

- namingService: 第7.5.1.3項「namingService」を参照してください。

7.5.1.2 multicast

multicast要素は、rwnetwork.xsdで次のように定義されています。

<xs:element name="multicast">
<xs:complexType>
<xs:attribute name="channel" default="228.5.6.7" type="xs:string"/>
<xs:attribute name="port"  default="14021">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="timeout" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="retry"  default="3">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>

例

<multicast channel="228.5.6.7" port="one of the port in alotted AS ports"
timeout="1000" retry="3"/>

必須/オプション

条件付き。namingService要素とmulticast要素は同時に使用できません。つまり、一度に構成できる要素は、このうちの1つのみです。

説明

multicast要素には、Reports Serverでビルトインのブロードキャスト・メカニズムが実行されている場所の識別に必要な情報が含まれます。デフォルトでは、rwnetwork.confにmulticastが指定されています。

multicast要素の属性を、表7-31で説明します。

表7-31 multicast要素の属性

属性

有効値

説明

channel

ブロードキャスト・チャネル。

Reports Serverによって使用されるブロードキャスト・チャネル。

port

ブロードキャスト・ポート。

Reports Serverによって使用されるブロードキャスト・ポート。

timeout

レスポンスを待つ時間(ミリ秒単位)。この設定の最適値は1000です。

Reportsクライアントは、Reports Serverからのレスポンスを指定タイムアウト期間だけ待ちます。

retry

再試行カウント。

タイムアウト期間が経過してもReports Serverからレスポンスがないと、Reports Clientでは指定された回数だけ再試行します。

ノート:

デフォルトのチャネルとポートは、絶対的に必要でないかぎり変更しないでください。rwnetwork.confのデフォルト・ポート値は、Oracle Fusion Middlewareのインストール時に割り当てられます。

rwnetwork.confのカスタマイズが必要な場合は、Reports Server用に予約されている有効なポート範囲(14021から14030)を指定する必要があります。複数のサブネットにおいてReports Serverの検出にOracle Reports Bridgeを使用する場合、ブリッジが正常に機能するようにtimeout値とretry値は注意して設定する必要があります。timeout値の設定の詳細は、表7-31を参照してください。

7.5.1.3 namingService

namingService要素は、rwnetwork.xsdで次のように定義されています。

<xs:element name="namingService">
<xs:complexType>
<xs:attribute name="name" use="required" type="xs:string"/>
<xs:attribute name="host"  use="required" type="xs:string"/>
<xs:attribute name="port" use="required">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>

例

<namingService name="Cos" host="mymachine.mydomain.com" port="14021"/>

必須/オプション

条件付き。namingService要素とmulticast要素は同時に使用できません。つまり、一度に構成できる要素は、このうちの1つのみです。

説明

namingService要素には、COSネーミング・サービスが実行されているホスト名とポートを特定するために必要な情報が含まれます。namingServiceはレポート高可用性ではサポートされていません。この要素は、次の例のように、ビルトインのブロードキャスト・メカニズムが使用環境に適さない場合にのみ指定してください。

- VPNを使用してネットワークに接続しているマシン上にOracle Reportsがインストールされている場合

- ネットワーク上のブロードキャスト・トラフィックを回避する必要がある場合

詳細は、第2.3.4.2項「COSネーミング・サービスを使用したサーバーの検出」を参照してください。

namingService要素の属性を、表7-32で説明します。

表7-32 namingService要素の属性

属性

有効値

説明

name

Cos

ネーミング・サービスの名前

host

ホスト名/IP

ネーミング・サービスが実行されているマシンのホスト名

port

ポート番号

ネーミング・サービスが実行されているマシンのポート番号

7.6 URLエンジンの構成

Reports Serverには、URLのコンテンツの取得や配布ができるURLエンジンが搭載されています。URLエンジンにより、Reports Serverの強力なスケジューリング機能と配布機能を利用して、公開URLのコンテンツを電子メール、Oracle Portal、WebDAVなどの宛先に配布できます。Reports Serverの宛先はプラガブルなので、URLコンテンツに対して独自のカスタム宛先も追加できます。

さらに、URLエンジンをReports Serverのイベント・ベース型APIと組み合せて使用すると、コンテンツの配布をデータベース・イベントでトリガーできます。たとえば、従業員経費データの表に格納されたデータを高品位のWebで公開するためのJSPレポートを作成したとします。この場合、URLエンジンとイベントベースのAPIを使用して、新規または更新した従業員経費データが経費アプリケーションによって表に格納されるたびに、そのJSPに電子メールで通知することができます。

URLエンジンが有効化されていない場合は、次の手順で有効にします。

1. URLエンジンのengine要素をサーバー構成ファイルに追加します。たとえば、次のようにエンジン要素を入力します。

<engine id="rwURLEng"
class="oracle.reports.engine.URLEngineImpl"
initEngine="1"
maxEngine="1"
minEngine="0"
engLife="50"
maxIdle="30"
callbackTimeOut="60000"
/>

2. 適切なジョブ・タイプをURLエンジンと関連付けるjob要素をサーバー構成ファイルに追加します。たとえば、次のようにjob要素を入力します。

<job jobType="rwurl" engineId="rwURLEng"/>

3. Reports Serverを停止し、再起動します。

ノート:

これらの新しい要素でReports Serverを再起動すると、Reports Serverのステータス・メッセージ・ボックスでエンジン数が増加していることが表示されます。前述の例では、Reports Serverを再起動するとエンジンの数が1つ増加します(initEngineの値)。

URLエンジンへのリクエスト送信の詳細は、第17章「レポート・リクエストの実行」を参照してください。

7.7 プロキシ情報の入力

Oracle Reportsのいくつかの機能では、ファイアウォール経由での情報の送受信がサポートされています。たとえば、URLエンジン、XMLデータ・ソース、テキスト・データ・ソースおよびメール宛先の機能は、すべてファイアウォール経由で情報を送受信します。これらの機能が適切に動作するためには、Oracle Reportsでは特定のプロキシ情報が必要です。

Oracle Reports 11gリリース2 (11.1.2)では、プロキシ情報は、Reports Server構成ファイル(rwserver.conf)に格納されます。プロキシ情報は、次のいずれかの方法で指定できます。

- Oracle Enterprise Managerの使用(推奨)

- サーバー構成ファイルの編集

7.7.1 Oracle Enterprise Managerの使用

Oracle Enterprise Managerを使用してプロキシ情報を指定するには、第6.14項「プロキシ情報の構成」を参照してください。

7.7.2 サーバー構成ファイルの編集

サーバー構成ファイル(rwserver.conf)を直接編集してプロキシ情報を指定するには、第7.2.1.24項「proxyServer」の説明に従ってproxyServer要素を追加します。

7.8 Oracle Process Manager and Notification ServerおよびOracle Enterprise ManagerによるReports Serverの構成

Reports Serverの起動、停止、監視および管理を行う方法としては、Oracle Process Manager and Notification Server (OPMN)およびOracle Enterprise Managerの使用をお薦めします。

Oracle Fusion Middlewareコンポーネント(Reports Serverなど)の初期化、維持および停止を一元化したメカニズムをOPMNにより実現します。Oracle Reportsコンポーネントの障害検出とリカバリはデフォルトでOPMNによって管理されており、Oracle Reports 11gリリース2 (11.1.2)のヘルス・チェック・メカニズムが強化されています。

Oracle Enterprise Managerを使用してReports Serverを便利に監視できます。また、なんらかの原因でプロセスが失敗した場合、OPMNによりReports Serverが自動的に再起動します。

Oracle Fusion Middlewareをインストールする際、Reports Serverは自動的にOPMNで構成され、Oracle Enterprise Managerに登録されます。

7.8.1 opmn.xml

コンポーネントは、OPMNによって、INSTANCE_HOME/config/OPMN/opmn/opmn.xmlにあるopmn.xmlファイルで構成されます。次の各項では、OPMNを使用して次のコンポーネントを構成する方法を説明します。

- モジュールの指定

- スタンドアロンのReports Serverの指定

- Oracle Reports Bridgeの指定

- COSネーミング・サービスの指定

関連項目:

OPMNの構成およびopmn.xmlの内容の詳細は、次のドキュメントを参照してください。

- 『Oracle Fusion Middleware Administrator's Guide』

7.8.1.1 モジュールの指定

moduleタグは、デフォルトではopmn.xmlに含まれ、特定のモジュールのロードをOPMNに指示します。Reports Serverの場合は、OracleAS Reports Servicesモジュールをロードする必要があります。このモジュールは、デフォルトでは、次の情報によってopmn.xmlにロードされます。

<module path="/private/oraclehome/opmn/lib/libopmnreports"><module-id id="ReportsServices"/></module>

7.8.1.2 スタンドアロンのReports Serverの指定

スタンドアロンReports Serverの場合、Reports Serverは専用コンポーネントで実行されます。したがって、OPMNによってサーバーを制御するには、Reports Serverの個別コンポーネントを指定する必要があります。例:

<ias-component id="<ServerName>">
<process-type id="ReportsServerComponent" module-id="ReportsServices">
<process-set id="<ServerName>" restart-on-death="true" numprocs="1">
<environment>
<variable id="PATH" value="<PATH environment variable> "/>
</environment>
<module-data>
<category id="general-parameters">
<data id="batch" value="yes"/>
</category>
<category id="restart-parameters">
<data id="reverseping-timeout" value="120"/>
</category>
</module-data>
<start timeout="75" retry="2"/>
<stop timeout="120"/>
<restart timeout="75"/>
<ping timeout="30" interval="30"/>
</process-set>
</process-type>
</ias-component>

注意:

前述の例のtimeout値は、すべて秒単位です。

Oracle Reportsのこの指定で重要なセグメントは次のとおりです。

<ias-component id="<RSName>" ...>

このタグにより、Reports Serverの名前を指定します。これは、targets.xmlにある内部Reports Server名と一致する必要があります。

関連項目:

targets.xmlの詳細は、第19章「OracleAS Reports Servicesの管理と監視」を参照してください。

<process-type id="ReportsServer" module-id="ReportsServices">

このタグにより、指定されたReports Serverのプロセスを定義し、これをOracleAS Reports Servicesのプロセス・モジュールに関連付けます。

<process-set id="<RSName>" restart-on-death="true" numprocs="1">

このタグにより、指定のReports Serverのプロセス特性を定義します。これによって、Reports Serverの失敗時に再起動するかどうかを指定します。さらに、このプロセス・セットについて起動されるReports Serverの数も指定しますが、プロセスセットIDにより単一のReports Server名を識別するため、その値は1である必要があります。

<variable id="PATH" value="your_shell_path"/>

1番目のタグは、そのプロセスで使用されるPATH環境変数の値を指定します。この変数の設定は、開始スクリプトがunameを検出するために必要です。このenvironment要素は、Microsoft Windowsプラットフォームでは不要です。

<category id="general-parameters"><data id="batch" value="yes"/></category>

このタグのグループは、プロセスに共通のデータ(パラメータ)をすべて集めます。この例では、BATCHパラメータがReports Serverに送信されるように指定する方法を示しています。batch=yes|noは、Reports Serverの起動や停止を行うコマンドのオプションです。構成されない場合、このオプションはReports Serverに渡されません。

<category id="restart-parameters"><data id="reverseping-timeout" value="120"/></category>

このタグのグループは、再起動パラメータ・カテゴリを指定します。このカテゴリでは、プロセスが失敗したかどうか、プロセスを再起動するかどうかを検出するときに使用するパラメータを定義します。指定されたreverseping-timeout期間内に通知が受信されなかった場合、プロセスは失敗したと見なされ、再起動されます。

関連項目:

opmn.xmlとその内容の詳細は、次のドキュメントを参照してください。

- 『Oracle Application Server管理者ガイド』

7.8.1.3 Oracle Reportsブリッジの指定

Oracle Reports Bridgeは、その専用コンポーネント内で実行されます。したがって、OPMNによってブリッジを制御するには、Oracle Reports Bridgeに対して個別のias-componentタグを指定する必要があります。トラブルシューティングの例と解決策の詳細は、第D.8項「Oracle Reports Bridgeの問題の診断」を参照してください。

次は、最小のブリッジ構成と完全なブリッジ構成の例です。

例7-1 Oracle Reportsブリッジの最小構成

<ias-component id="your_bridge_name" status="enabled" id-matching="false"
xmlns="http://www.oracle.com/ias-instance">
<process-type id="ReportsBridge" module-id="ReportsBridgeServices">
<process-set id="your_bridge_name" restart-on-death="true" numprocs="1">
<environment>
<variable id="PATH" value="your_oracle_home_directory/jdk/jre/bin" append="true"/>
<variable id="PATH" value="your_shell_path" append="true"/>
<variable id="CLASSPATH" value="your_oracle_home_directory/jlib/zrclient.jar" append="true"/>
<variable id="CLASSPATH" value="your_oracle_home_directory/reports/jlib/rwrun.jar" append="true"/>
</environment>
</process-set>
</process-type>
</ias-component>

例7-2 Oracle Reportsブリッジの完全構成

<ias-component id="your_bridge_name" status="enabled" id-matching="false">
<process-type id="ReportsBridge"module-id="ReportsBridgeServices">
<process-set id="your_bridge_name" restart-on-death="true" numprocs="1">
<environment>
<variable id="PATH" value="your_shell_path" append="true"/>
<variable id="CLASSPATH" value="your_oracle_home_directory/jlib/zrclient.jar" append="true"/>
<variable id="CLASSPATH" value="your_oracle_home_directory/reports/jlib/rwrun.jar" append="true"/>
</environment>
<module-data>
<category id="restart-parameters">
<data id="reverseping-timeout" value="120"/>
</category>
<category id="start-parameters">
<data id="jvm-options" value="="-Xms128mb -Xmx256mb"/>
<data id="bridge-options" value="start_options_if_any"/>
</category>
<category id="stop-parameters">
<data id="jvm-options" value="-Xms128mb -Xmx256mb"/>
<data id="bridge-options" value="stop_options_if_any"/>
</category>
</module-data>
<start timeout="120" retry="3"/>
<stop timeout="120"/>
<restart timeout="120" retry="0"/>
</process-set>
</process-type>
</ias-component>

7.8.1.4 COSネーミング・サービスの指定

デフォルトでは、Oracle ReportsではReports Serverの検出にビルトインのブロードキャスト・メカニズムを使用します。ただし、次の例のように、ビルトインのブロードキャスト・メカニズムが使用環境に適さない場合、Oracle Reportsクライアントは、Reports Serverの検出にCommon Object Service (COS)ネーミング・サービスを使用して、レポート・リクエストを送信できます。

- VPNを使用してネットワークに接続しているマシン上にOracle Reportsがインストールされている場合

- ネットワーク上のブロードキャスト・トラフィックを回避する必要がある場合

詳細は、第2.3.4.2項「COSネーミング・サービスを使用したサーバーの検出」を参照してください。OPMNを使用してCOSネーミング・サービスを制御するには、次のように、opmn.xmlファイルにias-componentカスタム・タグを含める必要があります。

<ias-component id="namingservice">
<process-type id="namingservice" module-id="CUSTOM">
<environment>
<variable id="PATH" value="ORACLE_HOME\jdk\bin"/>
</environment>
<process-set id="namingservice" numprocs="1">
<module-data>
<category id="start-parameters">
<data id="start-executable" value="ORACLE_HOME\jdk\bin\orbd"/>
<data id="start-args" value="-ORBInitialPort port"/>
</category>
</module-data>
</process-set>
</process-type>
</ias-component>

ここで、

ORACLE_HOMEは、使用しているOracleホーム・ディレクトリです。

portは、COSネーミング・サービスを起動するポートです。第7.5.1.3項「namingService」で指定されているように、このポートはrwnetwork.confファイルで指定する必要があります。

さらに、Reports Serverの起動前にOPMNでCOSネーミング・サービスを起動するには、opmn.xmlに次の依存関係を含める必要があります。

<ias-component id="<reports_server_name>" status="enabled" id-matching="false">
<process-type id="ReportsServer" module-id="ReportsServices">
...
<managed-process ias-component="namingservice" process-type="namingservice"
process-set="namingservice" autostart="true"/>
...
</process-type>
</ias-component>

OPMNを使用してCOSネーミング・サービスを制御するには、次のステップを実行します。

1. Reports ServerとWLS_REPORTSを停止します。

2. opmn.xmlファイルを編集してias-componentタグを追加します。例:

...
<ias-component id="namingservice">
<process-type id="namingservice" module-id="CUSTOM">
<environment>
<variable id="PATH" value="G:\FRHome_2\jdk\bin"/>
</environment>
<process-set id="namingservice" numprocs="1">
<module-data>
<category id="start-parameters">
<data id="start-executable" value="G:\FRHome_2\jdk\bin\orbd"/>
<data id="start-args" value="-ORBInitialPort 8988"/>
</category>
</module-data>
</process-set>
</process-type>
</ias-component>
...

3. Reports Serverのias-componentタグに依存関係を追加します。例:

<category id="general-parameters">
<data id="batch" value="yes"/>
</category>
<category id="restart-parameters">
<data id="reverseping-timeout" value="120"/>
</category>
</module-data>
<dependencies>
<managed-process ias-component="namingservice"
process-type="namingservice" process-set="namingservice"
autostart="true"/>
</dependencies>
<stop timeout="120"/>
<restart timeout="600"/>
<ping timeout="30" interval="30"/>
</process-set>
</process-type>
</ias-component>
...

注意:

Reports 11gリリース2 (11.1.2)では、OPMNによってインプロセス・サーバーとWLS_REPORTSが管理されていないため、WLS_REPORTSで依存関係を追加できません。

4. ORACLE_INSTANCE/binディレクトリに移動します。

5. 次のいずれかのコマンドを実行します。

- OPMNが稼動している場合、opmn.xmlファイルへの変更を再ロードします: opmnctl reload

- OPMNが稼動していない場合: opmnctl start

6. 次のいずれかのコマンドを使用して、COSネーミング・サービスを起動します。
opmnctl startproc ias-component=namingservice

または

opmnctl startproc process-type=namingservice

7. 第7.5.1.3項「namingService」の説明に従って、デフォルトのブロードキャスト・メカニズムのかわりにCOSネーミング・サービスを使用するように、rwnetwork.confファイルを変更します。

8. WLS_REPORTSとReports Serverを起動します。
COSネーミング・サービスを停止するには、次のコマンドを使用します。

opmnctl stopproc ias-component=namingservice

COSネーミング・サービスを再起動するには、次のコマンドを使用します。

opmnctl restartproc ias-component=namingservice

トラブルシューティング: Reports Serverの起動時にCOMM_FAILUREエラーが表示された場合、ネーミング・サービスが正しく起動していないか、ポートが正しく指定されていません。このエラーを解決するには、ネーミング・サービスのプロセスorbdが稼動しているか確認してください。稼動していない場合は起動します。orbdプロセスが実行中の場合は、rwnetwork.confファイルのnamingServiceで指定されたポートを確認してください。これは、orbdが起動されるポートと同じである必要があります。

opmnctl stopallコマンドを実行すると、Reports Serverが正常に停止せず、OPMNによって強制終了される場合があります。これは、プロセスの停止中にOPMNが依存関係をチェックしないためです。Reports Serverを停止する前にOPMNがCOSネーミング・サービスを停止すると、Reports Serverは正常に停止しません。これは害がないため、無視してかまいません。

7.8.2 新規Reports Serverの作成

次のOPMNコマンドを使用して、新規Reports Serverを作成できます。

ORACLE_INSTANCE/bin/opmnctl createcomponent
-adminUsername weblogic
-adminHost ${ADMIN_HOST}
-adminPort ${ADMIN_PORT}
-oracleHome ${ORACLE_HOME}
-oracleInstance ${ORACLE_INSTANCE}
-instanceName  $INSTANCE_NAME
-componentName  <servername>
-componentType  ReportsServerComponent

たとえば、test_serverという名前で新規サーバーを作成するには、コマンドラインで次のコマンドを実行します。

ORACLE_INSTANCE/bin/opmnctl createcomponent
-adminUsername weblogic
-adminHost host.domain.com
-adminPort 7001
-oracleHome /path/oracle_home
-oracleInstance /path/instance_home
-instanceName  myinst
-componentName  test_server
-componentType  ReportsServerComponent

Reports Serverを作成したら、WLS_REPORTS管理対象サーバーを停止し、再起動します。これは、Reports Serverの新しい構成MBeanの登録を完了するために必要です。

7.8.3 新規ブリッジ・コンポーネント・タイプの作成

次のOPMNコマンドを使用して、新規ブリッジ・コンポーネント・タイプを作成できます。

ORACLE_INSTANCE/bin/opmnctl createcomponent
-adminUsername weblogic
-adminHost ${ADMIN_HOST}
-adminPort ${ADMIN_PORT}
-oracleHome ${ORACLE_HOME}
-oracleInstance ${ORACLE_INSTANCE}
-instanceName  $INSTANCE_NAME
-componentName  <Bridgename>
-componentType  ReportsBridgeComponent

たとえば、test_bridgeという名前で新規ブリッジ・コンポーネント・タイプを作成するには、コマンドラインで次のコマンドを実行します。

ORACLE_INSTANCE/bin/opmnctl createcomponent
-adminUsername weblogic
-adminHost host.domain.com
-adminPort 7001
-oracleHome /path/oracle_home
-oracleInstance /path/instance_home
-instanceName  myinst -componentName  test_bridge
-componentType  ReportsBridgeComponent

注意:

コマンドを実行すると、新規サーバーまたはブリッジが自動的にOPMNに登録されます。

7.9 SOA統合の概要

11gリリース2 (11.1.2)の場合、Oracle ReportsはOracle Service-Oriented Architecture (SOA)スイートに統合されています。これには、Oracle BPEL Process Managerによるレポート作成要件の自動化と監視が含まれています。

7.9.1 BPELについて

Business Process Execution Language (BPEL)は、複数の個別サービスを組み合せてエンドツーエンドのプロセス・フローにするための新しい標準であり、プロセス統合計画のコストと複雑さが大幅に軽減されます。Oracle Fusion Middlewareの主要コンポーネントであるOracle BPEL Process Managerにより、企業では、様々なアプリケーションやWebサービスをビジネス・プロセスに編成できます。このようなプロセスを標準ベースの方法で迅速に構築してデプロイできる機能は、サービス指向アーキテクチャ(SOA)を開発するために重要な機能になります。

Oracle BPEL Process Managerの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

Oracle BPEL Process Managerビジネス・プロセスからOracle Reportsジョブの送信、レポート実行のステータスの取得、およびレポートからOracle BPEL Process Managerビジネス・プロセスの起動が可能です。たとえば、注文が承認されたときにレポート・リクエストを送信します。

Oracle ReportsをOracle BPEL Process Managerで使用するには、次のステップを実行します。

- Oracle JDeveloperを使用してビジネス・プロセスを定義します。

- Oracle ReportsのWebサービスをコールして、ビジネス・プロセスの適切なステージでレポート実行を開始します。

- レポート・ジョブを同期または非同期で送信します。

- 任意の時点でレポートのステータスを取得します。

7.10 Oracle ReportsとOracle BPEL Process Managerとの通信の構成

Oracle Reportsでは、RWWebServiceという名前のWebサービスが公開されます。このWebサービスの詳細は、第18章「Oracle ReportsのWebサービスの使用」を参照してください。Oracle ReportsのWebサービスは、基本的には同期して動作しますが、BPELプロセスではパートナ・リンクとして使用できます。

Oracle ReportsのWebサービスをBPELプロセスで非同期で起動する手順は、次のとおりです。

- Oracle Reportsの同期Webサービスを使用する中間非同期BPELプロセスを作成し、コール元がコールバックするためのインタフェースを用意します。

- SOA Suiteにこの中間非同期BPELプロセスをサービスとしてデプロイします。このサービスはパートナ・リンクとして使用できます。

次の場所でOracle ReportsのWebサービスのWSDLにアクセスできます。

http://yourwebserver:port/reports/rwwebservice?

WSDLには、RWWebserviceの様々な起動方法に関する情報が格納されています。XSDファイルには次の場所でアクセスできます。

http://yourwebserver:port/reports/rwwebservice?xsd=1

XSDファイルをローカル・マシンに保存して、BPELプロセスを作成する際に使用できます。

7.10.1 RWWebserviceを使用してジョブをReports Serverに送信する方法

RWWebServiceを使用してジョブをOracle Reportsサーバーに送信するステップは、次のとおりです。

1. Oracle JDeveloperをインストールします。詳細は、Oracle Fusion Middleware Oracle JDeveloperインストレーション・ガイドを参照してください。

2. OracleAS SOAをインストールします。

3. SOAスイートを起動します。

4. Oracle JDeveloperからSOAスイートへの接続を作成します。

5. 新規アプリケーションを作成します。

6. 新しく非同期BPELプロセス・プロジェクトを作成し、RWWebservice.xsdファイルを使用して、BPELプロセスの入出力パラメータを定義します。

7. RWWebServiceのWSDLを参照するパートナ・リンクを作成します。

- Oracle JDeveloperからの要求に応じて「はい」をクリックし、パートナ・リンク・タイプを作成します。

- 「パートナ・ロール」を選択します。

8. プロセスで有効範囲を作成します。

9. 有効範囲内でInvokeアクティビティを作成し、それを使用してRWWebServiceパートナ・リンクに対するrunJob操作を起動します。

10. 入力変数と出力変数が自動的に作成されます。入力パラメータはRWWebServiceのrunJob操作の入力として使用され、出力パラメータにはrunJob操作の出力が格納されます。

11. この有効範囲内で、Invokeアクティビティの前に、Assignアクティビティを作成します。

- このAssignアクティビティで、RWWebServiceに必要なパラメータにユーザー入力パラメータをマップします。

- Param0にレポート・ジョブ・コマンド(文字列)を設定します。

- Param1にtrue(ジョブ送信を同期する必要があることを指定するブール値)を設定します。

12. この有効範囲内で、Invokeアクティビティの後に、Assignアクティビティを作成します。このAssignアクティビティで、Invokeアクティビティの出力変数を、クライアントに書き戻される結果変数にマップします。

13. SOAスイートのBPELプロセスをコンパイルしてデプロイします。

14. Oracle BPEL Process Managerコンソールを使用して、BPELプロセスを実行します。

このBPELプロセスを別のBPELプロセスで使用して、BPELプロセスからジョブをReports Serverに非同期に送信できます。

重要:

第7.10.1項のステップ2から11を完了するには、次のドキュメントを参照してください。

- Oracle Fusion Middleware Oracle SOA Suiteインストレーション・ガイド

- 『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』

7.10.2 ジョブをReports ServerにBPELプロセスから非同期で送信する方法

ジョブをReports ServerにBPELプロセスから非同期に送信する手順は、次のとおりです。

1. 新しく非同期BPELプロセス・プロジェクトを作成し、RWWebservice.xsdファイルを使用して、BPELプロセスの入出力パラメータを定義します。

2. 新しく作成したBPELプロセスのWSDLを参照するパートナ・リンクを作成します。

- Oracle JDeveloperからの要求に応じて「はい」をクリックし、パートナ・リンク・タイプを作成します。

- 「パートナ・ロール」を選択します。

3. プロセスで有効範囲を作成します。

4. 有効範囲内でInvokeアクティビティを作成し、それを使用して中間プロセスのパートナ・リンクに対するrunJob操作を起動します。

5. 入力変数が自動的に作成されます。入力パラメータは中間BPELプロセスのrunJob操作の入力として使用されます。

6. 中間プロセスからコールバックを受け取るReceiveアクティビティを作成します。

7. この有効範囲内で、Invokeアクティビティの前に、Assignアクティビティを作成します。

- このAssignアクティビティで、中間BPELプロセスに必要なパラメータにユーザー入力パラメータをマップします。

- Param0にレポート・ジョブ・コマンド(文字列)を設定します。

- Param1にtrue(ジョブ送信を同期する必要があることを指定するブール値)を設定します。

8. 有効範囲内で、Invokeアクティビティの後にReceiveアクティビティを作成します。

9. 入力変数が自動的に作成されます。入力パラメータは、中間BPELプロセスのrunJobresponse操作からレスポンスを受け取ります。

10. この有効範囲内で、Invokeアクティビティの後に、Assignアクティビティを作成します。このAssignアクティビティで、Receiveアクティビティの入力変数を、クライアントに書き戻される結果変数にマップします。

11. SOAスイートのBPELプロセスをコンパイルしてデプロイします。

12. Oracle BPEL Process Managerコンソールを使用して、BPELプロセスを実行します。

7.11 レポート配布の最適化

低速または負荷の高いマシンでは、レポートを配布する前に、次の構成を実行することをお薦めします。

- pingのタイムアウト(OPMN側): pingのタイムアウトは、スタンドアロンReports Serverからのコールバックを待つ時間を決めるためにOPMNでそのタイムアウト判定に使用される基準です。
デフォルトのタイムアウト期間は150です。この期間は、ping timeout、ping intervalおよびnumber of retriesの値から計算されます。デフォルト値は次のとおりです。

ping timeout = 30 seconds
ping interval = 20 seconds
number of retries = 3

ノート:

number of retriesは、OPMNがスタンドアロンReports Serverへの接続に成功し、プロセスからONS通知を定期的に受信する場合にのみ適用されます。

これらの値に基づいて、3回のpingが30秒のタイムアウトと20秒の間隔で実行されます。初回のpingは、指定されたping intervalの経過後に実行されます。つまり、スタンドアロンReports ServerがOPMNによって起動されてから約150秒(20+3×30+2×20)が経過すると、プロセスが応答不能と判定され再起動されます。ただし、OPMNがスタンドアロンReports Serverに接続した後にReports ServerにおけるONS通知の定期送信が遅すぎる場合、30秒のタイムアウトが適用されます。

pingのタイムアウトを構成するには、opmn.xmlの次の要素にpingエントリを追加して、マシンの負荷にあった十分なタイムアウト値を指定します。

<ias-component id="<reports_server_name>">
...
...
<restart timeout="720" retry="2" />
...
<ping timeout="110" interval="30" />
...

ノート:

11gでは、Oracle WebLogic ServerはOPMNで管理されないので、WLS_REPORTS内で実行されるインプロセス・サーバーのpingや障害検出は行われません。

- Reports Serverの起動または再起動のタイムアウト(OPMN.xml): 起動または再起動のタイムアウトは、Reports Serverのプロセス・タイプ(opmn.xmlのprocess-type id="ReportsServer")の起動または再起動を待つ時間を決め、そのタイムアウト判定に使用される基準です。
デフォルトのタイムアウト期間は600です。デフォルト値は次のとおりです。

<start timeout="600" retry="2"/>
<restart timeout="600"/>

負荷の高いマシンでは、OPMNがすべてのReports Serverの起動を試みたときに、一部のReports Serverの起動アクティビティが完了せず、それらのReports Serverで起動タイムアウトが生じる場合があります。また、Reports Serverでは、rwserver.confファイルのengine要素のinitengineプロパティで指定された数のエンジンを起動する必要があります。負荷の高いマシンでは、これらのエンジン・プロセスの起動に時間がかかる場合があります。Reports Serverプロセスの起動や再起動のプロパティをチューニングする作業と並行して、次に説明するrwserver.confのcallbackTimeoutプロパティもチューニングしてください。

- コールバックのタイムアウト(Reports Server側): コールバックのタイムアウトは、Reports Serverがエンジンからのレスポンスを待つ時間を決め、そのタイムアウト判定に使用される基準です。この値はrwserver.confファイルで指定できます。タイムアウト期間はミリ秒単位で指定します。
例:

<engine id="rwEng" class="oracle.reports.engine.EngineImpl" initEngine="1"
maxEngine="1" minEngine="0" engLife="50" maxIdle="30"
callbackTimeOut="90000">

注意:

マシンの処理速度が非常に遅い場合は、callbackTimeOut値を大きくしてください。

7.12 system-jazn-data.xmlファイルの例

system-jazn-data.xmlは、IDストアやポリシー・ストアとして使用できるようユーザーによって構成されたXMLファイルです。このファイルは$DOMAIN_HOME/config/fmwconfigにあります。

system-jazn-data.xmlファイルの例は次のとおりです。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jazn-data>
<jazn-realm>
<realm>
<name>jazn.com</name>
<users>
<user>
<name>weblogic</name>
<guid>23AAB190021911DDBF86C74F01C202FB</guid>
<credentials>PN0Qr+/dpDRV+jSWP378EdjxWDS0PuAs=</credentials>
</user>
</users>
</realm>
</jazn-realm>
<policy-store>
<applications>
<application>
<name>reports</name>
<app-roles>
<app-role>
<name>rw_administrator</name>
<display-name>Reports Administrator</display-name>
<class>oracle.security.jps.service.policystore.ApplicationRole</class>
<members>
<member>
<class>oracle.security.jps.internal.core.principals.JpsXmlUserImpl</class>
<name>weblogic</name>
</member>
<member>
<class> weblogic.security.principal.WLSUserImpl </class>
<name>weblogic</name>
</member>
</members>
</app-role>
<app-role>
<name>rw_operator</name>
<display-name>Reports Operator</display-name>
<class>oracle.security.jps.service.policystore.ApplicationRole</class>
</app-role>
<app-role>
<name>rw_monitor</name>
<display-name>Reports Monitor</display-name>
<class>oracle.security.jps.service.policystore.ApplicationRole</class>
</app-role>
</app-roles>
<jazn-policy>
<grant>
<grantee>
<principals>
<principal>
<class>oracle.security.jps.service.policystore.ApplicationRole</class>
<name>rw_administrator</name>
</principal>
</principals>
</grantee>
<permissions>
<permission>
<class>oracle.reports.server.ReportsPermission</class>
<name>report=* server=* destype=* desformat=* allowcustomargs=true</name>
<actions>*</actions>
</permission>
<permission>
<class>oracle.reports.server.WebCommandPermission</class>
<name>webcommands=* server=*</name>
<actions>execute</actions>
</permission>
</permissions>
</grant>
<grant>
<grantee>
<principals>
<principal>
<class>oracle.security.jps.service.policystore.ApplicationRole</class>
<name>RW_BASIC_USER</name>
</principal>
</principals>
</grantee>
<permissions>
<permission>
<class>oracle.reports.server.ReportsPermission</class>
<name>report=test.rdf server=* destype=* desformat=* allowcustomargs=true</name>
<actions>*</actions>
</permission>
<permission>
<class>oracle.reports.server.WebCommandPermission</class>
<name>webcommands=showmyjobs,getjobid,showjobid server=*</name>
<actions>execute</actions>
</permission>
</permissions>
</grant>
</jazn-policy>
</application>
</applications>
</policy-store>

7.13 Reports管理対象サーバーの構成

デフォルトでは、Oracle Reportsアプリケーションは管理対象サーバーにデプロイされます。

Reports管理対象サーバーの起動プロパティは、SetDomainEnv.shファイルまたはWebLogic Server管理コンソールを使用して変更できます。ただし、setDomainEnv.shファイルですでに定義されている-Xmxや-Xmsなどの一部のプロパティは優先されるため、WebLogic Server管理コンソールを使用して行った変更が有効になりません。また、WLS_REPORTSの起動プロパティのうち、WebLogic Server管理コンソールを使用して変更したものは、startManagedServer.shを使用してWLS_REPORTSを起動した場合には有効になりません。したがって、SetDomainEnv.sh (UNIXの場合)またはSetDomainEnv.bat (Windowsの場合)を使用して管理対象サーバーの起動プロパティを変更することをお薦めします。

管理対象サーバーのシステム・プロパティやランタイム・プロパティは、$DOMAIN_HOME/binにあるSetDomainEnv.sh (UNIXの場合)またはSetDomainEnv.bat (Windowsの場合)を使用して変更できます。

ランタイム・プロパティは、[ "${SERVER_NAME}" = "WLS_REPORTS" ]ブロック内のEXTRA_JAVA_PROPERTIES変数を使用して変更できます。

WLS_REPORTS管理対象サーバーの新規の環境変数は、SetDomainEnv.shスクリプトのif[ "${SERVER_NAME}" = "WLS_REPORTS" ]ブロック内に追加する必要があります。

setDomainEnv.shを使用するすべてのコンポーネントについてデフォルト設定が行われる際、-Xmxおよび-Xmsの設定が管理対象サーバーのコマンドラインに複数回追加されます。そのため、[ "${SERVER_NAME}" = "WLS_REPORTS" ]ブロックのEXTRA_JAVA_PROPERTIES変数の最後に-Xmxおよび-Xmsの設定を追加する必要があります。

たとえば、次のようなスニペットがあるとします。

if [ "${SERVER_NAME}" = "WLS_REPORTS" ] ; then     EXTRA_JAVA_PROPERTIES="-Xms256m Xmx512m ... -Doracle.home=/fmwhome/as1 ... ${EXTRA_JAVA_PROPERTIES}"

-Djobid=randomプロパティを追加し、WLS_REPORTSの-Xmxおよび-Xmsの設定を512mおよび1024mに変更するには、スニペットを次のように変更する必要があります。

if [ "${SERVER_NAME}" = "WLS_REPORTS" ] ; then     EXTRA_JAVA_PROPERTIES=" -Doracle.home=/fmwhome/as1 ... ${EXTRA_JAVA_PROPERTIES} -Xms512m -Xmx1024m -Djobid=random"

ノート:

WLS_REPORTSは、インストール時にReportsアプリケーションがデプロイされる管理対象サーバーの名前です。拡張クラスタの場合、管理対象サーバーにはWLS_REPORTS1、WLS_REPORTS2、などの名前を付けることができます。

7.14 Oracle ReportsのHTTPSの有効化

Oracle ReportsのHTTPSを有効にするには、次のステップを実行して、WLS_REPORTSサーバーについてWebLogic管理コンソールの「WebLogicプラグインの有効化」オプションを選択する必要があります。

1. WebLogic管理コンソールにログインします。

2. まだログインしていない場合は、「チェンジ・センター」ペインで「ロックして編集」をクリックします。

3. 「ドメイン構造」ペインで、「環境」ノードを開いて「サーバー」を選択します。
ドメインに構成されているサーバーのリストが表示されます。

4. WLS_REPORTSサーバーをクリックします。

5. ページの下部付近にある「詳細」リンクを開きます。

6. 「WebLogicプラグインの有効化」オプションを選択します。

7. 「保存」をクリックします。

第III部

実行時の動作の管理

第III部では、Oracle Reportsの実行時の動作の管理に役立つ情報について説明します。

- 第8章「Oracle Reportsでのフォントの管理」

- 第9章「UNIXでのOracle Reportsによる印刷」

- 第10章「Oracle ReportsでのPDFの使用」

- 第11章「フォント・モデルおよびクロス・プラットフォームの配布」

- 第12章「Oracle Reports Servicesの宛先の構成」

- 第13章「プラガブル・データ・ソースの構成と使用」

- 第14章「Oracle Reports Servicesの保護」

- 第16章「Oracle Single Sign-Onの構成と管理」

- 第15章「Oracle Portalでのレポートの配布」

8 Oracle Reportsでのフォントの管理

この章では、Oracle Reportsで使用するフォントについて説明します。

- フォントの使用

- フォントの追加

- フォント構成ファイル

- フォント・エイリアシング

- フォントのタイプ

- 異なるプラットフォームでのレポート出力の確認

- TTF/TTCフォントを使用したUnicodeレポートの実行

- フォントの問題の診断

- フォントに関する問題のトラブルシューティング

8.1 フォントの使用

Oracle Reportsでは、様々な場面でフォントが重要になります。

- Oracle Reports Builderのフォント(ビルド実行時)

- レポート出力のフォント(実行時)

- ユーザー・インタフェースのフォント

8.1.1 Oracle Reports Builderのフォント

Oracle Reports Builderでは、システムで使用可能なフォントのリストがフォントの選択ボックスに表示されます。

図8-1 Oracle Reports Builderのフォント・リスト

Windowsの場合、フォント・リストは、システムにインストールされているフォントおよび現行のデフォルト・プリンタで使用可能なフォントから作成されます。フォント名の前の小さなプリンタ・アイコンは、プリンタ・フォントであることを示します。TrueTypeフォントの場合は、TTFアイコンが表示されます。

UNIXの場合、フォント・リストは、アプリケーションが実行されているXサーバーのディスプレイで利用可能なフォントを問い合せることによって作成されます。このコマンドは、UNIXのxlsfontsコマンドに似ています。これにより、Xサーバー・ディスプレイで使用可能なすべてのフォントがリストされます。このフォント・リストから、文字セットに適合する有効なスタイル、太さ、幅、サイズおよびエンコード特性を持つ使用可能フォントのリストがOracle Reports Builderによって生成されます。文字セットは、NLS_LANG環境変数によって決まります。Oracle Reports Builderには、ツールキット・リソース・ファイルのTk2Motif*fontMapCs内で指定されている場合を除き、文字コード体系がiso8859-1のフォントのみ組み込まれます。Tk2Motif*fontMapCsの詳細は、第8.3項「フォント構成ファイル」を参照してください。

8.1.2 レポート出力のフォント

レポートのフォーマット時、まずレイアウト・オブジェクトに関連付けられているフォントがフォント・エイリアス・ファイル(uifont.ali)内に存在するかどうか確認されます(第8.3項「フォント構成ファイル」を参照)。フォント・エイリアス・ファイル内にエントリが見つかった場合は、元のフォントではなく、マップされているフォントが使用されます。次に、このマップされたフォントが、システムまたはプリンタで使用可能なフォントのリストにあるかどうか検索されます。特定のフォントが見つからない場合は、かわりに使用できるフォントとして、同じ文字セットにおいて類似度が最も高いフォントが検索されます。

11gリリース2 (11.1.2)ではUNIXで新しいフォント・モデルがサポートされているので、通常はUNIXのレポート出力はWindowsと同じであり、クロス・プラットフォームの配布を簡単にできます。Oracle Reportsは、フォント・ディレクトリで適切なTTFファイルからフォント・メトリックを読み取って、レポート出力を正しくフォーマットします。これによって、フォント・メトリックの不一致によりテキスト文字の不揃いが発生する問題がなくなります。使用可能なTTFファイルのフォントは自動的に検索されます。TTFフォント・ファイルが見つからない場合、11gより前の実装のフォント検索メカニズムが使用されます。フォント・モデルが新しくなっても、ビルダーに変更はありません。フォント・モデルが役割を果たすのは実行時のみであり、設計時ではありません。

8.1.2.1 フォントの検索

Windowsの場合はプリンタ・ドライバを使用するため、フォント検索メカニズムは単純です。プリンタ・ドライバには、必要に応じてフォントをシステムからアップロードする機能があります。Windowsで実行されるOracle Reportsの出力に含まれるフォントは、次のいずれかになります。

- システム・フォント

- プリンタ・フォント

したがって、使用可能なフォントをOracle Reportsで検索する際、プリンタ・フォントとシステム・フォントの両方が対象となります。

UNIXの場合、出力生成に使用できるフォントは次のいずれかです。

- プリンタで使用可能なフォント(PPDファイルまたはTFMファイルで定義されているフォント)

- プリンタが指定されていない場合は、ScreenPrinter (screenprinter.ppd)で使用可能なフォント

- レイアウト・オブジェクトで使用されているTTFフォントは、メトリックの計算に使用され、これによってマルチバイト言語のレポート出力で文字の不揃いが防止されます。

関連項目:

- 第8.3項「フォント構成ファイル」

- 第9.8.1項「ScreenPrinter」

- 第11.2.1項「フォントの検索」

8.1.3 ユーザー・インタフェースのフォント

Oracle Reports Builderのユーザー・インタフェースのテキスト(ウィンドウのタイトル、メニュー項目、メッセージ・ボックス、データ・モデル・オブジェクト名など)には、現行の言語に対応するシステム・リソース・ファイルから取得したフォントが使用されます。これらのシステム・リソース・ファイルは、Oracle Reportsのインストレーションに含まれています。Oracle Reportsでは、uifont.aliの[rwbuilder]セクションでこれらのフォントのマッピングを指定できます。マップされているフォントが見つかった場合は、元のフォントのかわりにそのフォントが使用されます。それ以外の場合は、元のフォントが使用されます。

UNIXの場合、フォントはTk2Motif.rgbのTk2Motif*fontListで定義されます。定義されていないフォントについては、デフォルトのフォント(デフォルトの文字セットに対して固定)がかわりに使用されます。デフォルトのシステム・フォントは、Tk2Motif.rgbに定義されているものでなくてもかまいません。定義されているフォントが、アプリケーションを実行する環境の文字セットと一致しない場合は、前の項で説明したフォント検索アルゴリズムに従って、かわりの使用可能なフォントが使用されます。

Windowsの外観と操作性を維持するために、Oracle Reportsでは多くの部分でWindowsのシステム・パラメータから取得されたシステム・フォントが使用されています。非Unicode環境では、フォントはアイコン・オブジェクトから取得されます。これを変更するには、「表示プロパティ」→「外観」を使用してフォントを変更します。ドロップダウン・リストから「アイコン」を選択し、フォント名とサイズを選択します。日本語Unicodeシステムでは、フォントはMSゴシックです。韓国語の場合は、MS Sans Serifです。簡体字、繁体字および香港の中国語ではArialです。それ以外の言語の場合は、Lucida Sans Unicodeになります。

Windowsツールチップのフォントも、前述の手順に従ってアイコンのフォントを変更することによって変更できます。ただし、この変更はOracle Reports Builderの一部には反映されません。これは、ツールチップの中にはフォントをリソース・ファイルから取得するものがあるためです。

Oracle Reportsでは、エイリアス・ファイルの[rwbuilder]セクションにエントリを作成することで、Webソース・ビューのフォントを選択します。この変更に必要なエントリでは、特定のフォントではなく文字セットに対してエイリアスを作成するようにします。たとえば、NLS_LANGがUTF8に設定されているときにArial Unicode MSが使用されるようにするには、次のようなエントリを作成します。

.....UTF8 = "Arial Unicode MS".....

詳細は、第8.4項「フォント・エイリアシング」を参照してください。

サポートされているスタイルは、標準、イタリック、斜線、下線、アウトライン、影、反転、打消し線および点滅です。

サポートされている太さは、超極細、極細、細、中細、標準、中太、太、極太および超極太です。

フォントの太さにRegularを指定しないでください。この太さはサポートされていないため、Oracle Reports Builderでの表示結果が予期しないものになる可能性があります。

8.2 フォントの追加

Oracle Reportsでは、次の場合に使用するフォントを追加できます。

- ビルドの実行時(Oracle Reports Builderにおいて)

- 実行時(出力内)

- ユーザー・インタフェース内

ノート:

フォントをReportsのフォント・ディレクトリに追加した後で、Reports Serverを再起動する必要があります。

8.2.1 Oracle Reports Builderへのフォントの追加

特定のフォントを使用してレポートを作成するには、レポートを設計する際、そのフォントがOracle Reports Builderのフォント選択ボックスで選択できる状態になっている必要があります。フォントがフォント選択ボックスに表示されるようにするには、Oracle Reports Builderが実行されるディスプレイまたはシステムにそのフォントを追加します。この手順を実行する前に、オペレーティング・システムのドキュメントを参照して、フォントの追加について確認してください。

UNIX上にType1フォントを追加するには:

1. フォント関連のファイルをベンダーから入手します。これらのファイルには、PFBファイル、PFAファイル、AFMファイルなどがあります。

2. 使用可能な変換プログラムを使用して、バイナリのPFBファイルをASCIIのPFAファイルに変換します。一般に、このような変換プログラムは、t1asciiなどのシェアウェアとして入手できます。

3. プラットフォームごとの指示に従って、フォントのインストール先のディレクトリにPFAファイルをコピーします。

4. フォントのインストールを確認するために、xlsfonts -uというコマンドを入力します。このコマンドを実行すると、システムで使用可能なすべてのフォントが一覧表示されます。
Reflection XなどのUNIXエミュレータを使用している場合は、xlsfontsコマンドを実行しても、システムにインストールされているフォントが表示されないことがあります。これは、エミュレータの構成時に指定されたフォント・パスまたはフォント・サーバーからフォントが取得されるためです。フォント・サーバーを使用している場合は、フォントのインストール後に、フォント・サーバー構成ファイルにフォント・ディレクトリを追加してフォント・サーバーを再起動してください。エミュレータ側では、フォントがインストールされているフォント・サーバーへのフォント・パスを指定します。このようにしても、xlsfontsの実行時にフォントが表示されない場合は、新しいフォント・ディレクトリが構成ファイル内のカタログの最初の要素であることを確認してください。

図8-2 xlsfontsの出力例

5. フォントがインストールされているフォント・サーバーを指定したディスプレイ上か、フォントがインストールされているディスプレイを指定したディスプレイ上で、Oracle Reports Builderを起動します。

8.2.2 レポート出力用のフォントの追加

Oracle Reportsで出力を生成する場合、プリンタ定義ファイルで指定されているフォントのみが使用されます。新しく追加したフォントを出力で使用するには、レポートの設計時にそのフォントをレイアウト・オブジェクトに割り当てることができるように、フォントをOracle Reports Builderに追加します。詳細は、第8.2.1項「Oracle Reports Builderへのフォントの追加」を参照してください。

ノート:

Oracle Reports Builderで使用するフォントがランタイム・プラットフォームでは使用できないものである場合、ランタイム・プラットフォーム上でそのフォントのエイリアスを作成してください。詳細は、第8.4項「フォント・エイリアシング」を参照してください。

フォント追加の処理は、WindowsとUNIXで異なります。

- UNIXでのフォントの追加

- Windowsでのフォントの追加

8.2.2.1 UNIXでのフォントの追加

TTFフォントを追加するには:

1. レポートに使用されているすべてのTTFファイルおよびTTCファイルをREPORTS_FONT_DIRECTORYにコピーします。デフォルトのフォント・ディレクトリは$ORACLE_INSTANCE/reports/fontsです。

2. uifont.aliファイルに不要なエイリアシングがある場合は削除します。たとえば、デフォルトでArialがHelveticaにエイリアシングされている場合などです。レポートでArialフォントを使用する場合、uifont.aliファイルからエイリアシングを削除する必要があります。

PostScriptフォントを追加するには:

1. 新しいフォントのAFMファイルを、ORACLE_HOME/guicommon/tk/admin/AFMにコピーします。

2. 新しいフォントに対応する次のようなエントリを、プリンタ定義ファイル(PPD)の*Font情報セクションに追加します。

*Font new_font_name Standard '(00.1001)" Standard ROM
*Font ...

PPDファイルで指定されているnew_font_nameがAFMファイル名と同じであることを確認します。これは、Oracle ReportsではPPDファイル内のフォント名に基づいてこのファイルが検索されるためです。また、AFMファイル名に拡張子の.afmが含まれていないことを確認します。

たとえば、AFMファイル名がCodedreineunBoldの場合、PPDファイルでは次のように指定する必要があります。

*Font CodedreineunBold: Standard "(00.1001)" Standard ROM

3. 必要であれば、エイリアス・ファイルに変更を加えて、このフォントへのマッピングを指定します。
レイアウト・オブジェクトに、新しいフォントと同じ名前のフォント名が関連付けられている場合、マッピングは必要ありません。レイアウト・オブジェクトに別のフォント名が使用されている場合に、元のフォントではなく新しいフォントが出力ファイルで使用されるようにするには、元のフォントを新しいフォントにマップします。

たとえば、レイアウト・オブジェクトのフォントがHelveticaの場合に、新しくインストールしたフォントを出力で使用するには、次の行を[Printer:PostScript1]セクションに追加します。

Helvetica = CodedreineunBold

uiprint.txtで別のPostScriptレベルが指定されている場合は、このセクションが異なることに注意してください。第8.4項「フォント・エイリアシング」を参照してください。

PCLフォントを追加するには:

新しいフォントをOracle Reportsで使用するには、プリンタのHPDファイル(プリンタ定義ファイル)およびTFMファイルが必要です。HPDファイルは、既存のファイルからコピーして作成できます。このファイルの内容が使用するプリンタに適合していることを確認してください。このファイル内で参照されているフォントは、プリンタで使用可能なものである必要があります。TFMファイル(フォント)が、Oracle Reportsのインストレーションで使用できない場合は、フォントおよびプリンタのサプライヤに問い合せる必要があります。新しいTFMファイルは、一意のフォント名を付けてHPDファイルに追加する必要があります。

1. HPDファイルに、新しいフォントのエントリを追加する必要があります。たとえば、新しいフォントがCodedreineunである場合は、次のような行を追加します。

FONT= Codedreineun
/tfm=9nb17035.tfm

2. 対応するTFMファイルをTFMディレクトリにコピーします。

ORACLE_HOME/guicommon/tk/admin/TFM

3. 必要に応じて、第8.2.2.1項「UNIXでのフォントの追加」でPostScriptプリンタの説明に従って、エイリアス・ファイルを変更します。マッピングを定義するセクションは[PCL]である必要があります。

8.2.2.2 Windowsでのフォントの追加

Windowsに新しいフォントを追加する場合は、オペレーティング・システムのドキュメントを参照して、フォントの追加について確認してください。新しいフォントの文字セットがOracle Reports Builderと互換性がある場合、そのフォントがフォント選択ボックスに表示されます。

8.3 フォント構成ファイル

この項では、Oracle Reportsのフォント構成に関連するすべてのファイルについて説明します。

- uiprint.txt (UNIXのみ)

- screenprinter.ppd (UNIXのみ)

- uifont.ali

- PPDファイルおよびAFMファイル(UNIXのみ)

- HPDファイルおよびTFMファイル(UNIXのみ)

- Tk2Motif.rgb (UNIXのみ)

ノート:

Oracle Reports 11gリリース2 (11.1.2)からは、フォントを構成する際、Oracle Enterprise Managerのみを使用する必要があります。Oracle Enterprise Managerによって構成設定を更新する方法の詳細は、第6章「Oracle Enterprise ManagerによるOracle Reports Servicesの管理」の第6.9.1項「フォントの構成」 を参照してください。

uiprint.txt (UNIXのみ)

このプリンタ構成ファイルには、アプリケーションに対してインストール済のプリンタの一覧が、プリンタのタイプ、バージョン、プリンタ定義ファイル名とともに記述されています。実行時に使用可能なフォントのリストは、プリンタ定義ファイルから取得されます。プリンタが存在しない場合は、Oracle ReportsではデフォルトのプリンタとしてPostScriptプリンタが選択され、default.ppdファイルがプリンタ定義ファイルとして使用されます。

関連項目:

- 第9.3.1項「uiprint.txtファイルの編集」

- 第9.4.6項「uiprint.txt」

例:

Printer: Printer_driver:Driver_specifying_language_and_level:Printer_
description:Printer_definition_file:

各行に5つのフィールドがあり、それぞれコロンで区切られています。

PCLプリンタを使用する場合、このエントリにはHPDファイルの名前が含まれます。

screenprinter.ppd (UNIXのみ)

screenprinter.ppdは、UNIX上でプリンタが使用できない場合に使用されます。詳細は、第9.8.1項「ScreenPrinter」を参照してください。

uifont.ali

uifont.aliファイルは、WindowsおよびUNIXでは次の場所にあります。

Windowsの場合: ORACLE_INSTANCE\config\FRComponent\frcommon\tools\common

UNIXの場合: ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

このファイルには、実行時に他のフォントで置換え可能なフォントのマッピング情報が含まれます。

注意:

Oracle Reportsではuifont.aliファイルを解析してキーワードが検索されるため、これらのセクション名は変更しないでください。セクションの順序は自由に変更できます。フォントの構成では、Oracle Enterprise Managerのみを使用する必要があります。Oracle Enterprise Managerによって構成設定を更新する方法の詳細は、第6章「Oracle Enterprise ManagerによるOracle Reports Servicesの管理」の第6.9.1項「フォントの構成」を参照してください。

uifont.aliファイルに関する一般的な規則を次に示します。

- フォント名や文字セット名に複数の単語が含まれる場合(つまり、空白が含まれている場合)、二重引用符で囲む必要があります。

- コメント行の場合は、行の先頭に#を使用します。

- 行を削除するかわりにコメント・アウトしておけば、その行を後で使用することができます。

- フォント・エイリアシングは、フォント名-フォント名間または文字セット-CIDフォント間(Adobe)のみです。

- フォント・サブセットは、TrueTypeフォントの場合にのみ可能です。

- フォント・サブセットにはフォント名が使用され、TrueTypeフォント・ファイル名を使用してサブセットが作成されます。

- フォント埋込みは、Type1フォントの場合にのみ可能です。これらのフォントには2つのファイルがあります。1つはメトリック・ファイルで、ファイル拡張子が.afmまたは.pfmのいずれかになります。もう1つは、ファイル拡張子が.pfbのバイナリ・ファイルです。
フォント埋込みにはフォント名が使用され、Type1フォント・ファイル名を使用して埋込みが行われます(AFMファイルとPFBファイルの両方がこの順序で要求されます)。

次にuifont.aliのエイリアシングにおける一般的フォーマットを示します。

"original_font"="font_to_be_aliased"

ここで、original_fontはフォント名またはその他の属性で、font_to_be_aliasedはマップ先のフォント名または属性です。

フォント名と属性は次のように指定できます。

Face.Size.Style.Weight.Width.CharSet=Face.Size.Style.Weight.Width.CharSet

Faceは、Courierなどのフォント・フェースの名前(文字列または識別子)です。Style、Weight、WidthおよびCharSetには、数値や定義済の文字列または識別子を指定できます。たとえば、Styleの値としてPlainおよび0のどちらも有効であり、同じスタイルを表します。Sizeには、正確なサイズをポイント単位で指定します。

これらの属性は、フォント・エイリアシング、フォント・サブセットおよびフォント埋込みを行うときに有効になります。

たとえば、フォント・サブセットでは次のようになります。

Font_name=font_file_name
Face.Size.Style.Weight.Width.CharSet=font_file_name

認識可能な名前と対応する数値を次に示します。

表8-1 スタイル名と対応する数値

スタイル名

対応する数値

標準

0

イタリック

1

斜線

2

下線

4

アウトライン

8

影

16

反転

32

点滅

64

表8-2 太さと対応する数値

太さ

対応する数値

超極細

1

極細

2

細

3

中細

4

標準

5

中太

6

表8-3 幅と対応する数値

幅

対応する数値

超極濃

1

極濃

2

濃

3

中濃

4

標準

5

淡

7

極淡

8

超極淡

9

複数のスタイルを組み合せることができます。その場合は、プラス記号(+)を使用してスタイルの各部分を区切ります。例:

Arial..Italic+Overstrike = Helvetica.12.Italic.Bold

これは、イタリックと打消し線の両方のスタイルが指定されているArialフォントが、12ポイント、太字、イタリックのHelveticaフォントにマップされることを表します。

マルチバイト言語をサポートするには、キャラクタ・セットのエイリアスを作成し、Adobe社から提供されているアジア系言語フォント・パックに含まれるCIDフォント(第8.5.7項「CIDフォント」)を指定する必要があります。たとえば、日本語レポートでは、マルチバイトの文字セットであるShift-JISのエイリアスとして、HeiseiKakuGo-W5-AcroというCIDフォントを次のように指定します。

JA16SJIS = "HeiseiKakuGo-W5-Acro"

マッピングに指定する文字列では、大文字と小文字は区別されません。しかし、フォント・フェースの検索時、プラットフォームや画面によっては大文字と小文字が区別される可能性があります。したがって、名前を指定するときは注意が必要です。たとえば、左側(元のフォント)にarialというフォント名を使用した場合は、フォントとしてarialやArialが指定されているすべてのレイアウト・オブジェクトがエイリアス先のフォントにマップされます。

詳細は、第8.4項「フォント・エイリアシング」を参照してください。

PPDファイルおよびAFMファイル(UNIXのみ)

PostScript Printer Definition (PPD)ファイルおよびAdobe Font Metrics (AFM)ファイルは、Adobe社およびプリンタのベンダーによって提供されるものです。PPDファイルにはプリンタに関する情報が含まれ、AFMファイルにはフォントのメトリック情報が含まれます。Oracle Reportsでは、プリンタで使用可能なフォントに関する情報が他のパラメータとともにこれらのファイルから読み取られます。PPDファイルに記述されているすべてのフォントについて、フォント名に応じて対応するAFMファイルが検索され、有効なAFMが存在するすべてのフォントがロードされます。

フォントの観点からは、新しいフォントをプリンタ用に追加する場合にこれらのファイルを変更し、変更がOracle Reportsに反映されるようにしてください。

例:

*% Font Information =====================
*DefaultFont: Error
*Font AvantGarde-Demi: Standard "(001.001)" Standard
*Font AvantGarde-DemiOblique: Standard "(001.001)" Standard
*Font Courier: Standard "(001.004)" Standard
*Font Courier-Bold: Standard "(001.004)" Standard

AFMファイルには、フォントの属性(スタイル、太さ、幅、コード体系)、固定幅かプロポーショナルかの区別、および各文字の大きさなどの情報が含まれます。

Oracle Reportsでは、PPDファイルからフォント名を検索した後、第8.3.1項「ファイルの検索」で説明している検索条件に従って、フォント名と同じ名前のAFMファイルが検索されます。たとえば、AvantGarde-Demi: StandardがPPDファイル内で見つかった場合は、AvantGarde-Demiという名前のAFMファイルがAFMディレクトリで検索されます。

AFMファイルはフォント・ファイルではありません。これらは、プリンタ用に文字を正しくフォーマットする方法に関する情報をOracle Reportsに提供するメトリック・ファイルです。AFMファイルがあっても、プリンタでフォントを使用できない場合、Oracle Reportsではフォントを生成できません。

AFMファイル自体はフォントではないので、使用可能なPostScriptプリンタ・フォントを増やすには、次のようにする必要があります。

1. フォントを購入して、プリンタにインストールします。

2. フォントおよびプリンタのベンダーから、修正済のAFMファイルおよびPPDファイルを入手します。

3. 対応するXサーバー・ディスプレイ・フォントを入手します(必要な場合)。

HPDファイルおよびTFMファイル(UNIXのみ)

PCL (HP社のPrinter Control Language)では、HPD (Hewlett-Packard Document)ファイルおよびTFM (TEX Font Metrics)ファイルが使用されます。HPDファイルには、プリンタで使用できるフォントのリストが含まれます。フォントはそれぞれ特定のTFMファイルを参照します。HPDファイルは編集可能なASCIIファイルですが、TFMファイルはバイナリ・ファイルであるため編集できません。TFMファイルは編集不可能なバイナリ・ファイルですが、文字列操作を実行するとこのファイルから一部のキーワードを読み取ることができます。Oracle Reportsによって認識されるフォント名は、HPDファイルではなくTFMファイルに記述されているものです。TFMファイルはフォント・ベンダーから提供されており、TFMファイルをインストールすると、新しく追加されたフォントがプリンタのHPDファイルへ追加されます。

Tk2Motif.rgb (UNIXのみ)

このファイルには、Oracle Toolkitに基づくすべてのOracle Motifツールのリソース設定が含まれます。フォント固有のリソース設定には、Tk2Motif*fontMapCsおよびTk2Motif*fontListが使用されます。

Tk2Motif*fontMapCsは、X-Windowディスプレイ上にあり、アプリケーションによって使用されるフォントのベース文字セットを決定します。

Tk2Motif*fontMapCs: iso8859-2=EE8ISO8859P2の場合、NLS_LANGはEE8ISO8859P2に設定される必要があり、文字コード体系がiso8859-2のフォントのみアプリケーションで使用されます。このコード体系のフォントが見つからない場合は、REP-3000エラーが発生します。

Tk2Motif*fontListは、アプリケーションによって使用されるデフォルトのシステム・フォントを指定します。次のように指定すると、標準の太さ、標準の幅であるサイズ12のHelveticaフォントが使用されます。

Tk2Motif*fontList: -*-helvetica-medium-r-normal-*-120*

このエントリの構文の説明は、Tk2Motif.rgb (ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin)ファイル内にコメントとして記述されています。

8.3.1 ファイルの検索

ファイル検索の基準は、ファイルのタイプおよび対応する定義された環境変数の値によって決まります。

表8-4 ファイル情報

ファイル名

タイプ

説明

uiprint.txt

UNKNOWN

プリンタ構成ファイル

uifont.ali

FONTALIAS

フォント・エイリアシング・ファイル

PPD

PPD

PostScriptプリンタ定義ファイル

AFM

AFM

Adobeフォント・メトリック・ファイル

HPD

HPD

HP glueファイル

TFM

TFM

HP glueファイル

変数の検索は、TK_type、ORACLE_type、グローバル・ディレクトリの順に行われます。たとえば、PPDファイルの検索を行うディレクトリは、TK_PPDで指定されるディレクトリ、ORACLE_PPD、ORACLE_HOME/guicommon/tk/admin/PPD、$ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/PPDの順となります。

たとえば、uiprint.txtを検索する場合は、最初に環境変数のTK_UNKNOWNが検索され、次にORACLE_UNKNOWN、デフォルト・ディレクトリの順に検索されます。

8.4 フォント・エイリアシング

フォント・エイリアシングはOracle Reportsのメカニズムです。これによって、フォントやその属性(スタイル、太さ、幅、サイズ、キャラクタ・セットなど)を他のフォントや属性にマップできるようになります。主に、あるプラットフォームから別のプラットフォームにアプリケーションを移植する際、レイアウト内のオブジェクトに関連付けられているフォントが移植先にない場合に使用します。このような場合にフォント・エイリアシングを利用すると、存在しないフォントを別の有効なフォントにマップすることによって、要求どおりの結果を生成することができます。たとえば、WindowsからMotifへ移行するときにフォント・エイリアシングを使用すれば、Windows Arialを、Motifで利用可能なHelveticaなどのフォントにマップできます。

Oracle Reports 11gリリース2 (11.1.2)で導入されたフォント強化機能により、フォントのエイリアシングがほとんどの場合で不要になります。以前のリリースでは、Windowsで利用可能なフォントでレポートを作成できても、UNIXではできませんでした(Arialフォントなど)。そのような場合では、WindowsのフォントをUNIXで利用可能な類似スタイルのある別フォント(Helveticaなど)にエイリアシングすることが必要でした。このリリースでは、TTFファイルとTTCファイルがUNIXにおいてサポートされています。また、ArialなどのフォントがWindowsとUNIXの両方でサポートされています。これによって、エイリアシングが不要になりました。

この項の内容は次のとおりです。

- エイリアシング情報の指定

- フォント・エイリアシングのメカニズム

- フォント・エイリアス・ファイルのセクション

- フォント・エイリアシング・ファイルの検証

8.4.1 エイリアシング情報の指定

フォントのエイリアシングが必要な場合、以前のリリースで行っていたようにuifont.aliファイルを直接編集するのではなく、Oracle Enterprise Managerを使用してエイリアシングを定義します。Oracle Enterprise Managerを使用してフォントを構成する方法の詳細は、第6.9.1項「フォントの構成」を参照してください。

8.4.2 フォント・エイリアシングのメカニズム

Oracle Reportsのフォント・エイリアシングでは、レポートで指定されている元のフォント属性と一致するエントリが、エイリアス・ファイルの関連セクションで検索されます。フォント・エイリアス・ファイルのセクションの詳細は、第8.4.3項「フォント・エイリアス・ファイルのセクション」を参照してください。完全に一致するエントリが見つかった場合は、左側の元のフォントが右側のフォントにマップされます。

例:

Arial.8.Italic.Medium.Normal.WE8ISO8859P1=
Helvetica.12.Plain.Light.Normal.WE8ISO8859P1

左側に列記されているすべての属性を持つArialフォントが見つかった場合は、右側に列記されているすべての属性を持つHelveticaフォントにマップされます。

フィールドを空白のままにしておくこともできます。その場合は、そのフィールドに関しては比較が行われません。次に例を示します。

Arial..... = Helvetica.12.Plain.Light.Normal.WE8ISO8859P1

この場合、サイズなどの属性にかかわらずすべてのArialフォントが、文字セットWE8ISO8859P1のサイズ12、標準スタイル、細字、標準幅のHelveticaフォントにマップされます。

エイリアス規則を指定するには、次のような方法もあります。

Arial = "OCR B"

この方法では、指定のフォントの他の属性を維持したまま、フォント名がOCR Bに変更されます。この場合は、マップされたフォントの属性が、他のフォントで使用できるかどうか確認しておく必要があります。たとえばこの規則では、スタイルがイタリックのArialフォントは標準スタイルのOCR Bフォントにマップされます。これは、OCR Bフォントにイタリックというスタイルがないためです。

マップされたフォントがuifont.aliファイルから読み取られた後、第8.1.2.1項「フォントの検索」で説明しているように、フォント検索手順に従ってフォントが検索されます。マップされたフォントがシステム上で見つかった場合は、そのフォントが使用されます。それ以外の場合は、システム上で元のフォントが検索されます。

指定された文字セットの下で、フォント・フェース、サイズ、スタイル、太さ、幅の属性が検索されます。

Oracle Reportsでは、Webソース・ビューおよびPL/SQLエディタ用のフォントもマップできます。その場合、[rwbuilder]セクションにマッピング指定を追加します。この機能は、主にこれらのエディタでのUnicodeフォントのサポートを目的として用意されたものです。

8.4.3 フォント・エイリアス・ファイルのセクション

表8-5に示すように、uifont.aliファイルは様々なセクションから構成されており、個々のセクションには特定の領域に対するマッピング指示が記述されます。Oracle Reportsでは、目的に応じて特定のセクションが検索されるため、目的を達成するには適切なセクションにマッピングのエントリを記述することが重要です。

表8-5 フォント・マッピング・ファイルのセクション

セクション名

説明

Global

全体に適用されます。

Printer

プリンタ出力にのみ適用されます。

Printer:PostScript1

PostScriptレベル1のプリンタにのみ適用されます。

Printer:PostScript2

PostScriptレベル2のプリンタに適用されます。

Printer:PCL5

PCL 5のプリンタに適用されます。

Display

ディスプレイ(画面)にのみ適用されます。

Display:Motif

Motifディスプレイにのみ適用されます。

Display:CM

キャラクタ・モード・ディスプレイにのみ適用されます。

PDF

フォント・エイリアシング(Oracle Reports 6i以降)およびマルチバイト言語サポート(Oracle Reports以降)に使用されます。

PDF:Embed

(Oracle Reportsのみ)Type1フォントの埋込みに使用されます。

PDF:Subset

(Oracle Reportsのみ)True Typeフォントのサブセット化に使用されます。

RWBUILDER

(Oracle Reportsのみ)WebソースおよびPL/SQLエディタ用のフォントのマッピングをこのセクションで指定できます。

printer_name

特定のプリンタ向けのセクションを表し、次のように指定します。

[Printer:PostScript1:2op813a]

関連項目:

第8.9項「フォントに関する問題のトラブルシューティング」の「Webソース・ビューで正しく表示されないフォントの修正」

uifont.aliファイルは、WindowsおよびUNIXで次のディレクトリにあります。

Windowsの場合: ORACLE_INSTANCE\config\FRComponent\frcommon\tools\common

UNIXの場合: ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

uifont.aliファイルのフォント・エイリアシングのセクションは[PDF]で、次の形式でフォント・マッピングが定義されます。

- シングルバイト・フォントの場合:

[PDF]
"font_name"="font_name"

- マルチバイト・フォントの場合:

[PDF]
character_set = "font_name"

または

"font_name".....character_set="font_name"

uifont.aliファイル内の、フォント・エイリアシングのエントリの例を次に示します。

[ PDF ]
/*Alias TrueType to available Type1 font */
"Kino MT" = UtopiaBold
/*Alias multibyte to available CID font */
.....SJIS = "HeiseiKakuGo-W5-Acro"

説明:

- "Kino MT" = UtopiaBoldでは、検出されたすべてのKino MT文字をUtopiaBold文字に置き換えます。

- .....SJIS = "HeiseiKakuGo-W5-Acro"では、検出されたすべてのマルチバイト文字セットをHeiseiKakuGo-W5-Acro (CID)の文字セットに置き換えます。

優先順位

フォント・エイリアシングを行う際は、そのフォントが使用される状況に応じて1つのセクションのみが読み取られます。したがって、3つのセクションが適用される場合でも、読み取られるセクションは1つのみです。たとえば、[Printer]、[Printer:PostScript]および[Printer:PostScript:2op813a]の3つのセクションがあるとします。出力生成時に、プリンタが2op813aならば、セクション[Printer:PostScript:2op813a]のマッピング・ルールのみ読み取られます。プリンタが2op813a以外の場合は、[Printer:PostScript]セクションが使用されます。

エイリアス・ファイルのセクションでは、より限定的に指定しているセクションが、全般的な指定のセクションよりも優先されます。たとえば、[Printer:PostScript1:2op813a]という特定のプリンタ用のセクションは[Printer:PostScript1]セクションよりも優先され、それ以降は[Printer]セクション、[Global]セクションの順に優先順位が低くなります。

uifont.aliファイルは、Oracle ReportsのPDFフォントに関する拡張機能すべてを制御する構成ファイルです。uifont.aliは読取り可能なテキスト・ファイルです。つまり、標準的なテキスト・エディタで編集できます。このファイルを編集する場合は十分に注意してください。uifont.aliファイルを保存するときは、テキスト・ファイルとして保存します。ファイルを破損させるおそれのあるフォーマットや特殊文字は使用しないでください。

ノート:

uifont.aliファイルは手動で編集できますが、フォント関連の構成タスクには常にOracle Enterprise Managerを使用することをお薦めします。

8.4.4 フォント・エイリアシング・ファイルの検証

uifont.aliファイルの内容が正しいことを検証するには、ORACLE_HOME/binディレクトリにあるフォント検証ユーティリティを使用できます。uifont.aliファイルを変更した場合は、エラーを見つけるために必ずこのユーティリティを実行することをお薦めします。

Windowsの場合:

fnchk.exe filename

UNIXの場合:

mfontchk filename

ここで、filenameは変更したuifont.aliファイルの名前です。ファイル名を指定しない場合は、環境変数に基づいてデフォルトのファイルが検証されます。

エイリアス・ファイルにエラーがある場合は、エラー・メッセージとともに、エラーが見つかったファイルの名前が返されます。例:

Parsing font alias file "$ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/uifont.ali"
Ms san serif

Error at line 85: Invalid font specification
Parse of font alias file failed

このエラーは、uifont.aliの85行目のMS San Serifフォントのマッピング・ルールに構文エラーがあることを示しています。

8.5 フォントのタイプ

この項では、Oracle Reportsに関係のあるフォントおよび文字セットについて説明します。

- 文字セット

- Unicode

- Type1フォント

- TrueTypeフォント

- TrueType Collection

- バーコード・フォント

- CIDフォント

8.5.1 文字セット

NLS環境変数の文字セット・コンポーネントでは、各自の環境でデータを表す際に使用される文字セットを指定します。ある文字セットを使用するシステムから別の文字セットを使用するシステムにデータが転送されると、転送先のシステムでそのデータが処理され、正しく表示されます。ただし、一部の文字が文字セットの別のバイナリ値で表される場合があります。

単一言語対応アプリケーションであっても複数の文字セットを使用するアプリケーションや多言語対応アプリケーションを設計する場合、実行時に最も広く使用される文字セットを決定し、NLS環境変数(NLS_LANG)をその文字セットに設定してアプリケーションを生成する必要があります。

ある文字セットで設計および生成されたアプリケーションを別の文字セットで実行すると、パフォーマンスに問題が生じる可能性があります。さらに、生成時の文字セットの文字の一部が実行時の文字セットに含まれていない場合は、認識されない文字の部分に疑問符が表示されます。Portable Document Format (PDF)は、マルチバイト文字セットをサポートします。特定のフォントを使用してアプリケーションを作成しても、実行してみると別のフォントが使用されている場合があります。この問題は、多くの場合、西ヨーロッパ圏以外の言語環境で英語フォント(MS Sans SerifやArialなど)を使用すると発生します。この問題が発生する原因は、フォントに関連付けられている文字セットが言語環境変数(NLS_LANG)によって指定された文字セットと一致していることをOracle Reportsでチェックするためです。2つの文字セットが一致しない場合、言語環境変数で指定された文字セットと一致する文字セットが関連付けられている別のフォントにOracle Reportsにより自動的に置換されます。この自動置換によって、データベースから返されるデータがアプリケーション内で正しく表示されます。注意: 英語フォントを使用して各国語の文字を入力すると、Windowsでは暗黙的に別のフォントへの関連付けが行われます。ただし、このような自動置換が行われないようにする場合もあります。自動置換が行われないようにするには、希望するすべてのフォントを、フォント・エイリアス・ファイル(uifont.ali)内のWE8ISO8859P1文字セットにマッピングします。

8.5.2 Unicode

Unicodeは、1つのアプリケーションで多言語テキストを表示できるようにするグローバルなキャラクタ・セットです。これによって多国籍企業では、1つの多言語アプリケーションを開発し、それを世界各国に配布できます。多言語アプリケーションにおいてUnicodeを使用する方法の詳細は、第22.5項「Unicode」を参照してください。

8.5.3 Type1フォント

PostScriptフォントのフォーマットであるAdobe Type1フォントの保存形式には、.pfa (PostScript Font ASCII)と.pfb (PostScript Font Binary)の2種類があります。これらのファイルには文字の形状に関する記述が含まれます。個々の文字は小さなプログラムによって生成されますが、このプログラムはさらに別の小さなプログラムをコールして、フォント内の文字の共通部分を計算します。どちらの場合も、文字の記述内容は暗号化されます。このようなフォントを利用できるようにするには、PostScriptインタプリタ、またはAdobe Type Managerなどの専用のレンダリング・エンジンを使用して、ビットマップのドットにレンダリングする必要があります。Adobe Type Managerは、Apple MacintoshおよびMicrosoft Windowsのシステム上で、低解像度のスクリーン・フォントを生成する場合に使用されます。

Type1バイナリ・ファイル(.pfa、.pfb)には文字情報が含まれますが、メトリック・ファイル(.afm (Adobe Font Metric)または.pfm (Printer Font Metric))には文字を形成するためのメトリック情報が含まれます。これらのメトリック・ファイルはテキスト・ファイルであり、明確かつ解析しやすい構造で記述されています。

8.5.4 TrueTypeフォント

パーソナル・コンピュータの出現によって拡張性に優れたフォント・テクノロジの必要性が高まり、それ以降のあらゆるオペレーティング・システムにおいて不可欠であることが予想されていました。TrueTypeはまさに拡張性に優れたフォント・テクノロジであり、ビットマップ・フォントを使用する際に顕著な、文字の拡大によるギザギザのない出力結果が得られます。

このテクノロジは次の2つの部分から成り立ちます。

- ラスタライザ

- TrueTypeフォント

ラスタライザは、WindowsとMacintoshの両方のオペレーティング・システムに組み込まれているアプリケーションです。これはインタプリタとして機能し、フォント情報を、ビデオ・ディスプレイでレンダリング可能な形式へ変換します。

TrueTypeフォントは、それ自身にタイプフェースの各文字のアウトラインを表す情報が含まれます。より高品質なフォントには、ヒンティング・コードも含まれています。ヒンティングとは、縮小されたフォントの形状を最適化する処理です。ベクター・アウトラインにのみ依存するのではなく、文字の線がピクセルに揃うようにするため、フォントの形状がスムーズになり、読みやすさも最大になります。

Adobe社は、この機能を実現する自社のPostScriptコードのライセンス供与をAppleとMicrosoftの両社に対して提案しましたが、両社はいずれも、自社のオペレーティング・システムの中核部分に他社の支配力が及ぶということに懸念を抱いていました。Apple社とMicrosoft社は特許の相互使用と製品開発協定について合意し、Microsoft社はPostScriptスタイルのグラフィック・エンジンを開発し、Apple社はフォント・システムを開発しました。Apple社が開発したものは後にTrueTypeとなり、パフォーマンスとレンダリング品質において最高のテクノロジであることを証明しました。Apple社とMicrosoft社は、Adobe社に対抗する戦略的業務提携を発表しました。これは、Apple社がフォント・システム、Microsoft社が印刷用エンジンの開発を担当するというものでした。Apple社は、1991年3月にTrueTypeを発表しました。最初のTrueTypeフォントは次のものでした。

- Times Roman

- Helvetica

- Courier

Microsoft社は、1992年初めにWindowsバージョン3.1にTrueTypeを導入しました。次のフォントのコア・セットを作成しました。

- Times New Roman

- Arial

- Courier

Apple社とMicrosoft社のどちらのTrueTypeフォントも、スケーラブル・フォントからビットマップを生成する際に、あたかも人間が設計したかのような高い品質をフォントの各サイズで実現しています。

8.5.5 TrueType Collection

TrueType Collection (TTC)は、文字情報や絵文字などの共通するフォント・データを共有する効率的な方法です。こうしたデータの共有化によって、共通の絵文字などが各フォントではなく単一のファイル構造に格納されるため、ファイル・サイズが最適化されます。最も効率的なのは、複数のフォントを組み合せた1つのファイルです。たとえば、同じフォント・ファミリに属する複数の日本語フォントは、共通の漢字文字セットを共有できます。これらの漢字文字は、TTCファイルに保持されます。

たとえば、TTCファイルmsgothic.ttcは3つのフォントから構成される収集ファイルです。MS Gothic、MS PGothicおよびMS UI Gothicから構成されます。

8.5.6 バーコード・フォント

バーコード・フォントという用語が表すものは1つではありません。業種によっては、特定のバーコード・タイプが選定されていることがあります。このような場合は、適切なバーコード・フォントを使用できるようにする必要があります。たとえば、商品パッケージや書籍にバーコードを印刷する場合のバーコードの選択は簡単です。北米では、商品パッケージのバーコードにUPC-Aを使用します。ヨーロッパでは、商品のバーコードにはEANを使用します。

書籍のISBN番号のバーコードには、Bookland (EAN 13バーコードに5桁を付加したもの)を使用します。フォントはバーコードを印刷する方法の1つですが、唯一の方法ではありません。Oracle Reportsではこの方法以外にも、バーコード用Java Beanを使用してバーコードを生成する方法もあります。このJava Beanを使用すれば、一般的に使用されているバーコード・タイプに基づいてバーコードを生成することができます。

8.5.7 CIDフォント

CID (Character IDentifier)フォントは、コンポジット(マルチバイト) Type1フォントの一種で、東アジア言語圏の要求に応えて開発されたものです。Adobe社が開発したCID-Keyedフォント・ファイル形式は、PostScriptで使用される幅広い文字セット・フォントに対応します。中国語、日本語および韓国語のフォントに最適なフォーマットですが、このほかにも様々な文字セットのローマン体フォントに使用できます。CID-Keyedとは、文字識別子(CID)番号を使用してフォント内の文字に索引を付け、アクセスすることです。CIDフォントはそれぞれ、すべての文字のアウトラインが格納された1つの大きなフォント・ファイルと、文字、エンコードおよび文字識別子のリストが格納された1つの小さなCMapファイルから構成されています。フォント・ファイルとCMapファイルを組み合せることにより、特定の文字セットとエンコード情報からなるフォントを作成することができます。CIDフォントはそれぞれ、多数の文字セットとエンコードの組合せをサポートできます。

8.6 異なるプラットフォームでのレポート出力の確認

Oracle Reports 11gリリース2 (11.1.2)では、WindowsおよびUNIXのどちらでも、TTFやTTCなど幅広く使用されているフォント・フォーマットが使用されます。このため、通常は両方のプラットフォームで同じ外観のレポート出力が生成され、特別な構成は不要です。

Oracle Reportsでは、フォント・メトリックを適切なTTFファイルから読み取って、レポート出力を正しくフォーマットします。これによって、フォント・メトリックの不一致によりテキスト文字の不揃いが発生する問題がなくなります。使用可能なTTFファイルのフォントは自動的に検索されます。TTFフォント・ファイルが見つからない場合、11gより前の実装のフォント検索メカニズムが使用されます。

WindowsでTTCフォント・タイプのサンプル・レポートを実行するには:

1. Reports BuilderでTTCフォント・タイプのレポートを開きます。

2. 「ファイル」→「ファイルへ出力」→「PDF」を選択し、出力を保存します。

UNIXで同じTTCフォント・タイプのレポートを実行するには:

1. 最初に、レポートで使用されているTTCフォントがUNIXサーバー・マシンの$ORACLE_INSTANCE/reports/fonts (MSGOTHIC.TTCなど)で使用できることを確認します。それが使用できない場合、Windowsマシン(C:\WINDOWS\Fonts)からコピーします。

2. 次のコマンドラインを使用してレポートを実行します。

http://host:port/report=report_name.rdf&destype=cache&desformat=pdf&userid=user/password@db

UNIXにおける出力とWindowにおける出力とを比較して、両方がほぼ同じであることを確認します。

ヒント:

UNIXでは、DPIをWindowsと同じ値に設定します。たとえば、UNIXでDPIを96から600 (WindowsのDPI値)に変更すると、UNIXのPDF出力とRTF出力はWindowsにおけるそれらの出力と同じになります。

ただし、スクリーン・プリンタのDPI値が変更されるので、HTML出力ファイルは拡大されます。有効なプリンタが設定されておらず、画面解像度(screenprinter.ppd)がPDFドライバとHTMLドライバの両方によって使用されている場合にのみ、この問題が発生します。たとえば、TK_PRINTERをDPI解像度600 (Windowsの解像度値と同じ値)の有効プリンタまたはダミーのプリンタに設定すると、UNIXのHTML出力とPDF出力はWindowsにおけるそれらの出力と同じになります。

例

WindowsのDPIが600の場合にWindowsとUNIXで同じ外観のレポートHTML出力が生成されるようにする方法の例を次に示します。

1. 有効なプリンタがない場合、uiprint.txtファイルに次のエントリを追加します。
Font:ASCII: DPI changed PPD file:default.ppd:

2. datap462.ppdファイルでデフォルト解像度を600に変更します。
*DefaultResolution: 600dpi

ノート:

screenprinter.ppdの解像度は変更しないでください。

3. 有効なプリンタがある場合、uiprint.txtファイルでそのプリンタを構成し、DefaultResolutionを600に変更します。

4. フォントをフォント・フォルダに格納してから、レポートを実行します。

8.7 TTF/TTCフォントを使用したUnicodeレポートの実行

Oracle Reports 11gリリース2 (11.1.2)では新しいフォント・メカニズムを使用して、UNIXでTTF/TTCフォントを使用してUnicodeレポートが実行されます。これによって、通常は両方のプラットフォームで同じ外観のレポート出力が生成されます。

WindowsでUnicodeのサンプル・レポートを実行するには:

1. Oracle Enterprise Managerで、「レポート」→「管理」→「Forms/Reportsの共通構成」を選択して、「Forms Reports共通コンポーネント構成」ページを表示します。

- [PDF:Subsetting]セクションに次のエントリを追加します。

"Arial Unicode MS"="ARIALUNI.TTF"

- [Global]セクションにArialのエイリアシングが定義されていないことを確認します。定義されている場合はコメント・アウトします。

#Arial=Helvetica

2. フォントのARIALUNI.TTFをREPORTS_PATHに追加します。

3. WindowsレジストリでNLS_LANGをAMERICAN_AMERICA.UTF8に設定します。

4. Reports Builderでサンプル・レポートを開きます。

5. 「ファイル」→「ファイルへ出力」→「PDF」を選択します。

6. レポート出力を保存します。

UNIXで同じUnicodeのレポートを実行するには:

1. レポートで使用されているUnicodeフォントがUNIXサーバー・マシンの$ORACLE_INSTANCE/reports/fontsおよびREPORTS_PATH (ARIALUNI.TTFなど)で使用できることを確認します。それが使用できない場合、Windowsマシンから($ORACLE_INSTANCE/reports/fonts)へコピーします。

2. reports.shでNLS_LANGをAMERICAN_AMERICA.UTF8に設定します。

3. 次のコマンドラインを使用してレポートを実行します。

http://host:port/report=report_name.rdf&destype=cache&desformat=pdf&userid=user/password@db

例:

http://host:port/report=Unicode.rdf&destype=cache&desformat=pdf&P_LANG_ID=JA&userid=oe/oe@mydb

UNIXにおける出力とWindowにおける出力とを比較して、両方が同じであることを確認します。

8.8 フォントの問題の診断

フォントの使用方法および問題を診断するために、次のどちらかの方法でログ・ファイルを調査できます。

- コマンドラインの使用

- Oracle Enterprise Managerの使用

8.8.1 コマンドラインの使用

コマンドラインを使用してログ・ファイルを表示するには:

- 診断ログ・ファイルを開きます。

$ORACLE_INSTANCE/diagnostics/logs/ReportsServerComponent/
server_name/rwEng-id_diagnostics.log

- レポートの各オブジェクトで使用されているフォントが、正確にログに記録されていることに注意してください。TTFフォント・ファイルが見つからなかった場合、そのことがログに記録されると同時に、11gより前のリリースで使用されていたメカニズムによって適切なフォントが検索されたことおよび見つかったフォントもログに記録されます。

8.8.2 Oracle Enterprise Managerの使用

第6章「Oracle Enterprise ManagerによるOracle Reports Servicesの管理」の第6.11.1項「ログ・ファイルの表示および検索」を参照してください。

8.9 フォントに関する問題のトラブルシューティング

フォントに関する問題がアプリケーションで生じた場合の解決に役立てるために、この項では、次のトラブルシューティング情報について説明します。

- PostScriptファイル内で目的のフォントが使用されているかどうかの確認

- 出力の作成

- 出力ファイルの読取り

- 出力ファイルの検証

- 印刷フォントの修正

- 環境変数の確認

- Webソース・ビューで正しく表示されないフォントの修正

- 制約事項の理解

- 共通の問題の解決

PostScriptファイル内で目的のフォントが使用されているかどうかの確認

PostScriptファイルには、PPDファイルを読み取った後、フォントのリストが作成されます。PostScriptファイルで次のタグを検索すると、フォントを確認できます。

- DocumentNeededResourceには、PPDファイル内で参照されるフォントのリストが記述されています。

- DocumentSuppliedResourceには、PostScriptドライバによってAFMファイルを見つけることができたフォントのリストが記述されています。

- フィールドの%IncludeResource:fontの前にある%%Pageパラグラフには、そのフィールドで使用されるフォントの名前が記述されています。

PCL出力ファイルの場合は、特定のフォントが使用されているかどうかを確認できます。この情報に応じて、Oracle Reportsまたはプリンタのフォント設定を変更できます。

例:

次に示すのは、Lexmark Optraプリンタに基づくテストの結果です。フォントとその番号および制御コマンドは例であり、他のプリンタではこれとは異なる場合があります。

フォント情報 Lexmarkのプリンタには、使用可能なすべてのフォント(PCLエミュレーション・フォント)を印刷するメニュー・オプションがあります。これには、常駐フォント(デフォルト)とフラッシュ・フォント(プリンタに別途インストールされる)の両方が含まれます。

表8-6 フォント情報の例

フォント名

スタイル

太さ

出力の例

R0 Courier

0

0

... <ESC>(<symset><ESC>(s0p<pitch>h0s0b4099T...

R39 Courier Bold

0

3

... <ESC>(<symset><ESC>(s0p<pitch>h0s3b4099T...

R40 Courier Italic

1

0

... <ESC>(<symset><ESC>(s0p<pitch>h1s0b4099T...

R55 Century Schoolbook Roman

0

0

... <ESC>(<symset><ESC>(s1p<point>v0s0b24703T ...

表8-7 フラッシュ・フォント情報の例

フォント名

シンボル・セット

スタイル

太さ

出力の例

F2 OCR-A

0O

0

0

... <ESC>(0O<ESC>(s0p<pitch>h0s0b4200T ...

F3 OCR-B

1O

0

3

... <ESC>(1O<ESC>(s0p<pitch>h0s0b4206T ...

これらの例では、ほかにも多数のフォントがあり、それぞれ異なるコードが定義されています。たとえば、OCRBのコードは4206です。この番号の重要性については後述します。

出力の作成

正しいフォントが使用されない問題がある場合は、レポートを単純化します。つまり、出力を単純なものにします。これを行うには、select sysdate from dualという問合せを使用し、フォントの数を少なくして単純なレポートを作成します。これにより実行時間が短くなり、出力ファイルのサイズも大幅に縮小されます。

出力ファイルの読取り

作成されるPCLファイルはバイナリ・ファイルですが、テキスト・エディタである程度まで読み取ることができます。最初の短い部分と最後の部分はバイナリですが、中間部分のデータは読取り可能です。

出力ファイルの検証

注目する必要のある情報は、ファイルの中間部分にある読取り可能なデータのみです。テキストを見つけて(これがレポート出力に表示されるテキストです)、そのテキストの直前の部分を確認します。

これは次のようになります。

....;SD1,14,2,0,3,10.34,5,0,6,0,7,4099;LB here is your text

この例では、フォントにはコード4099のものが選択されています。Lexmarkのプリンタでは、Courierが選択されます。

別の例として、フォントOCR-B(コード4206)が必要である場合を考えます。選択されたテキストの直前にこのコードが生成されていなければ、このフォントでは表示されません。これは次のようになります。

....;SD1,14,2,0,3,8.57,5,0,6,0,7,4206;LBThis is OCRB font....

印刷フォントの修正

出力ファイル内のコードは正しいけれども、プリンタでそのフォントが印刷されない場合は、そのフォントがプリンタでは使用できない状態にある可能性があります。この問題は、出力ファイル内のコード(TFMファイルから得られます)が、プリンタで処理可能なものと異なる場合にも発生します。このような場合、Lexmarkのプリンタでは、これらのフォントがプリンタのデフォルト・フォントによって置き換えられます。

フォントに対応するコードが出力ファイルにない場合、Oracle Reportsによってそのコードが出力ファイルに生成されなかったことを示しています。HPDファイルおよびTFMファイルを確認してください。

環境変数の確認

DEBUG_SLFINDを利用すると、使用されたファイルを確認できます。フォントに関しては、アプリケーションがプリンタ定義ファイルを読み取った後に検索したAFMファイルおよびTFMファイルのリストと、エイリアス処理後に読み取ったフォント・ファイルを調べることができます。この方法では、あるフォントがマップされているかどうかを調べることもできます。通常は、次の順序でファイルの読取りが行われます。

- 最初にプリンタ定義ファイルを読み取ります。

- このプリンタ定義ファイルで指定されているフォントに対応するフォント・ファイルをすべて読み取ります。

- エイリアス・ファイルを読み取ります。

- フォントのマッピングがある場合は、そのフォントのフォント情報ファイルを読み取ります。出力生成に使用されるフォントについては、最後にもう一度AFMファイルを読み取ります。

TK_DEBUG_POSTSCRIPTは、PostScript出力に影響を及ぼします。これには、次の文字列の任意の組合せを設定できます。

- Functionsを指定すると、コールされる個々のツールキット関数がPostScript出力のコメントとして出力されます。

- Longを指定すると、量が多く時間もかかりますが、理解しやすいPostScriptが生成されます。

- Memoryを指定すると、各ページの下部にメモリー使用率が表示されます。

これらのオプションはいずれも、環境変数内で指定するときに1文字に短縮できます。またこれらのオプションは、"/"で区切って自由に組み合せることができます。この環境変数では、大文字と小文字は区別されません。たとえば、すべてのオプションを使用するには、Func/L/Memのように指定します。

この変数を使用して生成された出力を顧客向けに使用することは、オラクル社によるサポートの対象外です。これは、診断目的にのみ使用してください。

ノート:

環境変数DEBUG_SLFINDを任意のファイル名に設定してレポートを実行します。デバッグ情報は、その特定のファイルに書き込まれます。

使用方法: # setenv DEBUG_SLFIND mydebug.txt

詳細は、付録B「環境変数」を参照してください。

Webソース・ビューで正しく表示されないフォントの修正

Oracle Reports Builderのユーザー・インタフェースのテキスト(ウィンドウのタイトルなど)には、現行の言語に対応するシステム・リソース・ファイルから取得したフォントが使用されます。これらのシステム・リソース・ファイルは、Oracle Reportsのインストレーションに含まれています。Oracle Reportsでは、uifont.aliの[rwbuilder]セクションでこれらのフォントのマッピングを指定できます。マップされているフォントが見つかった場合は、元のフォントのかわりにそのフォントが使用されます。見つからなかった場合は、元のフォントが使用されます。

ノート:

マップされたフォントは固定幅フォントである必要があります。

レポート・エディタのWebソース・ビューでは、アラビア語、中央ヨーロッパ言語、キリル語、ギリシャ語、ヘブライ語、日本語、タイ語、トルコ語などが文字化けして表示されることがあります。uifont.aliでOracle Reports Builderのフォント名を次のように設定することで、この問題を回避できます。

[rwbuilder]
.....AR8MSWIN1256="Courier New"
.....CL8MSWIN1251="Courier New"
.....EE8MSWIN1250="Courier New"
.....EL8MSWIN1253="Courier New"
.....IW8MSWIN1255="Courier New"
.....JA16SJIS="MS Gothic"
.....TH8TISASCII="Andale Duospace WT"
.....TR8MSWIN1254="Courier New"

Andale Duospace WT(固定幅)フォントは、My Oracle Support(http://support.oracle.com)からダウンロードできます(パッチID 2766564)。

制約事項の理解

Windowsの場合:

- Unicodeでは、True Type Big Fontを提供しています。これらのフォントには、複数の言語によるテキストの表示や印刷に必要な文字が含まれています。たとえば、西ヨーロッパ言語、中央ヨーロッパ言語およびアラビア語のテキストをフィールドに入力、表示または印刷したときに予期しない文字が出力された場合は、Big Fontを使用していない可能性があります。Microsoft Windowsでシングルバイト言語に用意されているBig Fontは、Arial、Courier NewおよびTimes New Romanです。詳細は、http://www.microsoft.com/typography/fonts/default.aspxを参照してください。

- Wingdingsフォントは、NLS_LANGがUTF8に設定されているときは表示されないことがあります。
Wingdingsフォントの中でUTF8の使用時に表示可能なものは、ASC 32から127の文字のみです。ASC 252はUTF8ではサポートされていないため空白表示されます。

この問題に対処するには、次のいずれかのフォント・セットを使用します。

- Webdings - chr(97)

- Wingdings2 - chr(80)

- Wingdings2 - chr(87)

UNIXの場合:

- AFMがサポートされるのは、日本語エンコードを除き、シングルバイトのPostScriptファイル生成時のみです。AFMファイルに対してサポートされるコード体系は、AdobeStandardEncoding、ExtJIS12-88-CFEncoding、FontSpecific、HRoman、ISOLatinHebrew、JIS12-88-CFEncodingおよびJIS12e-88-CFEncodingです。
サポート対象のAFMのバージョンは2.0です。

- X11では、フォント属性として下線はサポートされません。ファイルへの出力は、後述するステップに従って行われます。

- JDKでは、不具合によって太字の韓国語フォントが適切に表示されません。Oracle Reports ServicesではJREが使用されているため、太字の韓国語文字列がレポート内のグラフで使用されていると、すべて正しく表示されません。

- PostScriptを印刷する場合、プリンタへのフォントのロードは行われません。したがって、目的のフォントが印刷結果に出力されるようにするには、そのフォントがプリンタにインストールされていることを確認する必要があります。

- PCL出力の場合は、TFMフォント・フォーマットのみサポートされます。

- UNIXのディスプレイ・システム(X11など)は、特定のアプリケーションやプリンタには一切依存しません。印刷と表示の間には、直接の関係はありません。画面に表示されるフォントが印刷されない場合もあります。
ディスプレイ・フォントとプリンタ・フォントにはいくつかの類似点もありますが、それ以上の相違点があります。

Xフォント(ディスプレイ・フォント)はビットマップの表示用絵文字であり、XサーバーによってXターミナル上に表示されます。

プリンタ・フォントはPostScriptフォント、つまりフォントを数値として表したものでビットマップではありません。このフォントはPostScriptプリンタ内に存在し、プリンタ上のPostScriptインタプリタによって生成されます。

- テンプレートを適用すると、フォント・サイズが変更されることがあります。
例えば、テンプレートを作成してフォントをサイズ10のTimes New Romanに設定し(すべてのフィールドが対象)、レポートでこのテンプレートを使用するように設定した場合でも、レポート・エディタのペーパー・デザイン・ビューで表示されるフォントのサイズが変更されていることがあります。

これは、デフォルト設定のレイアウトでは目的の領域内に収まらない場合に行われます。

最初にテキスト・フィールドのサイズが縮小され、次にフォントのサイズが縮小されます。このようにすれば、テンプレートのフォント・サイズを維持してフィールドを折り返すよりもよい結果を得ることができます。

また、テンプレートを使用する場合に、テンプレートで指定されたものとは異なるフォントが選択されることがあります。これは、最初に文字セットの比較が行われるためです。したがって、テンプレートのフォントが現行の文字セットをサポートしないものである場合は、サポートするフォントに変更されます。これは、特にヘブライ語またはアラビア語環境で英語のテンプレートを使用した場合にはっきりとわかります。

共通の問題の解決

問題:  ラベル・レポートを印刷すると、右マージンの文字が切り捨てられる

Windowsマシン上で郵便ラベル・レポートを印刷したのですが、各行の最後の数文字が切り捨てられていることがわかりました。レポートのプレビューでは、これらの文字は欠けてはいませんでした。ページのフォーマットとフォント設定を変えてみましたが、問題は解決しません。

解決策: PreviewをDESTYPEにしてレポートが正しく表示されるのであれば、プリンタ・ドライバの問題ではありません。この問題の原因として、枠のプロパティが考えられます。

レイアウト・オブジェクトを囲む枠の水平拡張度が「固定」に設定されており、データの長さが枠のサイズを超える場合は、このようなデータの切捨てが発生します。

「水平拡張度」プロパティを、「拡張」または「可変」に設定してみてください。

問題: ファイルをHTMLCSSとして生成すると、列の1つが出力から欠落する

レポートをHTMLCSSファイル形式として出力しており、レポート・エディタのペーパー・デザイン・ビューでは問題なく表示されています。新たに作成されたファイルをクリックしてブラウザに表示されるレポートを確認すると、最後の列がレポート出力の中にありません。

レポートを再度実行すると、ペーパー・デザイン・ビューでは問題なく、最後の列も本来の位置に表示されます。このファイルをもう一度クリックしたときに、最後の列がレポート出力から脱落しているようです。PDFは、ペーパー・デザイン・ビューとAdobe Acrobat Readerで問題なく表示されます。

解決策:

1. Oracle Reports Builderおよびその他の実行中のアプリケーションを閉じます。

2. Windowsの「コントロール パネル」→「画面」→「設定」を選択します。

3. フォントを「小さいフォント」に設定して「適用」ボタンをクリックし、「OK」をクリックしてWindowsのフォント設定を変更します。

4. コンピュータを再起動して、新しいフォント設定を有効にします。

5. ここで、Windowsの「コントロール パネル」→「画面」→「設定」に戻って、システムのデフォルトとして小さいフォントを設定していることを確認できます。

HTMLCSSファイルをクリックすると、ブラウザにレポートが正しく表示され、すべての列が欠けることなく表示されます。

HTMLCSSファイルをブラウザで表示するときは、Windowsシステムのデフォルト設定として「小さいフォント」を選択しておくことをお薦めします。

大きいフォントがデフォルトで設定されている場合、HTMLCSSファイルが正しく表示されないことがあります。

問題: Oracle Reports Builderで、8ポイントより小さいビットマップ・フォント・サイズを選択する方法

解決策: レポートによっては、フォント・サイズを6ポイント以下にする必要があることもあります。フォントのマッピングおよびサイズ設定は、実際にはオペレーティング・システムのフォント・ファイルと、ドライバまたはプリンタの指定の両方によって実現されるものであるため、多くのフォントで6ポイント以下などの小さなフォント・サイズを指定することが可能です。

Oracle Reportsでは一般に、フォント・サイズを8まで小さくできます。このように設定するには、Oracle Reports Builderでレポートを開き、レイアウト・モデル・ビューに切り替えて、変更対象のレポート・オブジェクトを選択します。オブジェクトが選択されている状態で、フォント選択ボックスの横のリストからフォント・サイズを選択します。

一般に、選択できるサイズはTrueTypeフォントの場合は8から72、その他のフォントの場合はこれより少なくなります。

リストにあるサイズよりも小さいサイズや大きいサイズを入力できます。これを行うには、もう一度オブジェクトを選択して、カーソルをフォント・サイズ・フィールドに置き、[Delete]キーを押してサイズの数値を削除し、目的のフォント・サイズを入力して[Tab]キーを押します。変更は即座に反映されます。

この場合も、すべてのフォント・サイズを指定できるとは限らないことに注意してください。また、フォントと属性の組合せによっては実際に使用できないものもあります。あるフォント・サイズを選択できたとしても、印刷したときにそのフォントを読み取ることができるとは限りません。小さいフォント・サイズを指定し、さらに太字やイタリックなどの属性を組み合せた場合も、プリンタ・ドライバ、プリンタ、フォント・メトリック、言語、コード・セット、NLS_LANGおよび人間の視覚などの制約が原因で、印刷または表示したときに読取り不可能の問題が発生することがあります。

問題: レポート出力でのフォント・サイズが、WindowsとUNIXとで異なる

Windows上で設計した単純なレポートで、サイズ8のArialフォントを使用しています。このレポートをSun Solarisに移植したときに、Solaris上の出力ではフォント・サイズが変更されていることがわかりました。UNIX環境では、レポートにフォント・サイズ9のHelveticaを使用しています。UNIX上では、Arialフォントは同等のフォントであるHelveticaにuifont.aliを使用してマップされています。

解決策:

1. まず、xlsfontコマンドなどのUNIXのフォント・ユーティリティを使用して、UNIXシステム上のHelveticaで使用可能なフォント・サイズを調べます。

2. Windowsの可変サイズ・フォントを、UNIXの可変サイズ・フォントにマップします。たとえば、WindowsでのマッピングをArial.8 = Helvetica.8に変更し(UNIXシステム上でHelveticaに対してサイズ8が使用可能であることが前提)、uifont.aliが正しいディレクトリにあることを確認します。

マシンにインストールされているHelveticaフォントがビットマップ(ラスタライズ済)であることが考えられますが、その場合は、任意のサイズに自動的に拡大または縮小することはありません。これに該当する場合は、拡張性に優れたType1フォントをインストールすれば、どのようなポイント・サイズでも選択できるようになります。

システムが異なれば、インストールされているフォントが同じであっても、フォント間の差が発生する可能性は常にあります。これは、システムによってフォント構成ファイルが異なるためです。

問題: 印刷時に、フォントが非TrueTypeフォントによって置き換えられる(ペーパー・デザイン・ビューでは、フォントの問題は発生しない)

解決策: プリンタ設定(詳細)を調べて、次のような指定がないことを確認します。

True Type Font: Substitute with Device Font

UNIX

問題 Oracle ReportsをX-Windowsエミュレータ上で実行しているときに、UNIXにインストールされているフォントがフォント検索ボックスに表示されない

解決策 X-Windowsエミュレータではフォント・パスは通常、ローカル・マシン上のフォント・ディレクトリになります。インストール済のフォントは使用できず、Oracle Reportsのフォント検索ボックスでは、ローカルのフォント・ディレクトリにあるフォントのみ使用されます。このような場合は、フォントがインストールされているリモート・マシン上でフォント・サーバーを起動し、フォント・パスのエントリがこのフォント・サーバーを指すようにします。フォント・サーバーの起動およびフォント・パス・エントリの設定の詳細は、システムのマニュアルおよびX-Windowsエミュレータのヘルプを参照してください。

現在使用されているフォント・パスおよびフォント・サーバーを調べるには、UNIXコマンドxset -を使用します。

9 UNIXでのOracle Reportsによる印刷

Oracle Reportsには印刷に関して豊富な機能を備えており、様々なプラットフォームですぐに使用できます。UNIX上で印刷する場合、適切な印刷環境の作成には、いくつかの設定および構成が必要になります。この章では、UNIXでのOracle Reportsによる印刷について説明します。この章の主な項は、次のとおりです。

- UNIXでの印刷の概要

- UNIXでのプリンタの設定

- 印刷環境の構成

- プリンタ関連のファイル

- CUPSによって強化されたLinux印刷

- グローバリゼーション・サポート

- デバッグ・オプション

- UNIXでのDISPLAYおよびプリンタ依存性の解消

- よくある質問

9.1 UNIXでの印刷の概要

この項では、UNIXでOracle Reportsから印刷を行う方法について説明します。また、UNIXとWindowsのプラットフォームにおける主な相違点についても説明します。さらに、任意のアプリケーションから正しく印刷を行うための、オペレーティング・システムに関する要件についても説明します。

- 全体的な印刷のメカニズム

- UNIXおよびWindowsでのOracle Reportsの印刷メカニズム

- 印刷のサポート

9.1.1 全体的な印刷のメカニズム

UNIXでのOracle Reportsによる印刷のしくみを理解するには、Microsoft Windowsの印刷メカニズムと比較して考えるとよいでしょう。Microsoft Windowsでは、アプリケーション・レベルのAPIが、インストールされているプリンタ・ドライバに基づいて様々なタイプのプリンタをサポートします。そしてアプリケーションは、この標準APIを通して様々なプリンタ・ドライバと通信します。たとえば、印刷用紙のマージンを変更する場合、アプリケーションはMicrosoft Windowsの該当するAPIメソッドをコールし、このメソッドが変更内容をプリンタ・ドライバに伝えます。Microsoft Windowsでは、プリンタ・ドライバはプリンタ固有です。つまり、プリンタごとに特定のプリンタ・ドライバをインストールする必要があります。プリンタ・ドライバはプリンタとの通信方法を理解しており、プリンタに出力を送信するアプリケーションにかわってその処理を行います。アプリケーションからは、プリンタのプロパティの参照、プロパティの変更、および標準APIを介した印刷の実行が可能です。

Motifおよびキャラクタ・ベースのUNIXオペレーティング・システムには、Microsoft Windowsと異なり、プリンタに対する独自の標準インタフェースがありません。出力をプリンタへのストリーム・ファイルに送出すること、およびプリンタの仕様に従うことは、個々のアプリケーションの責任において行われます。UNIXプラットフォームでは、Oracle Reportsの出力をストリームとしてプリンタに送信する前に、PostScriptやPCLなどの形式で正しくフォーマットする必要があります。UNIX上で印刷を行うために、Oracle Reportsの内部でMicrosoft Windowsのプリンタ・ドライバの動作と同様の処理が行われます。次の項では、UNIXでのこのメカニズムをさらに詳しく説明します。

9.1.2 UNIXおよびWindowsでのOracle Reportsの印刷メカニズム

図9-1と図9-2は、UNIXとMicrosoft WindowsにおけるOracle Reportsの印刷の違いを示したものです。

図9-1 UNIXでのOracle Reportsの印刷

図9-2 Microsoft WindowsでのOracle Reportsの印刷

UNIXで印刷を行うために、Oracle Reportsでは論理プリンタ・ドライバが内部的に作成されます。論理プリンタ・ドライバはMicrosoft Windowsのプリンタ・ドライバの動作をシミュレートするもので、UNIXでのOracle Reportsの印刷サービス・インタフェースとなります。この論理プリンタ・ドライバを通して、Oracle Reportsからプリンタのプロパティにアクセスし、プリンタ関連の操作を実行できます。論理プリンタ・ドライバは、次の処理を行います。

- 最も一般的な印刷標準である、PostScriptおよびPCLの印刷仕様をサポートします。

- プリンタ記述ファイル(PPDやHPDなど)を読み取り、プリンタ情報を取得します。

- PostScriptまたはPCLの出力を生成する際に、様々なプリンタ・コマンドを埋め込みます。たとえば、印刷用紙のマージンを変更するには、生成する出力内に対応するプリンタ・コマンドを書き出す必要があります。このコマンドは、PostScriptプリンタとPCLプリンタのどちらを使用するかによって異なります。生成されたPostScriptまたはPCLのファイルが印刷プログラム(lprなど)を介してプリンタに送信されると、プリンタはこのファイル内のコマンドを解釈し、それに従って処理を実行します。

論理プリンタ・ドライバを正しく動作させるには、次の入力が必要です。

- 印刷要求のスプールに使用するプリンタ・キューの名前

- プリンタのプロパティが記述されているプリンタ記述ファイル

- 指定のプリンタ・キューが要求するドライバのタイプ(PostScriptまたはPCL)

この情報は、uiprint.txtという名前のファイルで指定するには。Oracle Reportsではこのファイルを使用して、印刷に利用できるプリンタ・キューの名前のリストを取得します。uiprint.txtには、プリンタ・キューの名前、キューに必要なドライバのタイプ、ドライバのバージョン、およびそのプリンタでプリンタ・ドライバが特別なプリンタ記述ファイルを必要とする場合はその名前(PostScriptドライバのPPDファイルなど)を指定する必要があります。この情報を基に内部的な論理プリンタ・ドライバが作成され、このプリンタ・ドライバは指定された定義ファイルを使用してプリンタのプロパティにアクセスします。

9.1.3 印刷のサポート

Oracle Reportsは、UNIXの次の印刷標準をサポートしています。

- PostScriptレベル1および2

- PCLレベル3

- ASCII(キャラクタ・モードでの印刷用)

Oracle Reportsでの印刷には、これらのバージョンに対応しているプリンタを使用してください。

9.2 UNIXでのプリンタの設定

この項では、次の項目について説明します。

- UNIXでのプリンタのインストール

- Oracle Reportsで使用するプリンタの設定の確認

9.2.1 UNIXでのプリンタのインストール

プリンタ・キューのインストール方法は、UNIXのどのプラットフォームを使用しているかによって少し違いがあります。プラットフォームによっては、インストールに役立つインタフェース・ツールが付属しています。プリンタ・キューを追加するステップは、UNIXプラットフォームのドキュメントを参照してください。

Solaris 2.6プラットフォーム上でプリンタ・キューを追加するスクリプトの例を次に示します。この例では、ドメイン情報expldomainと、プリンタ名printer1およびprinter2をハード・コーディングしています。プリンタは、Xerox DCSモデルです。

#!/bin/sh
echo "Please enter the Printer Name Either printer1 or printer2\n"
read PRINTER
LOGFILE=/var/adm/config.log
PATH=/usr/bin:/usr/sbin:$PATH
export PRINTER LOGFILE PATH
lpsystem -t bsd expldomain >$LOGFILE 2>&1
lpadmin -p "$PRINTER" -s expldomain!"$PRINTER"  -I any >$LOGFILE 2>&1
mkdir -p /usr/Xerox_DCS /usr/Xerox_DCS/original
chown -R 755 /usr/Xerox_DCS /usr/Xerox_DCS/original
cp /usr/bin/lp /usr/Xerox_DCS/original
mv /usr/bin/lp /usr/bin/lp.Xerox
ln -s /tmp /usr/Xerox_DCS/tmp
echo "$PRINTER" > /usr/Xerox_DCS/printer.db
cp  /usr/local/packages/dc99cc23.txt  /usr/Xerox_DCS
ln -s /usr/Xerox_DCS/dc99cc23.txt /usr/bin/lp
lpadmin -d "$PRINTER"

9.2.2 Oracle Reportsで使用するプリンタの設定の確認

プリンタ・キューが正しくインストールされたことを確認する手順は次のとおりです。

1. インストールしたプリンタ・キューで使用されるPPDファイルまたはHPDファイルが、次の場所にあることを確認します。

ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/PPD
ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/HPD

2. プリンタにインストールされているフォント・メトリックのAFMファイルまたはTFMファイルが、次の場所にあることを確認します。

ORACLE_HOME/guicommon/tk/admin/AFM
ORACLE_HOME/guicommon/tk/admin/TFM

9.3 印刷環境の構成

この項では、UNIXでのプリンタのインストール後に実行する構成のステップについて説明します。

- uiprint.txtファイルの編集

- 環境変数

- 印刷プロパティのダイアログ・ボックス

9.3.1 uiprint.txtファイルの編集

第9.1項「UNIXでの印刷の概要」で説明したように、Oracle Reportsによって論理プリンタ・ドライバが作成されます。この内部的なプリンタ・ドライバが作成されるようにするには、使用可能なプリンタ・キューの名前、そのキューで使用されるドライバのタイプ、ドライバのバージョン、プリンタ記述ファイルなどの情報を指定する必要があります。uiprint.txtは、このような情報を伝えるためのメイン・ファイルです。ツールは次の場所にあります。

INSTANCE_HOME/config/FRComponent/frcommon/guicommon/tk/admin/uiprint.txt

uiprint.txtはプリンタ構成ファイルです。Oracle Reportsでは、内部プリンタ・ドライバを作成するときにこのファイルが読み取られます。このファイルは、Oracle Reportsのインスタンスごとに変更してください。

uiprint.txt内のエントリのフォーマットは次のとおりです。

Printer:DriverType:DriverVersion:PrinterDescription:PrinterDescriptionFile:

uiprint.txt内のこの1行のエントリは指定フォーマットで記述されますが、Oracle Reportsで使用される1つのプリンタを定義します。各行に5つのフィールドがあり、それぞれコロンで区切られています。表9-1は、uiprint.txtのエントリの各要素の説明です。

表9-1 uiprint.txtのエントリの要素

要素

説明

プリンタ

プリンタ(またはプリンタ・キュー)の名前を指定します。この名前がlprコマンドまたはlpコマンドで使用されます。

使用可能なプリンタのリストを得るには、次のコマンドを使用します。

lpstat -a

プリンタのステータスを調べるには、lpstatコマンドを使用します。

Solaris

lpstat -p printername

Linux

lpstat -p printername

HP-UX

lpstat -d printername

HP Tru64

lpstat -p printername

IBM AIX

lpstat -p printername

IBM AIXでは、-pの後に空白を入れないでください。

DriverType

このプリンタで使用するプリンタ・ドライバのタイプを指定します。ドライバは、PostScript、PCLまたはASCIIです。

DriverVersion

使用するドライバ・タイプのバージョンを指定します。PostScriptプリンタの場合は1または2、PCLの場合はPCL Version 5です。

PrinterDescription

プリンタの速度や場所など、プリンタの説明を指定します。この情報は、プリンタ関連のダイアログ・ボックスに表示されます。

PrinterDescriptionFile

このプリンタで使用されるプリンタ記述ファイルを指定します。タイプに応じて次のいずれかを指定します。

- PostScriptプリンタを使用する場合は、PPDファイルの名前を指定します。PPDはPostScript Printer Descriptionの略です。指定のPPDファイルが見つからない場合は、default.ppdが使用されます。Oracle Reportsでは、次の場所で順次PPDファイルが検索されます。

- ORACLE_INSTANCE/config/FRComponent/frcommom/guicommon/tk/admin/PPD

- ORACLE_HOME/guicommon/tk/admin/PPD

- PCLプリンタを使用する場合は、HPDファイルの名前を指定します。指定のHPDファイルが見つからない場合は、ui4.hpdが使用されます。Oracle Reportsでは、次の場所でHPDファイルが検索されます。

ORACLE_HOME/guicommon/tk/admin/HPD

- ASCIIプリンタを使用する場合は、ここには何も指定しません。このフィールドは、ASCIIプリンタでは無視されます。

使用上のノート

- uiprint.txt内のエントリのフィールドはすべて指定する必要があります。また、行の終わりにはコロンを付けます。

- uiprint.txtには、1つ以上のエントリを定義する必要があります。または、関連するプリンタ変数(TK_PRINTERおよびPRINTER)を設定します。これらが指定されていない場合は、Oracle Reportsでプリンタ関連のタスクは実行できません。

関連項目:

プリンタ関連の環境変数の詳細は、第9.3.2項「環境変数」を参照してください。

内部プリンタ・ドライバは、Oracle Reportsの描画用サーフェスです。Oracle Reportsでは、このサーフェスが印刷に使用されるだけでなく、ファイルへの出力を生成する場合にも内部的に使用されます。したがって、uiprint.txtのエントリを正しく指定するか、プリンタ関連の環境変数のいずれかを設定しておく必要があります。ユーザーがプリンタを簡単に選択できるようにするために、ユーザーが利用可能なプリンタをすべてuiprint.txtに指定しておくことをお薦めします。

例:

uiprint.txtのエントリの例を2つ示します。

colprt14:PostScript:2:RMSC Atrium HPLaserJet5:default.ppd:
colprt15PCL:5:RMSC 1st Floor HPLaser4:ui4.hpd:

9.3.2 環境変数

この項では、印刷に関連する環境変数の一覧を示します。

関連項目:

Oracle Reportsで設定可能な環境変数の詳細は、付録B「環境変数」を参照してください。

- TK_PRINTER / PRINTER

- TK_PRINTER

- TK_PRINT_STATUS

- REPORTS_NO_DUMMY_PRINTER

- TK_HPDおよびORACLE_HPD

- TK_PPDおよびORACLE_PPD

- TK_TFMおよびORACLE_TFM

- TK_AFMおよびORACLE_AFM

9.3.3 印刷プロパティのダイアログ・ボックス

UNIXでは、Oracle Reports Builderの様々なダイアログ・ボックスを通してプリンタ関連の操作が行われます。

9.3.3.1 「ページ設定」ダイアログ・ボックス

「ページ設定」ダイアログ・ボックスでは、印刷されるページの外観を指定します。指定できるオプションは、使用するプリンタ・ドライバのタイプによって異なります。内部プリンタ・ドライバは、このダイアログ・ボックスで指定された情報(スケール、回転、幅、高さなど)を使用して、プリンタに出力するページのフォーマットを行います。

9.3.3.2 「ジョブの印刷」ダイアログ・ボックス

印刷ジョブの特性は、使用するプリンタ・ドライバに応じてそれぞれ異なります。「ジョブの印刷」ダイアログ・ボックスは印刷ジョブの実行直前に表示されるもので、ジョブをプリンタに送信するために必要な印刷ジョブ情報を入力できます。

9.4 プリンタ関連のファイル

この項では、様々な印刷関連のファイルについて説明します。ファイルの概要と、ファイルを一般的な印刷ニーズに合せて編集する方法を示します。

- ファイルの概要

- PPDファイル

- HPDファイル

- フォント・メトリック・ファイル

- uifont.ali

- uiprint.txt

- プリンタ関連ファイルの編集

9.4.1 ファイルの概要

表9-2は、UNIXでの印刷時にOracle Reportsで使用されるファイルの一覧です。

表9-2 プリンタ関連ファイルの概要

ファイル名/拡張子

説明

.ppd

PostScriptプリンタ定義ファイル

.hpd

HP glueファイル

.afm

Adobeフォント・メトリック・ファイル

.tfm

PCLフォント・メトリック・ファイル

uifont.ali

フォント・エイリアシング・ファイル

uiprint.txt

プリンタ構成ファイル

9.4.2 PPDファイル

PostScriptは、Adobe社が開発したページ記述プログラミング言語です。PPDファイルは、Oracle Reportsなどのアプリケーションで使用できるプリンタの機能を定義するものです。たとえば、使用可能な用紙トレイ、使用可能な用紙サイズ、用紙の物理的サイズ、使用可能なフォントなどがPPDファイルで定義されます。現時点では、Oracle Reportsによってこのファイルから読み取られる情報は、プリンタの用紙サイズ、プリンタで使用可能なフォントおよびデフォルトの解像度です。将来的には、このほかにイメージ分割を正しく行うためのメモリーなどの情報も使用することが考えられます。

PPDファイルを変更するのは、新たに追加したフォントやメモリーをOracle Reportsが認識できるようにする場合のみです。DefaultPageSizeを変更して、優先するページ・サイズを指定することもできます。

ノート:

ページ・サイズでは、PPDの他のエントリと同様に大文字と小文字が区別されます。基本的に、PPDファイルの他のエントリは変更しないでください。

「プリンタの選択」ダイアログ・ボックスで、uiprint.txtに記述されていないプリンタを選択する場合や、プリンタのタイプをPostScriptタイプに変更する場合は、そのプリンタのPPDファイルを指定するよう要求されます。使用するプリンタに最も類似度の高いプリンタのPPDファイルを選択する必要があります。PPDファイルには、一般に、プリンタのモデル名に似た名前が付けられています。

uiprint.txtでは、プリンタごとにPPDファイルを指定する必要があります。現行のプリンタに対してPPDファイルの指定が正しくない場合(PPDファイルが見つからない場合や、PPDファイルのフォーマットが不正な場合など)、そのプリンタに対してはdefault.ppdが使用されます。default.ppdは、デフォルトとなる可能性が最も高いプリンタであるローカル・プリンタの設定を反映するPPDファイルのコピーとなるように設定してください。

Oracle Reportsには、PPDファイルの一般的セットが付属していますが、場合によってはプリンタ専用のPPDファイルをベンダーから入手する必要があります。表9-3は、Oracle Reportsに付属するPPDファイルの例です。

表9-3 Oracle Reportsに付属の一般的なPPDファイル

PPDファイル名

対応するプリンタ

appl230.ppd

Apple LaserWriter v23.0

datap462.ppd

Dataproducts LZR-2665

declps32.ppd

Digital PrintServer 40

default.ppd

デフォルトのレベル1 PostScriptプリンタ

hpljet41.ppd

HP LaserJet 4/4M PostScript 600DPI

lwntx470.ppd

Apple LaserWriter II NTX

nccps801.ppd

NEC Colormate PS/80

tkphzr33.ppd

Tektronix Phaser III PXi v2011.108

l530_523.ppd

Linotronic 530

screenprinter.ppd

UNIXでプリンタが使用できない場合に使用されるデフォルトのPPDファイル

Oracle Reports付属のPPDファイル以外のPPDファイルが必要な場合は、次のいずれかを行ってください(推奨順に記載)。

- PPDファイルについてプリンタのベンダーに問い合せます。

- Adobe社のWebサイトからPPDファイルをダウンロードします。

- 既存のPPDファイルをコピーして編集します。

- Adobe社にPPDの仕様を問い合せて、PPDファイルを作成します。

PostScriptファイルに含まれているのはフォント情報のみで、フォント・メトリックは含まれていません。Oracle Reportsは、インストールされているAFMファイルを参照してフォント・メトリック情報を検索します。このAFMファイルは、フォントのベンダーから提供されます。Oracle Reportsには、最も一般的に使用されるフォントのAFMファイルが付属しています。Oracle Reportsによって生成されたPostScriptファイルが正しく印刷されるようにするには、必要なフォントがプリンタにインストールされている必要があります。

9.4.2.1 ローカルでのPPDファイルのカスタマイズ

PPDファイルは、特定のプリンタの機能を表す静的な情報です。これには、製品出荷時の初期設定が行われています。プリンタをインストールすると、増設メモリー、用紙トレイ、フォントなどがプリンタに追加されることもあります。デバイスを管理する作業は動的で、ディスクにダウンロードされたフォント、エラー・ハンドラ、RAMベースのフォントとプロシージャ・セット、デフォルト・デバイス設定などを把握している必要があります。この種のデバイス管理は、PPDファイルで対応できる範囲を超えています。ただし、一定の規則に従えば、PPDファイルに記述されている情報をカスタマイズして、プリンタの各ローカル・インスタンスに適合させる、あるいは特定のアプリケーションに適合させることも可能です。

元のPPDファイルを変更するかわりに、新しいファイルを作成して、いくつかのパラメータに関してはローカルでカスタマイズし、それ以外の情報については主ファイルを参照するという方法も考えられます。ローカルでのカスタマイズを行うファイルには、主PPDファイルへの参照を次のフォーマットで記述する必要があります。

*Include: "filename"

ここで、filenameは主PPDファイルの名前です。このように参照していれば、後で主PPDファイルの置換が行われても、ローカルのカスタマイズ・ファイルを編集する必要はありません。*Includeキーワードで参照されるファイルは、参照元ファイル(ローカルのカスタマイズ・ファイル)内にあるものとして扱われます。

たとえば、default.ppdファイルが次のように定義されているとします。

*PPD-Adobe: "4.0"
*Include: "datap462.ppd"

*% Page definitions
*DefaultPageSize: Letter
…………………………
*DefaultPageRegion: Letter

主PPDファイルはdatap462.ppdです。

管理者はインクルードするファイルの名前は、サイトのデフォルト・プリンタのタイプに合せて変更する必要があります。

ローカルのカスタマイズ・ファイルで主PPDファイルをインクルードする場合、最終的なファイル内で同じキーワードのインスタンスが複数存在することもありえます。したがって、カスタマイズ・ファイルでの主ファイルの位置(先頭または末尾)は重要で、カスタマイズ・ファイルによる変更に影響します。

9.4.3 HPDファイル

HPDファイルはPCLプリンタの機能を定義するもので、その役割はPostScriptプリンタに対するPPDファイルに似ています。HPDまたはHP glueファイルには、特定のPCLプリンタで利用可能なフォントの情報が含まれます。HPDファイルのフォーマットは、HP社の『PCL5 Developer's Guide』を参照してください。

PostScriptの場合にAFMファイルを使用するのと同様に、HPフォントにはそれぞれ対応するTFMファイルが必要です。TFMファイルはフォント・ベンダーから提供されており、TFMファイルをインストールすると、新しく追加されたフォントがプリンタのHPDファイルへ追加されます。新しいフォントについては、HPDファイルで次のフィールドを指定します。

FONT={fontname}
/tfm={tfm-filename}

説明:

fontnameは、フォントの名前です。

tfm-filenameは、TFMファイルのベース・ファイル名です。

TFMファイルのみでは指定が不十分な場合は、FONTフィールドの後に次のように指定することもできます。

/ptsize={size {size ...}}

指定したフォントがビットマップ・フォントであるにもかかわらず、TFMにスケーラブル・フォントとして指定されている場合は、使用可能なサイズを次のように指定することによって、ポイント・サイズを制限することができます。

/symset={symset {symset ...}}

これにより、指定したシンボル・セットのみがサポートされます。認識されるシンボル・セットの一覧は、HP社のPCLに関するドキュメントを参照してください。

Oracle Reportsでは、PCLフォーマットで印刷する場合にdefaultpaperフィールドも指定できます。このフィールドに設定したdefaultpaperは、ツールキットによって使用されます。このフィールドのフォーマットは次のとおりです。

<defaultpaper={papername}>

たとえば、次のように指定した場合は用紙名がA4に設定されます。

<defaultpaper=A4>

用紙名では、大文字と小文字は区別されません。defaultpaperを2回以上指定した場合は、最後のdefaultpaperが使用されます。プリンタで使用できない用紙名を指定した場合、defaultpaperは無視され、かわりにLETTERが用紙名として使用されます。同様に、用紙名が正しくない場合もLETTERが使用されます。

9.4.4 フォント・メトリック・ファイル

Oracle Reportsでは、次の2種類のフォント・メトリック・ファイルがサポートされています。

- AFMファイル

- TFMファイル

9.4.4.1 AFMファイル

AFMファイルには、それぞれ単一のフォントに対するフォント関連のメトリックが格納されています。このメトリックには、スタイル、太さ、幅、文字セットなどの様々なフォント属性が含まれています。AFMファイルおよびAFMファイル形式の説明は、一般に、フォントまたはプリンタのベンダーから入手できます。

AFMファイルをインストールするには、AFMファイルの場所にファイルをコピーします。この場所の一覧は、第9.2.2項「Oracle Reportsで使用するプリンタの設定の確認」に記載されています。ファイル名は、.afm拡張子を付けずに、フォントの名前に一致している必要があります。たとえば、フォント名がCodedreineunBoldの場合、ファイル名はCodedreineunBoldとする必要があります。

フォント名を確認するには、AFMファイル内でfontnameという文字列を検索します。AFMファイルはフォント・ファイルではなくメトリック・ファイルであることに注意してください。このファイルは、プリンタ用に文字を正しくフォーマットするための情報を伝えるものです。フォントのAFMファイルは存在するが、そのフォントがプリンタ上にない場合、フォント・メトリックが不一致になるため、Oracle Reportsでは適切な出力を生成できません。レポートの設計に使用したフォントがプリンタでも使用可能であることを確認する必要があります。

9.4.4.2 TFMファイル

PCLでは、HPDファイルおよびTFMファイルが使用されます。HPDファイルには、プリンタで使用できるフォントのリストが含まれます。フォントはそれぞれのTFMファイルを参照します。TFMファイルの役割はAdobeのAFMファイルと同じで、個々のファイルには単一のフォントに関する情報が列記されています。HPDファイルは編集可能なASCIIファイルですが、TFMファイルはバイナリ・ファイルであるため編集できません。

Oracle Reportsで使用する新しいフォントがPCL出力で正しく表示されるようにするには、プリンタ用のHPDファイルとTFMファイルを用意する必要があります。既存のHPDファイルをコピーして新たに作成することができますが、使用するプリンタに適したものであることを確認したうえで行ってください。HPDファイルには、プリンタで使用できるフォントを指定する必要があります。

Oracle Reportsには、TFMファイルの一般的セットが付属しています。別のフォント・メトリック・ファイルをプリンタで使用する場合は、フォントまたはプリンタのベンダーから入手してください。TFMファイルをインストールするには、TFMファイルの場所にファイルをコピーします。この場所の一覧は、第9.2.2項「Oracle Reportsで使用するプリンタの設定の確認」に記載されています。

9.4.5 uifont.ali

uifont.aliファイルは、Oracle Reportsによって使用されるフォント・エイリアスを定義します。特定のフォントが使用できない場合にどのフォントで置き換えるかを定義できるため、これはクロス・プラットフォーム開発に非常に便利なツールです。uifont.aliは次の場所にあります。

Windowsの場合: ORACLE_INSTANCE\config\FRComponent\frcommon\tools\common

UNIXの場合: ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

フォントのエイリアスを指定するには、次の構文を使用します。

source_font = destination_font

各フォントの次の属性も指定できます。

face.size.style.weight.width.character_set

複数のスタイルを組み合せることもできます。その場合は、プラス記号(+)を使用してスタイルを区切ります。例:

Arial.Italic+Overstrike = Helvetica.12.Italic.Bold

このエントリは、イタリック(Italic)と打消し線(Overstrike)の両方のスタイルが指定されているArialフォントが、12ポイント、太字(Bold)、イタリック(Italic)のHelveticaフォントにマップされることを表します。プラットフォームおよびサーフェス(プリンタまたはシステム)によっては、フォント・フェースの大文字と小文字が区別されることがあります。

関連項目:

フォント関連の詳細は、第8章「Oracle Reportsでのフォントの管理」を参照してください。

9.4.6 uiprint.txt

uiprint.txtを利用すると、プリンタ・キューに関する詳細情報、たとえばプリンタ・ドライバのタイプやプリンタの説明などを簡単に定義できます。uiprint.txtは、Oracle Reportsのインスタンスごとに編集してください。

関連項目:

uiprint.txtの詳細は、第9.3.1項「uiprint.txtファイルの編集」を参照してください。

9.4.7 プリンタ関連ファイルの編集

次の各項では、様々なプリンタ関連のファイルを編集する方法を説明します。

- PPDファイルの編集

- PCL印刷を行うためのHPDファイルの編集

9.4.7.1 PPDファイルの編集

場合によっては、PPDファイルに記述されている属性を変更する必要があります。次の各項では、一般に変更が必要となるいくつかの属性について説明します。

- デフォルトの用紙サイズの変更

- プリンタのマージン設定の変更

- PPDファイルへの新規フォント・エントリの追加

- プリンタ・トレイ設定のオーバーライド

9.4.7.1.1 デフォルトの用紙サイズの変更

一部のレポートで、用紙サイズをA4にしなければならないとします。UNIXプラットフォームでは、プリンタ・ドライバはuiprint.txtで指定されており、デフォルトの用紙サイズがA4に設定されているとは限りません。たとえば、hpljet41.ppdではデフォルトの用紙サイズはLETTERです。各プリンタ・キューのデフォルト用紙サイズ設定は、対応するPPDファイルから取得されることに注意してください。

A4をデフォルトの用紙サイズとして設定する手順は次のとおりです。

1. uiprint.txtを編集し、ページ・サイズとしてA4をサポートしているPostScriptプリンタ定義ファイル(拡張子は.ppd)をインクルードします。たとえば、hpljet41.ppdをインクルードします。

2. バックアップとして、hpljet41.ppdをコピーします。

3. 次のように、uiprint.txtにエントリを追加します。

Printer_name: PostScript:1: the printer on floor1:hpljet41.ppd

4. hpljet41.ppdを編集し、次のように設定を変更します。

DefaultPageSize: A4
DefaultPageRegion: A4
DefaultImageableArea: A4
DefaultPaperDimension: A4

9.4.7.1.2 プリンタのマージン設定の変更

マージンを変更するには、PPDファイルのImageableAreaセクションを変更する必要があります。ImageableAreaでは、指定されたページ・サイズに対してプリンタで印字可能な領域を示す境界を設定します。以後、この指定されたページ・サイズの名前をmediaOptionとします。デバイスでサポートされている名前付きページ・サイズごとに1つの文を記述します。*DefaultImageableAreaには、デフォルトの印字可能領域のmediaOption名があります。デフォルトのページ・サイズとして指定できるのは1つのみです。したがって、この値は*DefaultPageSize、*DefaultPageRegionおよび*DefaultPaperDimensionと同じです。

印字可能領域の定義の構文は次のとおりです。

*ImageableArea mediaOption: "llx lly urx ury "
*DefaultImageableArea: mediaOption | Unknown

llはlower left(左下)の略、urはupper right(右上)の略です。*ImageableAreaの枠ボックスの値は、4つの実数として指定します。これらの数値は、PostScript言語のデフォルトのユーザー空間座標系における、領域の左下角と右上角のx座標およびy座標です。指定ページ・サイズのx軸およびy軸は、*PaperDimensionエントリでのそのページ・サイズのx軸およびy軸に対応しています。

印字可能領域は、プリンタでの印刷が実際に可能なページ内の部分として定義します。ページ・サイズが同じでも、プリンタによって印字可能領域が異なることがあります。これには、現行の解像度、メモリーの大きさ、印刷の向きなどの要素が影響するためです。PPDファイルで、あるページ・サイズに対する印字可能領域の大きさが複数設定されている場合、記録される印字可能領域の大きさは、そのページ・サイズに対して考えられるすべての印字可能領域の和部分となります。この方式により、印字可能領域がPPDファイルに記述されているものより小さくなることはなく、印字可能領域内に出力されたものはすべて目視できるようになります。したがって、現行の構成での印字可能領域が、実際にはPPDファイルに記述されている印字可能領域よりも大きいということもありえます。

次の表は、デバイスでの特定のページ・サイズを表すために、mediaOptionで指定可能なオプションのキーワードです。

表9-4 mediaOptionのキーワード

mediaOption(用紙サイズ)

サイズ(ポイント)

サイズ(mm)

サイズ(インチ)

Letter

612 * 792

215.9 * 279.4

8.5 * 11

Legal

612 * 1008

215.9 * 355.6

8.5 * 14

Ledger

1224 * 792

431.8 * 279.4

17 * 11

Tabloid

792 * 1224

279.4 * 431.8

11 * 17

A3

842 * 1191

297 * 420

11.69 * 16.54

A4

595 * 842

210 * 297

8.27 * 11.69

A5

420 * 595

148 * 210

5.83 * 8.27

B4

729 * 1032

257 * 364

10.12 * 14.33

B5

516 * 729

182 * 257

7.17 * 10.12

例

default.ppdでA4ページのマージンを変更するステップは次のとおりです。

1. 次の各セクションで、デフォルト・ページをLetterからA4に変更します。

*% Page definitions
*DefaultPageSize: A4
*PageSize A4: " "

*% These entries set up the frame buffer. Usually used with manual feed.
*DefaultPageRegion: A4
*PageRegion A4: "A4"

*% These provide the physical dimensions of the paper (by keyword)
*DefaultPaperDimension: A4
*PaperDimension A4: "595 842"

2. 次のセクションに、マージン定義を追加します。

*% Imageable (writable) areas for each page size, in pixels
*DefaultImageableArea: A4
*ImageableArea A4: "2 2 593 840 "

ノート:

PPDのエントリは、すべて大文字と小文字が区別されます。

9.4.7.1.3 PPDファイルへの新規フォント・エントリの追加

PostScriptプリンタでは、Oracle Reportsで使用できるフォントはそのプリンタで使用可能であることが判明しているもののみです。マルチプロセスのオペレーティング・システムにおいて、個人のリクエストに応じてプリンタを使用できることは珍しいため、Oracle ReportsではすべてのフォントのリストがPPDファイルから取得されます。

プリンタに新しいフォントがインストールされたときは、対応するフォント・エントリをプリンタのPPDファイルに追加する必要があります。フォント・エントリのフォーマットは次のとおりです。

*Font {fontname}: {encoding} "({version})" {charset}

説明:

{fontname}は、PostScriptで定義されているAdobeフォント・フェース名です。

{encoding}はPostScriptエンコード名です。

{version}はFontInfoのバージョン番号です。

{charset}はAdobe文字セットです。

encodingの値の意味は、フォント・タイプによってわずかに異なります。エンコードを判定できない場合、エンコードの値はunknownに設定されます。各フォントのcharsetの値はそのフォントで可能なエンコードの種類を示しており、それに従って通常はアプリケーションによってフォントの再エンコードが行われます。詳細は、Adobe社から発表されているPPDの仕様を参照してください。

新しいフォントをプリンタに追加する際、対応するAFMファイルもフォント・メトリック・ディレクトリに追加する必要があります。実際のフォント属性を取得して、印刷ページ上に正しくテキストを配置するためには、Oracle ReportsではAFMファイルが必要になります。

例

新しいフォントCodedreineunBoldを追加したとします。PPDファイルを編集して、このフォントを追加する必要があります。

1. PPDファイル内で、次の文字列を検索します。

*% Font Information

2. 新しいフォントに対する次のエントリを、パラグラフの最後に追加します。

*Font CodedreineunBold: Standard "(00.1001)" Standard ROM

9.4.7.1.4 プリンタ・トレイ設定のオーバーライド

Oracle Reportsによって生成されるPostScript出力には、トレイ情報が埋め込まれています。PPDファイルにはデフォルト・トレイの定義があり、その後にプリンタで使用可能なトレイが定義されています。別のトレイに印刷するには、PPDファイルのDefaultInputSlotエントリを更新します。

PPDファイルで、デフォルトのトレイと有効な入力スロットが定義されているセクションを検索します。そのセクションは、通常は次のような行で始まっています。

*OpenUI *InputSlot:   <PickOne>

デフォルト・トレイのエントリは、次のように定義されています。

*DefaultInputSlot: Lower

スロットの定義は、通常はデフォルト・トレイのエントリの後にあり、次のように指定されています。

*InputSlot Upper/Multipurpose Tray: "
...
*InputSlot Lower/Paper Cassette: "

このセクションは、次のような行で終了します。

*CloseUI: *InputSlot

DefaultInputSlotは、定義済スロットのリストの値のいずれかに設定できます。

9.4.7.2 PCL印刷を行うためのHPDファイルの編集

場合によっては、HPDファイルに記述されている属性を変更する必要があります。次の各項では、一般に変更が必要となるいくつかの属性について説明します。

- 用紙サイズの変更

- 新規フォント・エントリの追加

9.4.7.2.1 用紙サイズの変更

たとえば、用紙サイズをA4に変更するには、次の行を使用するHPDファイルに追加します。

<defaultpaper=A4>

9.4.7.2.2 新規フォント・エントリの追加

PostScriptの場合にAFMファイルを使用するのと同様に、Oracle ReportsでHPフォントを使用するには、各フォントに対応するTFMファイルが必要です。TFMファイルは、フォントのベンダーから提供されます。新しいフォントをインストールしたときは、そのフォントをHPDファイルに追加します。

新しいフォントについては、HPDファイルで次の設定を指定します。

FONT={fontname}        # {fontname} is a descriptive name for the font
/tfm={tfm-filename}    # {tfm-filename} is the base filename for TFM file

ノート:

HPDファイル内のフォント名のエントリは一意にする必要があります。

9.5 CUPSによって強化されたLinux印刷

Common UNIX Printing System (CUPS)は、多くのLinuxディストリビューションにおけるデフォルト印刷システムです。この項では、Reports Serverから印刷するためにCUPSを設定する方法を説明します。

CUPS印刷は、デフォルトで無効になっています。CUPS印刷を有効にするには、環境変数REPORTS_CUPS_PRINTINGをYESに設定します。詳細は、付録B「REPORTS_CUPS_PRINTING」を参照してください。

CUPSにおける最大の長所は、標準的でモジュール化された印刷システムにあり、印刷システムでは印刷サーバー上で様々なデータ形式を処理できる点があります。また、Internet Printing Protocol (IPP)にも対応している点があります。この機能により、Reports ServerからPDFファイルを直接印刷できます。また、ネットワーク経由の印刷も簡単になります。

図9-3は、Oracle ReportsとCUPSとの間における対話的処理を示します。

図9-3 Oracle ReportsとCUPSサーバーとの間における対話的処理

この構成では、Reports Serverが実行しているすべてのマシンで実行しているすべてのCUPSで、プリンタを構成する必要があります。

CUPSを構成するには、テキスト・ファイルをいくつか使用します。構成関連情報の詳細は、『CUPS Software Administrators Manual』(http://www.cups.org/doc-1.1/sam.html#CONTENTS)を参照してください。

デフォルトでは、他のネットワーク・マシンからCUPSへのアクセスは許可されていません。リモート・マシンからのアクセスを許可するようにCUPSを構成するステップは、次のとおりです。

1. 次のコマンドを入力して、CUPS構成ファイルを開きます。

open /etc/cups/cupsd.conf

2. 次の手順を実行してListen命令を追加します。

1. 構成ファイルを下方にスクロールして、他のListen命令が宣言されている行まで移動します。

2. Listen 127.0.0.1:631をコピーし、その上または下の行に貼り付けます。

3. 127.0.0.1をLinuxサーバーのIPアドレスに置き換えます。

3. 次の手順を実行して各プリンタを構成します。

1. 構成ファイルで次の行を探します。

<Location /printers/your_printer_queue>

2. Deny From All命令をコメント化します。

3. Allow from 127.0.0.1をAllow from Allに変更します。

4. アクセスを可能にするすべてのプリンタ・キューまたはFAXキューについてこの手順を繰り返します。

4. 構成ファイルを保存してCUPSを再起動します。

- CUPSを停止するには、次のコマンドを入力します。

/etc/rc.d/init.d/cups stop

- CUPSを起動するには、次のコマンドを入力します。

/etc/rc.d/init.d/cups start

Red Hat Advanced Serverには、プリンタの設定を支援するための構成ウィザードがあります。構成ウィザードを使用してこのタスクを実行するステップは、次のとおりです。

1. rootユーザーとしてログオンし、コマンド・プロンプトを開いて次のように入力します。

redhat-config-printer

「Printer configuration」ウィンドウが表示されます。

2. 「New」タブを選択し、Add a new print queueウィザードを起動します。

3. ウィザードのプロンプトに従って、次の操作を実行します。

- キュー名を入力します。

- キュー・タイプを選択します。

- プリンタ・モデルを選択します。

4. 選択内容を確認して「Apply」をクリックし、新規印刷キューを作成します。

5. CUPSでプリンタをテストする手順は、次のとおりです。

- RedHatでブラウザを起動し、URLとしてhttp://localhost:631を入力します。

- 「Printers」タブを選択します。作成したプリンタが一覧表示されます。

- 「Print Test Page」をクリックし、プリンタの設定をテストします。テスト・ページが印刷されない場合は、構成ステップを繰り返します。プリンタ・タイプとモデルが正しく選択されていることを確認してください。

ノート:

lpadminを使用して、コマンドラインからプリンタの追加もできます。このコマンドの詳細は、Linuxのmanページを参照してください。

9.5.1 1台の印刷用サーバーの設定

デフォルトのCUPS構成では、印刷サーバーとしてlocalhostが使用されます。CUPSでリモート・サーバーが使用されるようにするには、/etc/cups/client.confファイルでサーバー名を変更する必要があります。

図9-4では、1台のCUPSサーバーにプリンタが追加され、Reports Serverが実行している他のすべてのマシンで印刷リクエストがリモートCUPSサーバーにルーティングされる構成を示しています。

図9-4 印刷リクエストが1台のリモートCUPSサーバーにルーティングされる構成

他の様々な印刷モデルの詳細は、『CUPS Software Administrators Manual』(http://www.cups.org/doc-1.1/sam.html#CONTENTS)を参照してください。

ノート:

Oracle ReportsでプリンタをCUPSサーバーに追加すると、プリンタ名が割り当てられます。プリンタを参照する際はプリンタ名を使用する必要があります。構成で使用されるデバイスURIに応じて、内部で適切なコールにプリンタ名が変換されます。

9.6 グローバリゼーション・サポート

この項では、Oracle Reportsにおけるマルチバイト文字セットの印刷のサポートについて説明します。Oracle Applicationsとともにインストールして使用する場合にのみOracle ReportsでサポートされるIXユーティリティとPASTAユーティリティについても説明します。

- マルチバイト文字セットの印刷

- IXおよびPASTAの概要

9.6.1 マルチバイト文字セットの印刷

Oracle Reportsでは現時点で、PostScript出力においてUnicode文字セットをサポートしていません。そのかわりに、Oracle Reportsのマルチバイト文字セットをサポートするPDF出力(desformat=pdf)を使用すると印刷ができます。

Oracle Reportsでは、マルチバイト文字セットのAFMファイルに対応する一連のコード体系をサポートしています。

関連項目:

フォント関連の詳細は、第8章「Oracle Reportsでのフォントの管理」および第10章「Oracle ReportsでのPDFの使用」を参照してください。

PostScriptレポート出力を印刷するプリンタに、フォントをインストールしておく必要があります。

例

中国語の文字セットが含まれるPostScript出力を生成するレポートを作成しているとします。まず、マルチバイト文字セットのコード体系に準拠したAFMファイルとPPDファイルを用意します。出力先のプリンタにも中国語フォントがインストールされている必要があります。これは、UNIX上でOracle Reportsによって生成されるPostScriptファイルにはフォントが埋め込まれないためです。PostScriptファイルには、フォント名と、AFMファイルから取得したフォント・メトリックのみ含まれています。レポートの送信先であるプリンタに中国語フォントがインストールされていない場合、中国語の文字は正しく印刷されません。

9.6.2 IXおよびPASTAの概要

Oracle Applicationsとともにインストールして使用する場合、PostScript出力にフォントを埋め込むためのユーティリティがOracle Reportsで用意されています。

キャラクタ・モードのレポートでは、PASTAというユーティリティを使用します。ビットマップ・レポートの場合は、ユーティリティIXを利用すると、PostScript出力にフォントを埋め込むことにより、そのフォントがプリンタにインストールされていなくても印刷できるようになります。PASTAとIXはいずれも、Oracle ReportsをOracle Applicationsとともに使用する場合にのみサポートされます。

キャラクタ・モード・レポートに対してPASTAを使用する場合は、タグ付きキャラクタ・モード出力(適切なprtファイルを介して生成)をPostScript形式に変換したものが生成されます。IXにより、すべての文字セット(UTF8など)のPostScriptビットマップ・レポートをOracle ReportsでPostScriptプリンタに印刷できます。この機能によって、Unicodeだけでなく、UNIXでサポートされているすべての言語でのPostScriptによる印刷が可能になります。IXライブラリは、デフォルトではOracle Reportsパッチによってオフに設定されています。

Oracle ReportsでIXやPASTAを使用するときの設定方法と使用方法の詳細は、Oracle Applicationsシステム管理者ガイドを参照してください。この情報は、My Oracle Support(http://support.oracle.com)からも入手できます(パッチID 189708.1およびパッチID 159225)。

PASTAに関する問題がある場合は、次の方法で問題を特定してください。

1. PASTA環境変数の設定を解除します。

2. 問題を引き起こしたステップを再度実行してみます。

3. 環境変数が設定されていない状態で問題が再現する場合、Oracle Reportsにおける通常印刷の問題として、このドキュメントで説明している診断ステップに従ってください。
PASTA環境変数が設定されている場合にのみ問題が再現する場合、Oracle Applicationsのドキュメントに記載されている診断手順に従ってください。

9.7 デバッグ・オプション

この項では、UNIXでの印刷問題に対してデバッグを行うためにOracle Reportsで使用できる各種環境変数および方法について説明します。

- DEBUG_SLFIND

- TK_DEBUG_POSTSCRIPT

9.7.1 DEBUG_SLFIND

この環境変数が設定されている場合、Oracle Reportsで検索されたファイルとその場所の一覧がファイル検索ルーチンによって出力されます。現行の構成が正しく機能しない場合は、この情報が非常に役立ちます。出力先には、ファイル、stdout(標準出力)またはstderr(標準エラーへの出力)を選択できます。出力先として指定したファイルへの書込みができない場合は、かわりにstderrが使用されます。

処理速度および出力の大きさの理由から、出力先はファイルとすることをお薦めします。DEBUG_SLFINDの出力の例を次に示します。生成されるデバッグ情報によって、設定に関する様々な問題、たとえば参照されているPPDファイルやAFMファイルの名前とその場所などを特定できます。

この出力には、次の内容がすべて含まれています。

- TK_PPDやTK_AFMなどの各種環境変数とその値

- PPDやAFMなどのリソース・ファイルとその場所(これらのファイルが不足しているかどうかの判断に利用できます)

- ORACLE_HOME以下の各種リソース・ファイルのデフォルトの場所

slsfindfile(): checking environment variable TK_PPD(8).
slsfindfile(): environment variable not set
slsfindfile(): checking environment variable ORACLE_PPD(10).
slsfindfile(): environment variable not set
slfpath(): looking up path
/oraclehome/guicommon/tk/admin/PPD/
slfexist(): testing /oraclehome/guicommon/tk/admin/PPD
slfexist(): testing /oraclehome/guicommon/tk/admin/PPD/default.ppd
slsfindfile():returned
/oraclehome/guicommon/tk/admin/PPD/default.ppd
slfindfile(): type = 39 (AFM)slfindfile(): name = Courier-Bold
slsfindfile(): checking environment variable TK_AFM(8).
slsfindfile(): environment variable not set
slsfindfile(): checking environment variable ORACLE_AFM(10).
slsfindfile(): checking ORACLE_HOME environment variable.
slsfindfile(): environment variable set to /oraclehome (len=18)
slfpath(): looking up path/oraclehome/guicommon/tk/admin/AFM/
slfexist(): testing /oraclehome/guicommon/tk/admin/AFM
slfexist(): testing /oraclehome/guicommon/tk/admin/AFM/Courier-Bold
slsfindfile():returned /oraclehome/guicommon/tk/admin/AFM/Courier-Bold
slfindfile(): name = uiprint.txt
slsfindfile(): checking ORACLE_HOME environment variable.
slfpath(): looking up path/oraclehome/guicommon/tk/admin/
slfexist(): testing /oraclehome/guicommon/tk/admin
slfexist(): testing /oraclehome/guicommon/tk/admin/uiprint.txt
slsfindfile(): returned /oraclehome/guicommon/tk/admin/uiprint.txt

9.7.2 TK_DEBUG_POSTSCRIPT

この環境変数は、Oracle Reportsによって生成されるPostScript出力に影響します。表9-5は、この変数の設定に関する説明が記載されています。

表9-5 TK_DEBUG_POSTSCRIPTの設定

設定

説明

Functions (Func)

Functionsを指定すると、コールされる個々のツールキット関数がPostScript出力のコメントとして出力されます。

Long (L)

Longを指定すると、理解しやすいPostScript出力が生成されますが、通常のPostScript生成よりも時間がかかります。

Memory (Mem)

Memoryを指定すると、各ページの下部にメモリー使用率が表示されます。

これらのオプションはいずれも、環境変数内で指定するときに1文字に短縮できます。またこれらのオプションは、"/"で区切って自由に組み合せることができます。この環境変数では、大文字と小文字は区別されません。たとえば、すべてのオプションを使用するには、Func/L/Memのように指定します。

ノート:

この環境変数を使用したPostScript出力は、自身でのデバッグを目的としてのみ使用してください。この出力を、調査を目的としてOracleサポートに提出する必要はありません。

9.8 UNIXでのDISPLAYおよびプリンタ依存性の解消

UNIXの場合、Oracle Reports 10g (9.0.4)よりも前のリリースでは、イメージの作成やピクセル解像度の取得のためにウィンドウ表示システムの表示面を使用するには、DISPLAY環境変数の設定が必要でした。Oracle Reports 10gでは、この依存関係は解消されています。

また、以前のリリースでは、フォントについてUNIX上で有効なプリンタが必要でした。有効なプリンタが利用できない場合、Oracle Reports Servicesではスクリーン・フォントが使用され、その際にもDISPLAY環境変数の設定が必要でした。今回のリリースでは、Oracle Reports Servicesにデフォルトの画面プリンタ・サーフェス(ScreenPrinter)が組み込まれています。プリンタが使用できない場合に、このサーフェスにより画面またはプリンタをエミュレートしてフォントを入手します。したがって、Oracle Reports ServicesではUNIX上にプリンタが存在している必要がなくなりました。

デフォルトでは、REPORTS_DEFAULT_DISPLAY環境変数はYESに設定されています。この指定によってOracle Reports Servicesは次のように設定されます。

- DISPLAY環境変数への依存性の解消(UNIXのみ)

- イメージの画面解像度とフォント情報のためのScreenPrinterの使用(UNIXのみ)

- 拡張イメージングのサポートの有効化(すべてのプラットフォーム)

10g (9.0.4)よりも前のリリースのように、DISPLAY環境変数の依存性に戻すには、REPORTS_DEFAULT_DISPLAY=NOを設定できます。

関連項目:

第B.1.42項「REPORTS_DEFAULT_DISPLAY」

9.8.1 ScreenPrinter

PostScriptプリンタ・ドライバscreenprinter.ppdは、イメージの画面解像度を実現し、フォント情報を指定します。このドライバは、uiscreenprint.txtの1番目のエントリです。このファイルは次の場所にあります(UNIXのみ)。

uiscreenprint.txt : ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin
screenprinter.ppd : ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/PPD

ノート:

Oracle Reports 11gリリース2 (11.1.2)からは、screenprinter.ppdを構成する際に、Oracle Enterprise Managerのみを使用する必要があります。Oracle Enterprise Managerによって構成設定を更新する方法の詳細は、第6章「Oracle Enterprise ManagerによるOracle Reports Servicesの管理」の第6.9.1項「フォントの構成」を参照してください。

ScreenPrinterは次の目的で使用されます。

- REPORTS_DEFAULT_DISPLAY=YESのときの画面解像度

- プリンタ依存性の解消

レポート出力の生成時に使用できる有効なプリンタ・キューがない場合(TK_PRINTER、ORACLE_PRINTER、PRINTERまたはuiprint.txtで見つからない場合)は、screenprinter.ppdに基づく画面が作成され、それを使用してフォント情報が取得されます。新しいフォントを追加するには、screenprinter.ppdのFontsセクションを変更します。解像度を変更するには、DefaultResolutionフィールドを変更します(DefaultResolutionは96です)。

ノート:

新しいフォントを追加する場合は、新しいAFMメトリック・ファイルがAFMディレクトリにあることを確認します。

UNIXのフォント検索アルゴリズムは次のとおりです。

if a valid printer available then
look up font information from the printer
else
create a screenPrinter surface
look up font information from ScreenPrinter
if ScreenPrinter creation fails then
REP-1800 : Formatter Error if REPORTS_DEFAULT_DISPLAY is set
else
use Screen Fonts

ノート:

中国語など、いくつかのマルチバイト言語では、スクリーン・フォントを使用する場合があります。ただし、この場合、レポートを実行するためのDISPLAY変数の設定が必要です。

DISPLAYに戻し、スクリーン・フォント(従来のフォント検索アルゴリズム)を使用するには:

- REPORTS_DEFAULT_DISPLAY=NOを設定します

- uiscreenprint.txtファイルのscreenprinter.ppdエントリを削除します。

関連項目:

- 第8章「Oracle Reportsでのフォントの管理」

9.8.2 拡張イメージングのサポート

画質は、レポート(特にWebレポート)の外観全体に大きな影響を与えます。業務の必要性に応じて、レポート出力で様々なイメージ形式が必要になる場合があります。たとえば、航空会社のWebレポートでは、GIFイメージより高画質なJPEGイメージやPNGイメージが適している場合があります。一方、Webポータルを構築する場合は、より小さいサイズでダウンロードが高速なGIFイメージが適している場合もあります。同様に、このような様々な形式のイメージをユーザーのレポートにインポートする場合もあります。

出力の形式によって、様々な形式のイメージを選択することができます。

表9-6 出力タイプ別のイメージ形式オプション

レポート出力

選択可能なイメージ形式

HTML、HTMLCSS

PNG、JPEG、JPG、GIF

PDF

PNG、JPEG、JPG、GIF

RTF

PNG、JPEG、JPG、BMP

ノート:

イメージ形式の選択では、画質とサイズを考慮する必要があります。通常は、イメージ形式の画質が高いほど、サイズが大きくなります。たとえば、PNGやJPEGはGIFより高画質ですが、より多くの記憶領域を必要とします。

拡張イメージングを有効にするには、REPORTS_DEFAULT_DISPLAY環境変数をYESに設定します。REPORTS_OUTPUTIMAGEFORMAT環境変数で、デフォルトのイメージ・タイプを選択できます。OUTPUTIMAGEFORMATコマンドライン・キーワードを使用すると、イメージに関するデフォルトの選択を無効にできます。例:

rwclient server=my_rep_server report=images.rdf destype=file desformat=html
desname=images.html userid=scott/tiger outputimageformat=PNG

拡張イメージングを有効にすると、これらの同じ形式のイメージをレポートにインポートすることもできます。

使用上のノート

- UNIXのみ: 拡張イメージングを有効にすることによって、HTMLやHTMLCSS出力で従来のComputer Graphics Metafile (CGM)形式やOracle Graphics Data (OGD)形式が使用できなくなります。これらの形式を入力ソースに使用する必要がある場合は、REPORTS_DEFAULT_DISPLAY=NOに設定する必要があります。この制限は、Windowsプラットフォームには適用されません。

- JPEGイメージ付きのレポート(REPORTS_OUTPUTIMAGEFORMAT=JPEG)をRTF出力に対して実行すると、イメージのサイズとは直接比例することなく、RTFファイルのサイズが増加します。その理由は、バイナリ・イメージ・ストリームが最初にHEXキャラクタに変換されてからRTFに書き込まれるからです。この変換によってファイルのサイズは増加します。これは、RTF仕様に沿ったものであり、予測される動作です。ただし、JPEG付きのRTFファイルは、BMPイメージ付きのRTFファイルよりもサイズが小さくなります。

関連項目:

- 第A.7.3項「OUTPUTIMAGEFORMAT」

- 第B.1.42項「REPORTS_DEFAULT_DISPLAY」

- 第B.1.59項「REPORTS_OUTPUTIMAGEFORMAT」

9.9 よくある質問

この項では、UNIXでの印刷時に発生する一般的な問題について説明します。

- 一般的な印刷エラー・メッセージ

- PCLの印刷の問題

- PostScriptの印刷の問題

- フォントに関連する印刷の問題

- 印刷された出力の問題

ノート:

Reports Serverでは、印刷ジョブの送信にrwlprが使用されます。Windowsのrwlprロギングでは、traceModule=allまたはtraceModule=serverを使用してReports Serverのトレースを有効にすると、destype=printerに対する印刷診断ログ(server_name-rwlpr-jobid.log)がログ・ディレクトリ($ORACLE_INSTANCE/diagnostics/logs/ReportsServerComponent/<reports server name>)に作成されます。このログ・ファイルには、スプーラの問題などの、印刷時の問題の診断に役立つメッセージに関する情報が記録されます。

9.9.1 一般的な印刷エラー・メッセージ

REP-00177 - リモート・サーバーで実行中にエラーが発生しました

REP-01800 - フォーマット・エラーが発生しました

REP-03300 - 回復不能エラー

UI-9 - このファンクション呼出しはコンテキストに合いません。

REP-3002: プリンタの初期化中に内部エラーが発生しました

原因:

これらのエラーは一般に、プリンタ構成の問題を示しています。

処置:

設定のオペレーティング・システム・レベルで定義されているプリンタ・キューを調べてください。次のコマンドを使用します。

- lpc status

- lpstat -a

有効なプリンタ・キューがインストールされている場合は、次の項目を調べてください。

- uiprint.txtに、プリンタの有効なエントリが必要です。

- Oracle Reportsではuiprint.txtファイルを開いて読み取ることができる必要があります。
レポートを実行するユーザーには、uiprint.txtに対してオペレーティング・システム・レベルの読取り権限が必要です。Oracle Reportsではuiprint.txtを開くことができる必要があります。UNIXオペレーティング・システムでは、ファイルを開く操作に関する制限があります。この制限を超えている場合は、Oracle Reportsでuiprint.txtを開くことはできません。

- uiprint.txtで指定されているプリンタ記述ファイルが、次の場所に存在している必要があります。

ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

- uiprint.txtで指定されているプリンタが、オペレーティング・システム・レベルで使用可能に設定されている必要があります。これを簡単に調べるには、コマンドラインでlpまたはlprを使用して任意のファイルを印刷します。これらのコマンドを使用して印刷することができ、プリンタに結果が出力される場合、そのプリンタは使用可能です。

- プリンタ・キューおよびuiprint.txtのエントリの構文が有効である必要があります。
プリンタの確認に失敗した場合は、付録B「環境変数」で環境変数のTK_PRINT_STATUSおよびREPORTS_NO_DUMMY_PRINTERの説明を参照してください。

REP-00826 - プリンタ・ドライバ - xxx(パラメータ - desformatで指定)は無効です。

REP-00177 - リモート・サーバーで実行中にエラーが発生しました(CGIを介して実行した場合)

原因:

DESFORMATの値が、指定のレポート実行モードに対して正しく指定されていません。

処置:

DESFORMATパラメータでは、必要な出力フォーマットを指定します。有効なフォーマットは次のとおりです。

- ビットマップ・レポートの場合、Oracle Reportsでサポートされている出力フォーマット(PostScript、PCL、PDF、HTML、XML、HTMLCSS、ENHANCEDSPREADSHEET、SPREADSHEET)はいずれもDESFORMATで有効です。この場合は、.PRTファイル名は指定しません。出力先をファイルとして実行する場合、DESFORMATパラメータは有効なプリンタ・キューに設定する必要があります。Oracle Reportsでは、プリンタに関連付けられているプリンタ定義ファイルを使用して出力をフォーマットします。

- キャラクタ・モード・レポートの場合は、DESFORMATによってASCIIプリンタに対する出力が設定され、エスケープ文字が渡されます。キャラクタ・モード・レポートを実行する場合は、MODEパラメータを必ずCharacterに変更し、有効な.PRTファイルを使用してください。

表9-7に、コマンドライン・オプション(DESTYPE、DESNAMEおよびDESFORMAT)とプリンタ出力との対応を示します。

表9-7 出力方法とDESTYPE、DESNAME、DESFORMATの設定

出力方法

DESTYPE

DESNAME

DESFORMAT

ファイルへの生成

FILE

file_name.ps

printer_name

印刷

PRINTER

printer_name

DISTRIBUTE=YES

printer_name

MODE=CHARACTER

file_name.prt

REP-01800 - フォーマット・エラーが発生しました。

REP-00177 - リモート・サーバーで実行中にエラーが発生しました

(CGIを介して実行した場合)

原因:

このエラーは、UNIXサーバー上でプリンタ構成の問題が発生したことを示します。物理的に使用可能なプリンタがシステム上にない場合も、そのようなプリンタがあるものとして設定する必要があります。

処置:

1. uiprint.txtに有効なエントリがあることを確認します。

2. uiprint.txtに複数のプリンタ・キューのエントリがあり、デフォルトのプリンタを設定する必要がある場合は、環境変数が、uiprint.txtで指定されたプリンタのいずれかに設定されていることを確認してください。関連する環境変数が設定されていない場合は、uiprint.txtの最初のエントリが使用されます。プリンタ関連の環境変数の詳細は、付録B「環境変数」を参照してください。

システムで使用できるプリンタがない場合の代替手段の詳細は、第9.3項「印刷環境の構成」を参照してください。

名前にスペースがあるプリンタで出力する際のエラー

原因:

Solaris 2.8の環境で名前にスペースがあるプリンタを使用すると、不具合によりエラーが発生する場合があります。このエラーは、プリンタ名の前後に引用符を付けてlprまたはlpコマンドを実行することが原因です。

処置:

この問題を解決するには、次のいずれかの手順を実行します。

- プリンタ名からスペースを削除します。

- プリンタ名に引用符を付けて lprまたはlpコマンドを実行できるように修正されているSolaris 2.8パッチをSun社から入手します。
および

- rwlpr.shのセクションを変更し、名前にスペースがあるプリンタに引用符を付けて指定できるようにします。rwlpr.shファイルは、$ORACLE_INSTANCE/config/reports/binディレクトリにあります。
具体的には、次のように変更します。

#either LPR or LP Command was found
if [ -x $PRNCMDPATH ]
then
if [ `basename $PRNCMDPATH` = "lpr" ]
then
#if [ `/usr/bin/uname -r` = "5.8" ]
#then
#$PRNCMDPATH `echo $@ | tr -d "\""`
#else
$PRNCMDPATH "$@"
#fi
else
# parse and Fix the command Line as Required by lp
#if [ `/usr/bin/uname -r` = "5.8" ]
#then
#getLpCommandLine `echo $@ | tr -d "\""`
#else
getLpCommandLine "$@"
#fi
$PRNCMDPATH
fi
# exit with the command's exit code , This will tell the
# server Print module if the command completed successfully
# or not.
exit $?
fi
done

Solaris 2.9での印刷

Solaris 2.9でDESTYPE=PRINTERおよびDESNAME=printer_nameコマンドライン・オプションを使用してレポートを印刷すると、次のエラーが発生します。

REP-0069: Internal error
REP-57054: Inprocess job terminated with error
REP-50157: Error while sending file to printer 2op837a.Exit with error code 1

この問題を解決するには、次の手順を実行します。

ノート:

手順を実行する前に、rwlpr.shファイルのバックアップを作成してください。Solarisでは、rwlpr.shは印刷スクリプト・ファイルで、$ORACLE_INSTANCE/config/reports/binディレクトリにあります。このスクリプト・ファイルでは、デフォルトでlpとlprコマンドがサポートされます。

1. ファイルの末尾にある次の行に移動します。

#either LPR or LP Command was found

2. 既存のif...else条件にOR演算子を追加します。

if [ `uname -r` = "5.8" ] || [ `uname -r` = "5.9" ] # If Solaris Release 5.8 / 5.9
...
else
# parse and Fix the command Line as Required by lp
...
if [ `uname -r` = "5.8" ] || [ `uname -r` = "5.9" ]# If Solaris Release
5.8/ 5.9

3. if...else if条件では、Solarisリリースのバージョンがチェックされます。バージョン番号に基づいて、プリンタ名から引用符が削除され、printコマンドに渡されます。

9.9.2 PCLの印刷の問題

PCで印刷したときには灰色のフィールドが、UNIX PCLプリンタで印刷すると白くなるのはなぜでしょうか。

PCLカラー印刷はサポートされていません。パターンが透明に設定されている場合、PCL印刷では白のペン(PCL言語)が描画に使用されます。パターンがソリッド・パターンに設定されている場合は、黒のペンが使用されます。この処理は、フォアグラウンド・カラーやバックグラウンド・カラーの設定とは無関係に行われます。PostScriptの印刷ロジックはこれとは異なります。パターンがソリッドのときはフォアグラウンド・カラーが使用され、パターンが透明のときはバックグラウンド・カラーが使用されます。

Oracle ReportsではどのPCLレベルがサポートされていますか。

現時点では、Oracle ReportsのPCLドライバはPCLレベル3の機能をサポートしています。それより後のバージョンのPCLのHPDファイルはサポートしていますが、PCLレベル3以降に導入された新機能には対応していません。

9.9.3 PostScriptの印刷の問題

PostScriptプリンタで両面印刷を行うにはどうすればよいでしょうか。

両面オプションを持つプリンタがあり、適切なPPDファイルがあるものとします。次に示す例は、京セラ社のFS-9000プリンタ用のPPDファイルを使用してテストした結果です。出力ファイルをフィルタ処理するために、UNIXのsedというツールも必要です。

両面印刷の問題とは、ジョブ・レベルでは両面印刷が有効であっても、ページ設定でリセットされてしまうというものです。これは、用紙サイズとプリンタ・トレイの情報がページごとに生成されることが理由です。この問題に対処するには、スクリプトを使用してページ・レベルの設定情報を取り除くことにより、両面設定のリセットを防ぐ必要があります。この対処方法を取る場合、ページ間のプリンタ・トレイの切替えはできなくなります。

1. 次の3行からなるsedスクリプトを作成します。

/î%%BeginPageSetup/,$ {
/î%%BeginFeature/,/î%%EndFeature/d
}

2. このスクリプトを、duplexsedという名前のファイルに保存します。

3. duplexsedを、ORACLE_HOME/binなどの適切なディレクトリにコピーします。

4. 環境変数TK_PRINTを次のように設定します。

TK_PRINT="sed -f $ORACLE_HOME/bin/duplexsed | lpr -l -s -P'%n' -#'%c'"
export TK_PRINT

ノート:

印刷コマンドは、UNIXの種類によって異なります。使用するプラットフォームのインストレーション・ガイドおよびマニュアル・ページを確認してください。TK_PRINTの詳細は、付録B「環境変数」を参照してください。

TK_PRINTに格納されているコマンドが実行されるのは、DESTYPE=PRINTERの場合のみです。DESTYPE=FILEの場合は、PostScriptファイルにページ・レベルの設定情報が残ります。これを修正するには、PostScriptファイルに対してduplexsedスクリプトを実行します。

Oracle ReportsではどのレベルのPostScriptがサポートされていますか。

Oracle Reportsでは、PostScriptレベル1とレベル2がサポートされています。

印刷ジョブの途中で動的にプリンタ・トレイの設定を変更するにはどうすればよいでしょうか。

場合によっては、レポートの途中でプリンタのトレイを切り替える必要があります。たとえば、レポートの最初のページをレターヘッド付きの用紙に印刷し、それ以降のページは無地の白い用紙に印刷する場合です。キャラクタ・モード・レポートでは、このような結果を得るには.prtファイルを編集してレポートのプロパティを変更します。ビットマップ・レポートの場合は、SRW.SET_PRINTER_TRAYビルトイン・プロシージャを使用します。UNIXでは、この機能はPostScript出力に対してはサポートされていますが、PCL出力ではサポートされていません。PCLの場合、Oracle Reportsでは印刷方向と用紙トレイを変更するコマンドは無視されます。UNIXでは、PCLの印刷方向とプリンタ・トレイを動的に変更することはできませんが、PCLの印刷ダイアログ・ボックスを使用して実行時に変更することができます。

Before Report、Between Pagesまたはフォーマット・トリガーを使用することにより、レポートのフォーマットに応じてプリンタ・トレイを切り替えることができます。この方法を利用すれば、同じレポートを異なる種類の用紙に簡単に印刷できます。

ノート:

SRW.SET_PRINTER_TRAYビルトイン・プロシージャを含むSRWビルトイン・パッケージの詳細は、Oracle Reportsのオンライン・ヘルプを参照してください。

例

BEFORE REPORTトリガーから、最初のページのプリンタ・トレイを設定します。

function BeforeReport return boolean is
begin
srw.set_printer_tray('UPPER PAPER TRAY');
return (TRUE);
end;

以降のページのプリンタ・トレイを動的に設定するには、レポートの各ページに印刷される項目にフォーマット・トリガーを追加します。次のコードは、偶数ページかどうかを調べて、その結果に応じてページ番号を設定します。

function B_tbpFormatTrigger return boolean is
page_num number;
begin
srw.get_page_num(page_num);
begin
if mod(page_num, 2) = 0 then
srw.set_printer_tray('UPPER PAPER TRAY');
else
srw.set_printer_tray('LOWER PAPER TRAY');
end if;
return (true);
end;
end;

Oracle Reportsで生成されたPostScript出力を印刷する際、外部印刷コマンドがトレイ選択オプションを無視するのはなぜでしょうか。

次の印刷コマンドを入力したとします。

lp -dprinter -oupper $report_print_file1

この場合、lpコマンドの-oupperオプションは無視されます。これは、Oracle Reportsによって生成されるPostScript出力の中にトレイ情報があるためです。PostScriptでのトレイ選択は、コマンドラインでの指定をオーバーライドします。コマンドラインのトレイ情報が優先されるようにするには、PostScriptファイルからトレイ情報を削除する必要があります。このようにするには、PostScriptファイル内の次の文字列を検索して削除します。

%%BeginFeature: *InputSlot name of printer tray
....
%%EndFeature

プリンタ・トレイを切り替える方法の詳細は、「印刷ジョブの途中で動的にプリンタ・トレイの設定を変更するにはどうすればよいでしょうか。」を参照してください。

9.9.4 フォントに関連する印刷の問題

関連項目:

- フォント関連の詳細は、第8章「Oracle Reportsでのフォントの管理」を参照してください。

- 異なるプラットフォーム間におけるフォント問題に対処する方法の詳細は、第11章「フォント・モデルおよびクロス・プラットフォームの配布」を参照してください。

Oracle Reportsでの印刷時にどのフォントが使用されているかはどのようにして調べればよいでしょうか。

PostScriptファイルには、PPDファイルを読み取った後、フォントのリストが作成されます。PostScriptファイルで次のタグを検索すると、フォントを確認できます。

- DocumentNeededResourceには、PPDファイル内で参照されるフォントのリストが記述されています。

- DocumentSuppliedResourceには、PostScriptドライバによって対応するAFMファイルを見つけることができたフォントのリストが記述されています。

- フィールド%IncludeResource:fontの前の%%Pageには、そのフィールドで使用されるフォントの名前が記述されています。

PCL出力ファイルの場合は、特定のフォントが使用されているかどうかを確認できます。この情報に応じて、Oracle Reportsまたはプリンタのフォント設定を変更できます。

レポートを実行して画面に出力するときとプレビューに出力するときでは、実際に何が異なるのでしょうか。

レポートを画面用にフォーマットした場合、つまり画面フォントを使用する場合は、レポート・エディタのペーパー・デザイン・ビューではレポートが正しく表示されます。ただし、画面フォントを使用してフォーマットされたレポートを印刷しようとすると、その結果は多少異なることがあります。これは、画面フォントからプリンタ・フォントへのマップが不完全であることが多いためです。画面ではなくプレビューを選択した場合は、レポートのフォーマットにはプリンタ・フォントが使用され、画面に表示される出力は印刷した場合とほぼ同じになります。

有効なプリンタがインストールされていない場合、フォントに関連するなんらかの問題が発生しますか。

UNIXの場合、Oracle Reports 10gよりも前のリリースでは、イメージの作成やピクセル解像度の取得のためにウィンドウ表示システムの表示面を使用するには、DISPLAY環境変数を設定する必要がありました。Oracle Reports 10gでは、この依存関係は解消されています。

また、以前のリリースでは、フォントについてUNIX上で有効なプリンタが必要でした。有効なプリンタが利用できない場合、Oracle Reports Servicesではスクリーン・フォントが使用され、その際にもDISPLAY環境変数の設定が必要でした。今回のリリースでは、Oracle Reports Servicesにデフォルトの画面プリンタ・サーフェス(ScreenPrinter)が組み込まれています。プリンタが使用できない場合に、このサーフェスにより画面またはプリンタをエミュレートしてフォントを入手します。したがって、Oracle Reports ServicesではUNIX上にプリンタが存在している必要がなくなりました。

関連項目:

第9.8項「UNIXでのDISPLAYおよびプリンタ依存性の解消」

9.9.5 印刷された出力の問題

レポートを画面で表示すると問題ないけれども、印刷するとデータが切り捨てられるのはなぜでしょうか。

フィールドの切捨ての原因は多数考えられます。

- そのフィールドが拡張可能かどうかを調べます。

1. Oracle Reports Builderのペーパー・デザイン・ビューまたはペーパー・レイアウト・ビューでフィールドをダブルクリックして、プロパティ・インスペクタを表示します。

2. 「水平拡張度」プロパティを確認します。

3. 「固定」が選択されている場合は、設定を「可変」または「拡張」に変更します。

4. 出力先をプリンタとしてレポートを実行します。

5. まだ切捨てが発生する場合は、フィールドに複数行が必要であることが考えられます。

6. このフィールドのプロパティ・インスペクタに戻り、「垂直拡張度」を調べます。

7. 「固定」が選択されている場合は、設定を「可変」または「拡張」に変更します。

8. 出力先をプリンタとして再度レポートを実行します。

- ページ右端のフィールドが常に切り捨てられる場合は、プリンタの印刷可能領域の問題が考えられます。PCLプリンタを使用する場合は、印刷可能領域の大きさを計算し、それに応じてマージンのサイズを変更する必要があります。

1. Oracle Reports Builderでレポートを開きます。

2. ペーパー・レイアウト・ビューに移動します。

3. 上部のツールバーにある「マージン」ツールをクリックします。レポート本体の終わり、つまりマージンの始まりを示す黒い太線が表示されます。

4. 黒い線をクリックして、左に約0.5インチドラッグします。

5. レポートを保存し、出力先をプリンタとして再度実行します。

6. 必要であれば、ステップ4と5を繰り返して印刷可能領域の境界のおおよその位置を調べ、レポート本体がその中に確実に収まるようにします。

- PostScriptプリンタを使用する場合は、次の手順に従い、ペーパー・レイアウト・ビューで印刷可能領域の境界を表示します。

1. Oracle Reports Builderでレポートを開きます。

2. 「ファイル」→「ページ設定」を選択します。

3. マージンが小さいことと、印刷方向が正しいことを確認します。

4. 「OK」をクリックします。これで、ペーパー・レイアウト・ビューで、境界の読取りができるようになります。

5. ペーパー・レイアウト・ビューに移動します。

6. 上部のツールバーにある「マージン」ツールをクリックします。レポート本体の終わり、つまりマージンの始まりを示す黒い太線が表示されます。黒い破線も表示されますが、これが印刷可能領域の境界を示します。

7. 黒い太線が、黒い破線の内側にあることを確認します。そうでない場合は、黒い線をクリックして印刷可能領域の内側までドラッグします。

8. 「マージン」ツールをクリックして、マージン・モードを終了します。

9. 必要であれば、変更後の本体の境界内に収まるようにフィールドの位置を変更します。

10. レポートを保存し、出力先をプリンタとして実行します。

- PCLプリンタでまだ切捨てが発生する場合は、プロポーショナル・フォントのかわりに固定幅フォントを使用してみてください。PCLプリンタでは、プロポーショナル・フォントの解釈時に問題が発生することがあり、これが原因で切捨てが発生します。Courierなどの固定幅フォントを使用し、フォント・エイリアシングも試してみてください。

関連項目:

フォント関連の詳細は、第8章「Oracle Reportsでのフォントの管理」を参照してください。

ノート:

デフォルト・レイアウトは、一般的なプリンタ向けに作成されています。また印刷可能領域は、プリンタによって異なります。したがって、プリンタに合せてレポートの設定を変更しなければならないこともあります。理想的には、多数のプリンタを使用することがわかっている場合は、初めから印刷可能領域が最も小さいプリンタに合せてレポートを設計します。

10 Oracle ReportsでのPDFの使用

Adobe Portable Document Format (PDF)は、文書の作成に使用したアプリケーションやプラットフォームの種類に関係なく、あらゆるソース文書のフォント、書式、グラフィックス、カラーをすべて保持する汎用ファイル形式です。Oracle Reportsは、いち早くこのテクノロジを採用し高品質のPDFドキュメントを生成してきたレポート生成ツールの1つです。

この章の主な項は、次のとおりです。

- このリリースでの新機能

- Oracle Reportsに含まれるPDF機能

- Unicode PDFファイルの生成

- 双方向(BiDi) PDFファイルの生成

- マルチバイトPDFファイルの生成

- バーコードPDFファイルの生成

10.1 このリリースでの新機能

Oracle Reports 11gリリース2 (11.1.2)は、表10-1(表1-1「11gの機能と10gの機能との比較」の一部)に示すようにフォント処理が大幅に強化されています。

表10-1 11gのフォント機能と10gの機能との比較

11gの新機能

10gにおける同等機能

TrueTypeフォント(TTF)とTrueType Collections (TTC)がクロス・プラットフォームでサポートされています。UNIXにおけるレポート出力は通常、Windowsと同じであるので、クロス・プラットフォームの配布を簡単にできます。

Oracle Reportsでは、フォント・メトリックを適切なTTFファイルから読み取って、レポート出力を正しくフォーマットします。これによって、フォント・メトリックの不一致によりテキスト文字の不揃いが発生する問題がなくなります。使用可能なTTFファイルのフォントは自動的に検索されます。TTFフォント・ファイルが見つからない場合、11gより前の実装のフォント検索メカニズムが使用されます。

新しい環境変数のREPORTS_ENHANCED_FONTHANDLINGとREPORTS_FONT_DIRECTORY

UNIXとWindowsのレポート出力のフォントにおける潜在的な不一致は、WindowsとUNIXのフォント・メカニズムにおける違いが原因で発生します。フォント・エイリアシングがPDFフォント・サブセットとともに必要でした。

古いフォント・ファイル・タイプ(たとえば、AFM)がサポートされています。これらのフォント・タイプをすべてのフォントで取得するのは困難です。TTFをAFMに変換する必要がある場合がほとんどですが、これらのファイルでもWindowsにおける出力と完全に同一の出力は実現されませんでした。

PDFのすべての文字セットがサポートされています。新しいフォント・モデルにより、PDFサブセット化レポート出力で不揃いが発生しません。UNIXでPDFのUnicodeフォント・サブセットがサポートされています。

マルチバイト・レポートのみサポートされています。UNIX出力でテキスト文字の不揃いを解決するには、PFMファイルとPFAファイルの作成が必要です。AFMファイルに依存します。

可変幅フォント出力が特に問題でした。その理由としてはReportsではファイルで最初の256文字よりも後にある文字列の幅を取得できなくて、これらの文字列がすべて固定幅として扱った結果、不揃いが発生したためです。

Oracle Enterprise Managerによりフォントの管理と構成が単純になりました。Oracle Enterprise Managerを使用して、uifont.aliのエイリアシング関連エントリとサブセット化関連エントリ(グローバル・エイリアシング、PDFエイリアシング、PDFサブセット化など)を変更します。デフォルト解像度、およびPPDファイルを変更するためのデフォルトフォント。

uifont.aliと構成ファイルのフォントを構成します。

PDF、パスワードによる保護、およびセキュリティ。新しいコマンドライン引数を指定して、Oracle Reportsで生成されたPDFレポートをパスワード保護します。特定の権限を抑止すると、生成されたPDFレポートのセキュリティを確保することもできます。

PDFレポートの暗号化やセキュリティ権限の指定はできません。

フォント診断機能に対応しています。フォント問題の診断ではトレースを容易に理解できるようになりました。使用されているフォントのレポート報告機能や他にもデバッグ・ツールが用意されています。

問題を診断するのは困難です。

10.2 Oracle Reportsに含まれるPDF機能

Oracle ReportsではPDF1.4がサポートされ、あらゆるプラットフォームで高品位のPDFレポートを生成できます。Oracle ReportsでサポートされるPDF機能は、次のとおりです。

- 圧縮

- フォント関連の機能

- 実行の優先順位

- 暗号化、パスワードによる保護および権限セキュリティ

- アクセシビリティ

- 分類

- グラフのサポート

10.2.1 圧縮

PDF圧縮は、PDFファイルのサイズを減らすことによって、PDFファイルのダウンロードに要する時間を短縮します。

圧縮によって節約できる容量は、レポートの内容(たとえば、イメージの数とサイズ)によって変わります。

- イメージ: PDF圧縮は、イメージを含むファイルのサイズにはあまり作用しません。これは、イメージ・ファイルが通常、すでに圧縮されているためです。

- フォーマットされたデータ: 高度にフォーマットされたデータは、高い圧縮率を見込めます。ただし、実際の圧縮率はレポートによって異なります。

圧縮されたファイルのサイズは、元のファイルの約5分の1になります。圧縮テストでは、生成されたファイルが元のファイルの2分の1から8分の1のサイズになり、ファイルの内容よってばらつきがあることがわかりました。

10.2.1.1 設定

デフォルトでは、Oracle Reportsによって生成されるPDF出力は圧縮されています。圧縮のレベルを指定するには、コマンドラインでPDFCOMPを使用します。詳細は、第A.7.24項「PDFCOMP」を参照してください。

圧縮ファイルはダウンロードが短時間で済みますが、圧縮ファイルの生成にかかる時間は、非圧縮ファイルの場合よりかなり長くなります。

図10-1 圧縮出力と非圧縮出力

ノート:

圧縮率は、レポートの内容に依存します。したがって、PDFファイルのサイズも、PDFファイルの生成に要する時間もレポートごとに異なります。

10.2.2 フォント関連の機能

この項では、Oracle ReportsでサポートされるPDFフォント関連の機能について説明します。

- フォント・エイリアシング

- フォント・サブセット

- フォントの埋込み

- フォント機能のサマリー

10.2.2.1 フォント・エイリアシング

フォント・エイリアシングを使用すると、あるフォントを別のフォントに置き換えること(フォント置換)が可能です。このフォント置換は通常、プラットフォーム間でアプリケーション(ここではPDFファイル)を移植する場合に使用されます。その際には、キャラクタ・セットだけでなく、マルチバイト・フォントもエイリアシングできます。多言語アプリケーションの設計時におけるフォント・エイリアシングの考慮事項の詳細は、第22.2.1.3.2項「フォント・エイリアシングの考慮事項」を参照してください。

Oracle Reports 11gリリース2 (11.1.2)で導入されたフォント強化機能により、フォントのエイリアシングがほとんどの場合で不要になります。以前のリリースでは、Windowsで利用可能なフォントでレポートを作成できても、UNIXではできませんでした(Arialフォントなど)。そのような場合では、WindowsのフォントをUNIXで利用可能な類似スタイルのある別フォント(Helveticaなど)にエイリアシングすることが必要でした。このリリースでは、TTFファイルとTTCファイルがUNIXにおいてサポートされています。また、ArialなどのフォントがWindowsとUNIXの両方でサポートされています。これによって、エイリアシングが不要になりました。

フォント・エイリアシングは、PDFファイルを生成する時点で行われます。PDFファイルには、出力の表示に必要なフォント情報だけが含まれます。使用されるフォントは、PDFファイルに埋め込まれません。

ノート:

フォントは、PDF出力を表示するマシンで使用可能である必要があります。PDFファイルを生成するマシンでは、フォントが使用可能でなくてもかまいません。

レポートを表示する時点では、Adobe Acrobatは、次の規則に基づいて、エイリアシングされたフォントを置き換えます。

1. 出力を表示するマシンにフォントが存在しない場合、Adobe Acrobatは、そのフォントをAdobe Sans MMフォントに置き換えます。

2. Adobe Sans MMフォントが適合しない場合、出力には、データのかわりにドットが表示されます。

フォント・エイリアシングは、次のいずれか、またはすべてのフォントに対して機能します。

- シングルバイト・フォント。ASCII文字セットおよびIS0-Latin文字セットの東欧フォントを含みます。

- Adobe社のマルチバイトCharacter ID (CID)フォント(表10-2を参照)。これらは、Adobe社のサイトから無料でダウンロードできます。

- Type1 PostScriptフォント

- TrueTypeフォント

表10-2は、マルチバイト・フォントのPDFフォント・エイリアシングに使用するOracle NLS_CHARACTERSET、CMap名およびCIDフォント名との間におけるマッピングを示しています。

表10-2 PDFフォント・エイリアシングのためのCIDフォント・マッピング

言語

Oracle
NLS_CHARACTERSET名

CMap名

CIDフォント名

日本語

JA16SJIS

JA16EUC

90ms-RKSJ-H

EUC-H

"KozMinPro-Regular-Acro"(*)

"HeiseiKakuGo-W5-Acro"(**)

"HeiseiMin-W3-Acro"(**)

韓国語

KO16KSC5601

K016MSWIN949

KSC-EUC-H

KSCms-UHC-H

"HYSMyeongJoStd-Medium-Acro"(*)

"HYGothic-Medium-Acro"(**)

"HYSMyeongJo-Medium-Acro"(**)

繁体字中国語

ZHT32EUC

ZHT16BIG5、ZHT16MSWIN950

ZHT16HKSCS

CNS-EUC-H

ETen-B5-H

HKscs-B5-H

"MSungStd-Light-Acro"(*)

"MHei-Medium-Acro"(**)

"MSung-Light-Acro"(**)

"MSungStd-Light-Acro"(*)

簡体字中国語

ZHS16CGB231280

ZHS16GBK

GB-EUC-H

GBK-EUC-H

"STSongStd-Light-Acro"(*)

"STSong-Light-Acro"(**)

(*)これらのフォントはAdobe Acrobat Reader 5.0以降で利用できます。

(**)これらのフォントはAdobe Acrobat Reader 4.0以降で利用できます。

予期しないフォント・マッピングにより、マルチバイト・キャラクタが文字化けしないようにするため、Version 5.0 CID Fonts(*)の使用をお薦めします。Version 5.0フォントは、Adobe Acrobat Reader 5.0以降と互換性があります。

10.2.2.1.1 設定

フォントのエイリアシングが必要な場合、以前のリリースで行っていたようにuifont.aliファイルを直接編集するのではなく、Oracle Enterprise Managerを使用してエイリアシングを定義します。Oracle Enterprise Managerを使用してフォントを構成する方法の詳細は、第6.9.1項「フォントの構成」を参照してください。

uifont.aliファイルの詳細は、第8.3項「フォント構成ファイル」の「uifont.ali」を参照してください。

10.2.2.1.2 トラブルシューティング

フォント・エイリアシングが機能しない場合は、次のことを確認します。

- Acrobat Reader 6.0以降の場合は、「ファイル」→「文書のプロパティ」→「フォント」を選択します。(それよりも前のリリースでAcrobat Reader 3.0以降の場合は、「ファイル」→「文書情報」→「フォント」を選択します)。エイリアシングされたフォントがリストに追加されていることを確認します。そのフォントがリストに含まれていない場合は、フォント・エイリアシングが行われていません。フォントが検出されていないか、uifont.aliファイルのエントリが正しくありません。

- レポート用に指定されたフォントが、レポートを表示するマシン上で使用可能であること。

- uifont.aliファイルの[PDF]セクション名が変更されていないこと。Oracle Reportsでは、このセクション名を探してファイルを解析します。

- レポートの表示に使用しているAdobe Acrobat Readerがバージョン3.0以降であること。マルチバイト・キャラクタのレポートを表示するには、最低でもこのバージョンが必要です。

10.2.2.2 フォント・サブセット

フォント・サブセットを使用すると、PDFのレンダリングに必要なフォント情報がPDFファイルに含まれます。フォント・サブセットは、レポートの表示に使用されるマシンでそのフォントを使用できるかどうかに依存しません。PDFのフォント・サブセットは、シングルバイト・フォント、マルチバイト・フォントおよびUnicodeフォントで使用可能で、マルチバイト・レポートの作成では、最もよく使用される方式です。

PDFファイル内のフォントのサブセットを作成すると、レポート出力に必要な文字のみのフォント情報がPDF出力に埋め込まれます。

ノート:

PDFファイルの変更には、次のものが必要です。

1. マシンにインストールされ、レポートに使用されているフォント

2. PDFライター

10.2.2.2.1 設定

フォント・サブセットを使用する前に、次の作業が必要です。

- フォント・ファイルのパスをREPORTS_PATH環境変数に追加します。Oracle Reportsでは、PDFファイルの生成時に、REPORTS_PATH環境変数で指定されたパスでフォントを探します。

- フォント・サブセットのエントリは、uifont.aliファイルに格納します。Oracle Reportsでは、uifont.aliファイルにリストされているフォント・エントリが、生成中のPDFファイルに存在する場合にのみ、フォント・サブセットを作成します。

ノート:

uifont.aliファイルは次のディレクトリにあります。

ORACLE_INSTANCE\config\FRComponent\frcommon\guicommon\tk\admin

uifont.aliファイル内の、フォント・サブセットのセクションは、[PDF:Subset]で、そのエントリは次のとおりです。

[PDF:Subset]
font_name = "font_file_name"

説明:

font_nameはフォント名です。このフォント名に複数の単語が含まれる場合は、必ず引用符で囲む必要があります。

font_file_nameはフォント・ファイル名です。このファイル名は必ず引用符で囲む必要があり、大文字と小文字が区別されます。これが既存のフォント・ファイル名と完全に一致しない場合は、REP-1924エラーが生成されます。

フォント・ファイルは、ORACLE_INSTANCE/reports/font_folderなど、任意のフォルダに保存できます。フォント・ファイルのパスは、$REPORTS_PATH環境変数にデフォルトで追加されます。

ノート:

このfont_file_nameは、Oracle Reports Builderで表示されるフォント名ではありません。

例1

[PDF:Subset]
Arial = "Arial.ttf"

TrueType Collection(.ttc)ファイル内にあるTrueTypeフォントを使用する場合は、uifont.aliの[PDF:Subset]セクションのエントリの構文は次のようになります。

[PDF:Subset]
font_name = "ttc_file_name[,table_directory_number]"

説明:

font_nameはフォント名です。このフォント名に複数の単語が含まれる場合は、必ず引用符で囲む必要があります。

ttc_file_nameはTrueType Collectionファイル名です。

table_directory_numberは、TrueType Collectionファイル内のTrueTypeフォントに対する表ディレクトリ番号で、ゼロベースのインデックスが使用されます(たとえば、"MS PGothic" = "msgothic.ttc,1"は、TrueType Collectionファイル内の2番目のフォントの使用を指定することを示す)。table_directory_numberが省略されていたり、無効な値が指定されている場合は、TrueType Collectionファイル内の最初のフォント・プログラムのサブセットが使用されます。

例2

[PDF:Subset]
"MS PGothic" = "msgothic.ttc,1"
"MS UI Gothic" = "msgothic.ttc,2"

表10-3に、Windowsプラットフォームにおける東アジア系言語用の一般的TrueType Collectionファイルと、それに含まれるフォント名およびその表ディレクトリ番号値を示します。

表10-3 Windowsプラットフォームにおける東アジア系言語用の一般的TrueType Collectionファイル

TTCファイル名

フォント名

表ディレクトリ番号

batang.ttc

Batang

BatangChe

Gungsuh

GungsuhChe

0

1

2

3

gulim.ttc

Gulim

GulimChe

Dotum

DotumChe

0

1

2

3

mingliu.ttc

MingLiU

PMingLiU

0

1

msgothic.ttc

MS Gothic

MS PGothic

MS UI Gothic

0

1

2

msmincho.ttc

MS Mincho

MS PMincho

0

1

simsun.ttc

SimSun

NSimSun

0

1

レポートに使用されているフォントは、次の方法で表示できます。

- Acrobat Reader 6.0以降の場合は、「ファイル」→「文書のプロパティ」→「フォント」を選択します。(それよりも前のリリースでAcrobat Reader 3.0以降の場合は、「ファイル」→「文書情報」→「フォント」を選択します。)

- 「フォント情報」ダイアログ・ボックスに、「オリジナルフォント」、「種類」、「エンコーディング」、「実際のフォント」(使用しているフォント)および「種類」が表示されます。

図10-2 フォント・サブセット

ノート:

フォント・サブセットでは、次のようになります。

- 「エンコーディング」列に「Identity-H」と表示されます。

- 「実際のフォント」列に「埋め込み サブセット」と表示されます。

- 「種類」列に「TrueType」と表示されます。

10.2.2.2.2 下位互換性

以前のリリースのフォント・メカニズムと下位互換性を維持できるようにするために環境変数が2つ用意されています。

- REPORTS_ENHANCED_FONTHANDLINGでは、新しい11gリリース2 (11.1.2)用フォント・モデルを使用するか、10gリリース2 (10.1.2)のツールキット・フォント処理メカニズムに戻すかを指定できます。デフォルトでは、REPORTS_ENHANCED_FONTHANDLING=YESとなっています。

- REPORTS_ENHANCED_SUBSETでは、Oracle Reports 10g リリース2 (10.1.2)で導入された拡張TTFフォント・サブセット機能も含めるかどうかを指定できます。デフォルトでは、生成されたPDFファイルへのアクセスと検索を実行できるようにREPORTS_ENHANCED_SUBSET=YESに設定されています。
Oracle Reports 10g リリース2 (10.1.2)よりも前のリリースで使用されているフォント・サブセット(つまり、Type3フォント)の実装に戻すには、環境変数REPORTS_ENHANCED_SUBSET=NOを設定します。

REPORTS_ENHANCED_SUBSET=NOを設定する場合、Adobe Acrobat Readerを使用して次のステップを実行することで、最適な表示を確実にします。

1. 「編集」→「環境設定」→「ページ表示」を選択します。

2. 「テキストのスムージング」、「ラインアートのスムージング」および「画像のスムージング」を選択します。

3. (ラップトップ/LCD画面の場合)「CoolType使用」チェックボックスを選択します。

4. 「OK」をクリックします。

ノート:

このステップはAdobe Acrobat Reader 7.0に適用されます。

10.2.2.2.3 トラブルシューティング

フォント・サブセットが機能しない場合は、次のことを確認します。

- レポートに使用されているフォントに、太字、イタリックおよび太字のイタリックの各バージョンがあること。PDFフォント・サブセットで、レポートにイタリックまたは太字スタイルが使用されているときに、出力にイタリックまたは太字スタイルが表示されない場合は、WindowsのTTFファイルを確認します。Windowsでは、すべてのフォントに、太字、イタリックおよび太字のイタリックの各バージョンがあるわけではありません。たとえば、Arialには、arialbd.ttf(太字のArial)、ariali.ttf(イタリックのArial)およびarialbi.ttf(太字のイタリックのArial)がありますが、Arial Unicode MS (arialuni.ttf)などの一部のフォントには、太字またはイタリックのバージョンがありません。フォントに太字またはイタリックのバージョンがない場合、Windowsでは、Windows上のOracle Reportsと同様に、レポートの表示時にメインのフォント・ファイルから太字またはイタリック・スタイルが合成されます。これらのスタイルは、HTML/HTMLCSS、RTFおよびPDF (PDFサブセットまたは埋込みのない)出力で保持されます。ただし、実際にはフォント絵文字がレポートに含まれるため、PDFサブセットまたは埋込みの実行時に、Oracle Reportsはスタイルを含むTTFファイルを必要とします。つまり、レポートにArialの太字スタイルを含めるには、arialbd.ttfが必要となります。ただし、こうしたTTFファイルを持たないArial Unicode MSなどのフォントでは、PDFのサブセット出力に太字またはイタリック・スタイルが表示されません。

- 「実際のフォント」値が「埋め込み サブセット」、「種類」が「TrueType」であること(Acrobat Reader 6.0以降の場合は「ファイル」→「文書のプロパティ」→「フォント」を、それよりも前のリリースでAcrobat Reader 3.0以降の場合は「ファイル」→「文書情報」→「フォント」を選択)。これが指定されていない場合は、フォント・サブセットが実装されていません。問題の原因として、フォントが検出されていないこと、またはuifont.aliファイルのエントリが正しくないことが考えられます。

- フォント・ファイル名が有効であること。

- フォント・ファイル名の大文字・小文字が、ファイルの定義と一致すること。

- フォント・タイプがTrueType、つまり、filename.ttf/filename.ttcであること。

- フォント名に複数の単語が含まれる場合は、二重引用符で囲まれていること。

- フォント名に埋込みカッコが含まれていないこと。

- フォント・ファイルが、REPORTS_PATH環境変数で指定されているパスにあること。PDFファイルの生成時に、Oracle Reportsでは、REPORTS_PATH環境変数で指定されたパスでフォントを探します。

- フォント名が正しいこと、およびPDFファイルを生成したマシンでそのフォントが使用可能であること。

- uifont.aliファイルの[PDF:Subset]セクション名が変更されていないこと。Oracle Reportsでは、このセクション名を探してファイルを解析します。

- レポートの表示に使用しているAdobe Acrobat Readerがバージョン3.0以降であること。マルチバイト・キャラクタのレポートを正しく表示するには、最低でもこのバージョンが必要です。

- REPORTS_ENHANCED_SUBSET環境変数の値がYESに設定されていること。REPORTS_ENHANCED_SUBSET=NOの場合は、以前のフォント・サブセット実装(PDFドキュメントの作成にType3フォントを使用する実装)に戻されます。Type3フォントはType1フォントよりもやや太い、イメージ化された文字です。表示品質を向上させる方法の詳細は、第10.2.2.2.2項「下位互換性」を参照してください。

10.2.2.3 フォントの埋込み

PDFのフォントの埋込みは、データとともにフォント・セット全体をPDFファイルに含める処理です。PDFのフォント・サブセットとフォントの埋込みは、相互排他的です。

ノート:

フォントの埋込みは、フォントがPDFファイルに含まれている場合にのみ機能します。フォントの埋込みを行うと、PDFファイルのサイズが増えます。

Oracle ReportsでのPDFフォントの埋込みは、Type1フォント(シングルバイト・フォント)のみが対象であり、TrueTypeフォントは対象外です。特定のType1フォントをレポートに含めるには、市販のサード・パーティ製ツールを使用して、TrueTypeフォントをType1フォントに変換します。

Oracle ReportsでのPDFフォントの埋込みは、フォントとフォント・ファイル名のセットとの間で行われます。

ノート:

出力にフォントを埋め込む前に、必要なフォント・ライセンスを保持していることを確認する必要があります。

10.2.2.3.1 設定

PDFの埋込みの設定には、次のものが含まれます。

- コマンドライン・キーワード: PDFEMBED

- uifont.aliファイル・エントリ: [PDF:Embed]

PDFEMBED

コマンドライン・キーワードのPDFEMBEDにより、uifont.aliファイルで指定されたType 1 PostScriptフォントをOracle ReportsでPDF出力に埋め込むかどうかを指定します。詳細は、第A.7.25項「PDFEMBED」を参照してください。

uifont.aliファイル・エントリ

uifont.aliファイル内の、フォントの埋込みのセクションは、[PDF:Embed]です。

(Windowsのみ)uifont.aliファイルのエントリは次のとおりです。

font_name = "font_name.pfm font_name.pfb"

(UNIXのみ)uifont.aliファイルのエントリは次のとおりです。

font_name = "font_name.afm font_name.pfa"

例10-1 フォントの埋込み

[PDF:Embed]
Symbol = "Symbol.pfm Symbol.pfb"

例10-1では、SymbolフォントがPDFファイルに埋め込まれています。移植性を確保する手順は次のとおりです。

1. Symbolフォントを含むレポートを作成します。

2. SymbolフォントをPDFファイルに埋め込みます(図10-3)。

図10-3 フォントの埋込み

10.2.2.3.2 トラブルシューティング

PDFフォントの埋込みが機能しない場合は、次のことを確認します。

- Acrobat Reader 6.0以降の場合は、「ファイル」→「文書のプロパティ」→「フォント」を選択します。(それよりも前のリリースでAcrobat Reader 3.0以降の場合は、「ファイル」→「文書情報」→「フォント」を選択します)。埋め込んだフォントがリストに追加されていることを確認します。フォントが追加されていない場合、フォントの埋込みは行われていません。問題の原因として、フォントが検出されていないこと、またはuifont.aliファイルのエントリが正しくないことが考えられます。

- 正しいフォント・ファイル名が使用されていること。

- REPORTS_PATH環境変数で指定されているフォント・パスが正しいこと。PDFファイルの生成時に、Oracle Reportsでは、REPORTS_PATH環境変数で指定されたパスでフォントを探します。

- フォント・タイプがType1フォントであること。

- フォント名に複数の単語が含まれる場合は、二重引用符で囲まれていること。

- uifont.aliファイルの[PDF:Embed]セクション名が変更されていないこと。Oracle Reportsでは、このセクション名を探してファイルを解析します。

- 埋込みフォントを指定する書式が有効であること。

font_name="fontfilename.pfm/.afm fontfilename.pfb/.pfa".

例(Windowsの場合):

UtopiaMediumItalic = "UtopiaMediumItalic.pfm UtopiaMediumItalic.pfb"

- フォント名が正しいこと、およびPDFファイルを生成したマシンでそのフォントが使用可能であること。

10.2.2.4 フォント機能のサマリー

表10-4に、フォント・エイリアシング、フォントの埋込みおよびフォント・サブセットの長所と短所をまとめます。

表10-4 各種PDFフォント機能の比較

PDFタイプ

長所

短所

PDFタイプ

フォント・エイリアシング

マルチバイトをサポートしています。

表示品質が優れています。

小さいファイル・サイズ(日本語では、フォント・サブセットの130KBに対して、フォント・エイリアシングでは23KBで済みます)。

Unicode文字セットをサポートしていません。

クライアントのオペレーティング・システムとAcrobat Readerが現地語バージョンでない場合は、クライアント・マシンにAsian Font Packsが必要です。

フォントのサポートに制限があります。たとえば、フォントの強調をサポートしていません。

フォント・エイリアシング

フォントの埋込み

表示が保証されています。

シングルバイトしかサポートしていません。

大きいファイル・サイズ。

フォントの埋込み

フォント・サブセット

Unicodeをサポートしています。

表示が保証されています。

生成されたファイルを、Adobe Acrobatを使用して検索および編集できます。

スタイル(斜体と太字)をサポートしていません。

フォント・サブセット

10.2.3 実行の優先順位

uifont.aliファイル内の複数の箇所に同じフォントが出現する場合、優先順位は次のとおりです。

1. フォント・エイリアシングがフォントの埋込みより優先される(最高の優先順位)

2. フォント・サブセットがフォントの埋込みより優先される(中間の優先順位)

3. フォントの埋込みは優先されない(最低の優先順位)

たとえば、フォントの埋込みとフォント・サブセットの両方に対して同じフォント・エントリを含めた場合は、フォント・サブセットが優先されます。これには、コマンドライン・オプションのPDFEMBED=NOを設定していないことが前提となります。

どのフォント機能でも(フォント・エイリアシング、フォント・サブセット、フォントの埋込み)、特殊なエントリを最初に指定してから、汎用エントリを指定します。たとえば、Arial Plain、Arial Bold、Arial Italic、Arial Bold-Italicの各フォントのサブセットを作成する場合、エントリを次の順序にします。

[ PDF:Subset ]
Arial..Italic.Bold.. = "Arialbi.ttf"
Arial...Bold.. = "Arialb.ttf"
Arial..Italic... = "Ariali.ttf"
Arial..... = "Arial.ttf"

プレーンなArial..... = "Arial.ttf"エントリが最初にあると、このレイアウトにあるArialフォントのすべてのスタイルがArial Plainフォントのサブセットとして作成されます。次に、uifont.aliファイルの一部を抜粋したサンプルを示します。どのPDFエントリにも、3つのPDFセクションがすべて含まれています。

サンプル1

[ PDF ]
Palatino = "Kino MT.ttf"
[ PDF:Subset ]
Garmond..Italic.Bold.. = "Garmacbi.ttf"
Garmond...Bold.. = "Garmacb.ttf"
Garmond..Italic... = "Garmaci.ttf"
Garmond..... = "Garamac.ttf"
[ PDF:Embed ]
Arial = "Arial.pfm Arial.pfb"

サンプル2

[PDF]
Arial.10.Italic = "Times New Roman".12.Italic.Bold
"Courier New" = Symbol
[PDF:Embed]
"Times New Roman".14..Bold = "TimesBold.pfm TimesBold.pfb"
[PDF:Subset]
Verdana...Italic.Bold = "Verdanaz.ttf"
Verdana...Bold = "Verdanab.ttf"

10.2.4 暗号化、パスワードによる保護および権限セキュリティ

Oracle Reports 11gリリース2 (11.1.2)以降では、Oracle Reportsで生成されたPDFレポートを暗号化したりパスワードで保護することができます。

このオプション機能によりPDFレポートの不正読取りや変更が防止されます。暗号化されたPDFレポートは、Acrobat Reader 5.0以降、およびPDF 1.4をサポートしている他のリーダーで読取りができます。この機能は、Oracle Reportsの以前のリリースで開発されたレポートとの互換性があります。

Oracle Reportsでは、PDFレポートの暗号化にAdobe社の標準セキュリティ・ハンドラを使用しています。この標準セキュリティ・ハンドラにより、1つのドキュメントに最大で2つのパスワード(所有者とユーザー)および8種類のアクセス権限を指定できます。

暗号化、パスワード保護および権限セキュリティをPDFレポートに適用するために、Oracle Reports 11gリリース2 (11.1.2)には、次のコマンドライン・キーワードが導入されています。

- PDFUSER

- PDFOWNER

- PDFSECURITY

ノート:

Oracle Reports Builder (rwbuilder)を使用してPDF暗号化レポート出力を生成するには、rwbuilderを起動するときに、コマンドのコマンドライン・キーワードのどれか1つ以上を渡す必要があります。

Oracle Reports Builderで、「ファイルへ出力」→「PDF」を選択して、PDF暗号化出力を生成します。

表10-5では、PDFOWNERとPDFUSERのコマンドライン・キーワードで考えられる組合せによる結果を示します。

表10-5 PDFUSERとPDFOWNERのキーワードの組合せによる結果

PDFUSERの指定

PDFOWNERの指定

効果

はい

はい

エンド・ユーザーがAcrobat Reader (5.0以降)で出力されたPDFレポートを開こうとすると、パスワード・プロンプトが表示され、ドキュメントを開いたり、復号化したり、画面に表示するためにPDFUSERまたはPDFOWNERで指定されたパスワードが要求されます。エンド・ユーザーがAcrobat Writer (6.0以降)で出力されたPDFレポートの権限を変更しようとすると、ドキュメントのパスワードと権限を変更するためにPDFOWNERで指定されたものと同じパスワードが要求されます。

はい

いいえ

エンド・ユーザーがAcrobat Reader (5.0以降)で出力されたPDFレポートを開こうとすると、パスワード・プロンプトが表示され、ドキュメントを開いたり、復号化したり、画面に表示するためにPDFUSERで指定されたパスワードが要求されます。エンド・ユーザーがAcrobat Writer (6.0以降)で出力されたPDFレポートの権限を変更しようとすると、ドキュメントのパスワードと権限を変更するためにPDFUSERで指定されたものと同じパスワードが要求されます。

いいえ

はい

エンド・ユーザーがAcrobat Reader (5.0以降)で出力されたPDFレポートを開こうとすると、Oracle Reportsではそのドキュメントが開いたり、復号化されたり、画面に表示されます。エンド・ユーザーがAcrobat Writer (6.0以降)で出力されたPDFレポートの権限を変更しようとすると、ドキュメントのパスワードと権限を変更するためにPDFOWNERで指定されたものと同じパスワードが要求されます。

いいえ

いいえ

すべてのエンド・ユーザーはAcrobat Reader (5.0以降)で出力されたPDFレポートを開くことができます。さらに、Acrobat Writer (6.0以降)においてそのドキュメントのパスワードと権限を変更できます。パスワード・プロンプトは表示されません。

PDFSECURITYコマンドライン・キーワードを使用して暗号化PDFレポートの特定権限を抑制する方法の詳細は、第A.7.27項「PDFSECURITY」を参照してください。

暗号化PDFドキュメントのパスワードと権限は、PDFUSER、PDFOWNERおよびPDFSECURITYで指定されたように、PDFドキュメントとともに格納されます。これらの値の変更権限を持つエンド・ユーザーは次の手順で格納を実行できます。

1. Acrobat Writer 6.0以降で、PDFドキュメントを開きます。

2. 「Document」→「Security」→「Restrict Opening and Editing」を選択します。

3. パスワード・プロンプトにおいて、適切なパスワードを入力します(表10-5に従って指定)。表示されたダイアログ・ボックスで、パスワードと権限で適切な変更を行います。

4. 表示されたダイアログ・ボックスで、パスワードと権限で適切な変更を行います。

配布におけるPDFセキュリティのサポート

Oracle Reports 11gリリース2 (11.1.2)では、レポートの配布と一括処理におけるPDF暗号化をサポートしています。この機能を使用すると、生成するPDFごとに別々のパスワードおよびセキュリティ権限を設定できます。

この機能を使用するには、1つ以上のプロパティ(pdfuser、pdfowner、pdfsecurity)を配布XMLファイルに追加する必要があります。

<destinations>
<file id="F1" name="personal_report" format="pdf">
<property name="pdfsecurity" value="NOCOPY"/>
<property name="pdfuser" value="mypdf"/>
<property name="pdfowner" value="employee"/>
<include src="mainSection"/>
</file>
</destinations>

配布XMLファイルの詳細は、第19.3項「配布XMLファイルの概要」および第19.5項「配布XMLファイルの例」を参照してください。

10.2.5 アクセシビリティ

Oracle Reportsでは、様々な方法でPDFファイルにアクセシビリティ機能を含めることができます。PDFフォーマットのファイルは、PDF 1.4で定義されているタグ付きPDFの標準に従います。この標準とAcrobat Reader 5(またはそれ以降のバージョン)を使用することにより、ペーパー・レイアウトにアクセシビリティ機能を含めることができます。

Oracle Reportsで用意しているアクセシビリティ関連機能をコマンドラインから有効にする方法の詳細は、第A.5.1項「ACCESSIBLE」を参照してください。障害のあるユーザーがPDFレポート出力にアクセスできるようにする目的で設計されたOracle Reports用アクセシビリティ・プロパティ(「代替テキスト」、「ヘッダー」、「ID」、「レポート言語」および「表キャプション」の各プロパティ)の使用方法の詳細は、Oracle Reportsのオンライン・ヘルプを参照してください。

さらに、Oracle Reportsレポートの作成マニュアルの第43章「アクセス可能なJSPベースのWebレポートの作成」およびOTNのOracleアクセシビリティ・サイト(http://www.oracle.com/accessibility/index.html)を参照してください。このサイトでは、アクセシビリティに関するさらなる説明と、ホワイト・ペーパーの『Creating Accessible Enterprise Reports Using Oracle Reports』を参照できます。

10.2.6 分類

PDF文書には、その文書に関する全体的な情報(文書のタイトル、作成者、作成日時、変更日時など)を含めることができます。このような全体的な情報は、外部データベースで文書をカタログ化したり検索するときには、特に便利です。

Oracle Reportsでは、そのような分類を行うための次のプロパティが用意されています。これには、次のようなものがあります。

- タイトル

- 作成者

- 件名

- キーワード

表10-6 分類プロパティ

プロパティ名

タイプ

説明

デフォルト値

タイトル

STRING

文書のタイトル

PDF文書名

作成者

STRING

文書の作成者

Oracle Reports

件名

STRING

文書の件名

なし

キーワード

STRING

文書を分類するためのキーワードを指定

なし

分類プロパティの詳細は、Oracle Reportsのオンライン・ヘルプを参照してください。

10.2.7 グラフのサポート

Oracle Reportsには、インチ当たりのドット数(DPI)値を指定する機能が備わっています。この値は、PDF出力内のグラフのイメージ解像度に適用されます。この機能によって、イメージの品質を損なうことなく、グラフを拡大縮小できます。

詳細は、第B.1.50項「REPORTS_GRAPH_IMAGE_DPI」および第B.1.53項「REPORTS_JPEG_QUALITY_FACTOR」を参照してください。

10.3 Unicode PDFファイルの生成

この項では、Unicodeキャラクタ・セットを使用してPDFファイルを生成するステップについて説明します。この項で説明するフォント機能を使用する前に、表10-4を参照して、使用するアプリケーションのニーズに最適な機能を確認してください。

10.3.1 フォント・サブセット

フォント・サブセット機能を使用してUnicode PDFファイルを生成するステップは、次のとおりです。

1. NLS_LANG=AMERICAN_AMERICA.UTF8を設定します。

2. REPORTS_PATHを、TrueTypeフォントが格納されているフォント・ディレクトリに設定します。例: C:\WINNT\fonts。

3. uifont.aliファイルを開いてから[PDF:Subset]セクションを編集し、TrueTypeフォントの名前を指定します。

ノート:

uifont.aliファイルは、WindowsおよびUNIXでは次のディレクトリにあります。

- ORACLE_INSTANCE\config\FRComponent\
frcommon\guicommon\tk\admin

例

[ PDF:Subset ]
"Andale Duospace WT J" = "Aduoj.ttf"
"Albany WT J"="AlbanWTJ.ttf"

指定されたフォントは、レポートで使用するUnicode文字の範囲をカバーする必要があります。

4. 多言語データを含むレポートを作成し、そのフォントをUnicodeフォントに設定します。

5. 多言語データを含むレポートをDESTYPE=FILE DESFORMAT=PDFで実行します。

10.4 双方向(BiDi) PDFファイルの生成

この項では、双方向(BiDi)言語のPDFファイルを生成するステップについて説明します。この項で説明するフォント機能を使用する前に、表10-4を参照して、使用するアプリケーションのニーズに最適な機能を確認してください。

Oracle Reportsでは、ヘブライ語やアラビア語などの双方向(BiDi)言語でのフォントの整形オプションや数値オプションを決定する次の2つの環境変数が用意されています。これには、次のようなものがあります。

1. REPORTS_BIDI_ALGORITHM
この環境変数は、双方向(BiDi)言語(アラビア語やヘブライ語など)のレイアウト・アルゴリズムを切り替えます。この環境変数の有効値は、ORACLE、ENHANCEDまたはUNICODEです。

関連項目:

第B.1.31項「REPORTS_BIDI_ALGORITHM」

2. REPORTS_ARABIC_NUMERAL
この環境変数は、アラビア語のPDF出力での数値の書式を指定します。

関連項目:

第B.1.29項「REPORTS_ARABIC_NUMERAL」

10.4.1 フォント・サブセット

この項の例では、アラビア語環境を使用していることを前提とします。フォント・サブセット機能を使用して双方向(BiDi)言語のPDFファイルを生成するステップは、次のとおりです。

1. NLS_LANG=ARABIC_EGYPT.AR8MSWIN1256 (UNIXではAR8ISO8859P6)を設定します。

2. REPORTS_PATHを、TrueTypeフォントが格納されているフォント・ディレクトリに設定します。例: C:\WINNT\fonts。

3. uifont.aliファイルを開いてから[PDF:Subset]セクションを編集し、TrueTypeフォントの名前を指定します。

ノート:

uifont.aliファイルは、WindowsおよびUNIXでは次のディレクトリにあります。

- ORACLE_INSTANCE\config\FRComponent\
frcommon\guicommon\tk\admin

例

[PDF:Subset]
"Andale Duospace WT J" = "Aduoj.ttf"
"Albany WT J"="AlbanWTJ.ttf"

4. アラビア語のデータを含むレポートを作成し、それを例で指定したフォントに設定します。

5. DESTYPE=FILE DESFORMAT=PDFを指定してレポートを実行します。

10.5 マルチバイトPDFファイルの生成

この項では、マルチバイト・フォントを含むPDFファイルを生成するステップについて説明します。この項で説明するフォント機能を使用する前に、表10-4を参照して、使用するアプリケーションのニーズに最適な機能を確認してください。

PDFのフォント・サブセット出力では、全幅チルド(U+FF5E)のかわりに波ダッシュ(U+301C)が表示される場合があります。これは、Microsoft社と他のベンダー間で文字マッピングに互換性がないことによります。この問題を回避するには、PDFのフォント・サブセットにJA16SJISTILDEまたはJA16EUCTILDE文字セットを使用します。ただし、この問題はPDFフォント・エイリアシング機能には見られません。

10.5.1 フォント・エイリアシング

マルチバイト・フォントのPDFフォント・エイリアシングに使用するOracle NLS_CHARACTERSET、CMap名およびCIDフォント名との間におけるマッピングのサマリーは、表10-2を参照してください。

フォント・エイリアシングを使用してマルチバイト・フォントのPDFファイルを生成するステップは、次のとおりです。

1. NLS_LANG=JAPANESE_JAPAN.JA16SJIS (UNIXではJA16EUC)を設定します。

2. uifont.aliファイルを開き、[PDF]セクションでフォント・エイリアスを設定します。

ノート:

uifont.aliファイルは、WindowsおよびUNIXでは次のディレクトリにあります。

- ORACLE_INSTANCE\config\FRComponent\
frcommon\guicommon\tk\admin

例

[ PDF ]
.....JA16SJIS = "KozMinPro-Regular-Acro"
"MS UI Gothic".....JA16SJIS = "KozMinPro-Regular-Acro"

3. 日本語フォント(MS UI Gothic)を指定した日本語データのレポートを作成します。

4. DESTYPE=FILE DESFORMAT=PDFを指定してレポートを実行します。

5. 使用しているAcrobat Readerが、日本語以外のオペレーティング・システムにインストールされた他言語バージョンである場合、日本語のフォント・パックをAdobeのサイトから入手してインストールする必要があります。
Windows(日本語版)で日本語バージョンのAcrobat Reader 4.0または5.0を使用してPDFファイルを表示する場合は、日本語のフォント・パックは不要です。

10.5.2 フォント・サブセット

フォント・サブセット機能を使用してマルチバイト・フォントのPDFファイルを生成するステップは、次のとおりです。

1. NLS_LANG=JAPANESE_JAPAN.JA16SJIS (UNIXではJA16EUC)を設定します。

2. REPORTS_PATH環境を、TrueTypeフォントが格納されているフォント・ディレクトリに設定します。たとえば、C:\WINNT\Fontsを追加します。

3. uifont.aliファイルを開いてから[PDF:Subset]セクションを編集し、TrueTypeフォントの名前を指定します。

ノート:

uifont.aliファイルは、WindowsおよびUNIXでは次のディレクトリにあります。

- ORACLE_INSTANCE\config\FRComponent\
frcommon\guicommon\tk\admin

例

[ PDF:Subset ]
"Andale Duospace WT J" = "Aduoj.ttf"
"Albany WT J"="AlbanWTJ.ttf"
"MS UI Gothic" = "msgothic.ttc"

4. 日本語のデータを含むレポートを作成し、それを例で指定したフォントに設定します。

5. DESTYPE=FILE DESFORMAT=PDFを指定してレポートを実行します。

10.6 バーコードPDFファイルの生成

この項では、バーコード情報を含むPDFファイルを生成するステップについて説明します。この項で説明するフォント機能を使用する前に、表10-4を参照して、使用するアプリケーションのニーズに最適な機能を確認してください。

10.6.1 フォントの埋込み

フォントの埋込みの機能を使用してバーコードPDFファイルを生成するステップは、次のとおりです。

1. REPORTS_PATH環境変数を、Type1フォントが格納されているフォント・ディレクトリに設定します。

2. uifont.aliファイルを開き、フォントの埋込み[PDF:Embed]セクションで、次のように指定します。

ノート:

uifont.aliファイルは、WindowsおよびUNIXでは次のディレクトリにあります。

- ORACLE_INSTANCE\config\FRComponent\
frcommon\guicommon\tk\admin

例

[ PDF:Embed ]
SAdHC39a = "SAdHC39a.pfm SAdHC39a.pfb"

3. バーコードのデータを含むレポートを作成し、そのフォントを例で指定したフォントに設定します。

4. DESTYPE=FILE DESFORMAT=PDFを指定してレポートを実行します。

10.6.2 フォント・サブセット

フォント・サブセット機能を使用してバーコードPDFファイルを生成するステップは、次のとおりです。

1. REPORTS_PATH環境変数を、TrueTypeフォントが格納されているディレクトリに設定します。たとえば、C:\WINNT\Fontsを追加します。

2. uifont.aliファイルを開いてから[PDF:Subset]セクションを編集し、TrueTypeフォントの名前を指定します。

ノート:

uifont.aliファイルは、WindowsおよびUNIXでは次のディレクトリにあります。

- ORACLE_INSTANCE\config\FRComponent\
frcommon\guicommon\tk\admin

例

[ PDF:Subset ]
SAdHC39a = "SAdHC39a.ttf"

3. バーコードのデータを含むレポートを作成し、それを例で指定したフォントに設定します。

4. DESTYPE=FILE DESFORMAT=PDFを指定してレポートを実行します。

11 フォント・モデルおよびクロス・プラットフォームの配布

今日のビジネスでは、プラットフォームやインフラストラクチャにおいてシームレスな統合と相互運用が求められています。Oracle Reportsでは、組織の内部と外部に関係なくすべてのレベルに対してデータの作成と配布ができます。しかし、企業のレポート・ツールは、システム・フォントやプリンタ・フォントなどのプラットフォーム固有の機能に依存しています。そのため、開発プラットフォーム(Windowsなど)と配布プラットフォーム(UNIXベースのプラットフォームなど)が異なる場合に、それらのプラットフォーム間でレポートを移植すると、レポートのルック・アンド・フィールが変わるおそれがあります。

この章では、新規フォント・モデルとその機能について説明します。この新規フォント・モデルにより、多くの新機能とメリットが実現されます。詳細は、第11.1項「このリリースでの新機能」を参照してください。

新規フォント・モデルを使用しない場合は、レポートをUNIXプラットフォームに配布する際に、11gより前のフォント設定を手動で構成し、手動で若干の修正を加える必要があります。

この章では、プラットフォームの選択によってレポート出力のルック・アンド・フィールに影響が生じるシナリオも取り上げます。クロス・プラットフォームで問題となるレポート出力フォーマット(PDF、HTMLCSSおよびRTFなど)を、それぞれの項に分けて説明します。各項では、プラットフォームが変わってもレポートを同じ外観で出力できる方法をステップを追って説明します。これらの説明の後には、トラブルシューティング情報とFAQ(よくある質問)を記載します。マルチバイトやUnicodeレポートには別のステップが必要になるため、これらのトピックも新たな項を設けて説明します。この章では、特に明記しないかぎり、Oracle9i Reports、Oracle Reports 10gリリース1 (9.0.4)、10gリリース2 (10.1.2)および11gリリース2 (11.1.2)を対象に説明します。

この章を読むには、あらかじめ次の各章で概念と用語を理解しておいてください。

- 第7章「Oracle Reports Servicesの構成」

- 第8章「Oracle Reportsでのフォントの管理」

- 第9章「UNIXでのOracle Reportsによる印刷」

- 第10章「Oracle ReportsでのPDFの使用」

- 付録B「環境変数」

この章には、次の項があります。

- このリリースでの新機能

- フォント・モデルの概要

- クロス・プラットフォームの問題の概要

- プラットフォームによって異なるフォント

- フォントに関連する問題の解決

- HTMLCSS、RTFまたはWeb出力の生成

- シングルバイトPDF出力の生成

- マルチバイトPDF出力の生成

- Unicode PDF出力の生成

- PostScript出力の生成

ノート:

この章では、レポートをクロス・プラットフォームで同じ外観に出力するために別の作業を必要とするシナリオとガイドラインについてのみ説明しています。

11.1 このリリースでの新機能

Oracle Reports 11gリリース2 (11.1.2)は、表11-1(表1-1「11gの機能と10gの機能との比較」の一部)に示すようにフォント処理が大幅に強化されています。

表11-1 11gのフォント機能と10gの機能との比較

11gの新機能

10gにおける同等機能

TrueTypeフォント(TTF)とTrueType Collections (TTC)がクロス・プラットフォームでサポートされています。UNIXにおけるレポート出力は通常、Windowsと同じであるので、クロス・プラットフォームの配布を簡単にできます。

Oracle Reportsでは、フォント・メトリックを適切なTTFファイルから読み取って、レポート出力を正しくフォーマットします。これによって、フォント・メトリックの不一致によりテキスト文字の不揃いが発生する問題がなくなります。使用可能なTTFファイルのフォントは自動的に検索されます。TTFフォント・ファイルが見つからない場合、11gより前の実装のフォント検索メカニズムが使用されます。

新しい環境変数のREPORTS_ENHANCED_FONTHANDLINGとREPORTS_FONT_DIRECTORY

UNIXとWindowsのレポート出力のフォントにおける潜在的な不一致は、WindowsとUNIXのフォント・メカニズムにおける違いが原因で発生します。フォント・エイリアシングがPDFフォント・サブセットとともに必要でした。

古いフォント・ファイル・タイプ(たとえば、AFM)がサポートされています。これらのフォント・タイプをすべてのフォントで取得するのは困難です。TTFをAFMに変換する必要がある場合がほとんどですが、これらのファイルでもWindowsにおける出力と完全に同一の出力は実現されませんでした。

PDFのすべての文字セットがサポートされています。新しいフォント・モデルにより、PDFサブセット化レポート出力で不揃いが発生しません。UNIXでPDFのUnicodeフォント・サブセットがサポートされています。

マルチバイト・レポートのみサポートされています。UNIX出力でテキスト文字の不揃いを解決するには、PFMファイルとPFAファイルの作成が必要です。AFMファイルに依存します。

可変幅フォント出力が特に問題でした。その理由としてはReportsではファイルで最初の256文字よりも後にある文字列の幅を取得できなくて、これらの文字列がすべて固定幅として扱った結果、不揃いが発生したためです。

Oracle Enterprise Managerによりフォントの管理と構成が単純になりました。Oracle Enterprise Managerを使用して、uifont.aliのエイリアシング関連エントリとサブセット化関連エントリ(グローバル・エイリアシング、PDFエイリアシング、PDFサブセット化など)、プリンタ解像度および使用対象デフォルト・フォントを変更します。

uifont.aliと構成ファイルのフォントを構成します。

PDF、パスワードによる保護、およびセキュリティ。新しいコマンドライン引数を指定して、Oracle Reportsで生成されたPDFレポートをパスワード保護します。特定の権限を抑止すると、生成されたPDFレポートのセキュリティを確保することもできます。

PDFレポートの暗号化やセキュリティ権限の指定はできません。

フォント診断機能に対応しています。フォント問題の診断ではトレースを容易に理解できるようになりました。使用されているフォントのレポート報告機能や他にもデバッグ・ツールが用意されています。

問題を診断するのは困難です。

11.2 フォント・モデルの概要

Oracle Reports 11gリリース2 (11.1.2)では、UNIXプラットフォームでTTFとTTCのフォント・タイプをサポートする新規フォント・モデルを使用しています。Oracle Reportsでは、実行時に新規フォント・モデルを使用し、設計時には従来のMotifツールキットを使用します。このフォント・モデルは、すべての宛先フォーマットに適用され、フォント・エイリアシングとフォント・サブセットをサポートしています。REPORTS_ENHANCED_FONTHANDLING環境変数がNOに設定されていると、従来のツールキット・メカニズムが使用されます。

新規フォント・モデルにより、次の新機能とメリットが実現されます。

- フォントの設定、構成および検索が単純になります。

- UnixでTrueTypeフォント(TTF)とTrueType Collections (TTC)がサポートされます。

- UNIXでPDFのUnicodeフォント・サブセットがサポートされます。

- 単純なフォント検索アルゴリズムと拡張フォーマッタが含まれています。

- 新規フォントが自動的に認識されます。

- PDFのすべての文字セットがサポートされます。

- フォント関連の診断とトレース情報を提供します。

- Motifツールキットに基づいて従来のフォント・モデルとの下位互換性がサポートされます。

- Windowsで共通に利用できるTTFフォントとTTCフォントが使用されます。

- TTFをAFMファイルやTFMファイルに変換する必要はありません。

ノート:

レポートの設計には、Windows版のOracle Reports Builderを使用することをお薦めします。

11.2.1 フォントの検索

Windowsの場合はプリンタ・ドライバを使用するため、フォント検索メカニズムは単純です。プリンタ・ドライバには、必要に応じてフォントをシステムからアップロードする機能があります。Windowsで実行されるOracle Reportsの出力に含まれるフォントは、次のいずれかになります。

- システム・フォント

- プリンタ・フォント

したがって、使用可能なフォントをOracle Reportsで検索する際、プリンタ・フォントとシステム・フォントの両方が対象となります。

UNIXの場合、出力生成に使用できるフォントは次のいずれかです。

- プリンタで使用可能なフォント(PPDファイルまたはTFMファイルで定義されているフォント)

- プリンタが指定されていない場合は、ScreenPrinter (screenprinter.ppd)で使用可能なフォント

関連項目:

- 第8.3項「フォント構成ファイル」

- 第9.8.1項「ScreenPrinter」

11.2.1.1 フォント検索アルゴリズム

UNIXでレポート出力を生成する際に使用できるフォントを特定するプロセスについて説明します。

図11-1 フォント・アルゴリズム

Oracle Reportsにおいて、出力(画面用、プリンタ用またはファイル用など)の生成に使用可能なフォントのリストを生成するステップは次のとおりです。

- Oracle Reportsでは、REPORTS_ENHANCED_FONTHANDLING環境変数が設定されているかどうかをチェックします。

- 環境変数が設定されている場合は、レイアウト・オブジェクトに使用されているTTFフォントおよびTTCフォントがREPORTS_FONT_DIRECTORYにあるかどうかをチェックします。

- TTFフォントおよびTTCフォントがREPORTS_FONT_DIRECTORYにある場合、Oracle Reportsではメトリックの計算にTTFフォントを使用します。これにより、マルチバイト言語のレポート出力で文字の不揃いが防止されます。

- TTFフォントおよびTTCフォントがREPORTS_FONT_DIRECTORYにない場合、Oracle Reportsでは従来のツールキット・メカニズムの使用に戻り、最も類似度の高いType1のフォントがマシンで検索されます。

ノート:

REPORTS_ENHANCED_FONTHANDLING変数が設定されていない場合は、従来のMotifツールキット・メカニズムが使用されます。

11.2.2 新規フォント・モデルの構成

新規フォント・モデルを構成するには、次のステップを実行します。

1. REPORTS_ENHANCED_FONTHANDLING環境変数がYESに設定されていることを確認します。デフォルト値はyesです。

2. レポートに使用されているすべてのTTFファイルおよびTTCファイルをREPORTS_FONT_DIRECTORYにコピーします。デフォルトのフォント・ディレクトリは$ORACLE_INSTANCE/reports/fontsです。

3. uifont.aliファイルに不要なエイリアシングがある場合は削除します。たとえば、デフォルトでArialがHelveticaにエイリアシングされている場合などです。レポートでArialフォントを使用する場合、uifont.aliファイルからエイリアシングを削除する必要があります。

ノート:

従来のMotifツールキットを使用する場合、クロス・プラットフォームの問題を考慮して、回避策を適用する必要があります。UNIXでのレポートの作成および配布には、新規フォント・モデルを使用することをお薦めします。

11.2.3 フォント診断およびトレース

Oracle Reports 11gリリース2 (11.1.2)の新規フォント・モデルでは、フォント診断機能およびトレース機能が改善されました。

永続的なロガーおよびアクティブなランタイム・ロガーのログ・レベルを構成できます。ログ・レベルにより、トレース出力に含まれるトレース情報の量を制限できます。

たとえば、Oracle Diagnostic Loggingレベル(Javaレベル)をトレース:1 (FINE)に設定すると、次のフォント関連情報がログ・ファイルとトレース出力に含まれます。

- フォント・ディレクトリ名

- フォント・ディレクトリで利用できるフォント

- ペーパー・レイアウトのオブジェクトに使用されフォント・ディレクトリにはないフォント

フォント問題の診断の詳細は、第8.8項「フォントの問題の診断」を参照してください。

11.3 クロス・プラットフォームの問題の概要

Oracle Reportsは、Windows、Linux、Sun Solaris、HP-UX、IBM AIXなどの様々なプラットフォームで利用できます。Oracle Reportを使用すると、これらのプラットフォーム間でレポートの作成と配布ができます。最も一般的なシナリオは、レポートをWindowsで作成し、LinuxなどのUNIXベース環境に配布するシナリオです(図11-2を参照)。その場合、配布されたレポートのルック・アンド・フィールは若干異なって表示されます。たとえば、Windowsでレポートを作成する場合、レポート内のテキスト・オブジェクトやフィールドには適切なスペースを割り当てます。しかし、そのレポートをLinuxに配布して実行すると、割り当てたはずのスペースにテキストが収まらない場合があります。これが、プラットフォームの違いが直接出力に影響するクロス・プラットフォームの問題です。このような問題が起きるのは、開発プラットフォームで使用できたフォントが配布プラットフォームで使用できないことが原因になっている場合があります。そのため、レポートを配布プラットフォームで実行する場合は、レポート出力のフォーマットに代替フォントを使用することが必要になります。しかし、フォント間でなんらかの違いがあれば、開発プラットフォームと配布プラットフォームのレポート出力も異なって表示されます。

クロス・プラットフォーム問題が発生する別のシナリオは、レポートを最終的に表示するプラットフォームに(図11-2を参照)適切なフォントがインストールされていない場合です。その場合は、開発プラットフォームと配布プラットフォームでレポートが正しく出力されていても、エンド・ユーザーがレポートを表示するプラットフォームには、レポートのルック・アンド・フィールが異なって表示されます。

図11-2 クロス・プラットフォームの配布シナリオの例

11.3.1 プラットフォームによって異なるフォント

フォントは、特定のスタイルとサイズで印刷または表示できる一連のテキスト文字です。フォントは、レポートを画面上に表示したり、印刷したりするために必要です。Oracle Reportsでは、レポートをフォーマットするとき、つまりレポート・コマンドを実行するとき、これらのフォント・メトリックを使用します。レポートがフォーマットされ、出力が生成される作業は、フォント・メトリックに基づいて実行されます。

フォント・メトリックは特定のファイルによって提供されます。このファイルは、Oracle Reports Servicesを実行するシステムで使用できる必要があります。Windowsの場合、フォント・メトリックはTrueType Font (TTF)ファイルまたはTrueType Collection (TTC)ファイルによって提供されます。UNIXプラットフォームの場合、フォント・メトリックはAdobe Font Metrics (AFM)ファイルまたはTeX Font Metrics (TFM)ファイルによって提供されます。使用できるフォントやメトリックは、オペレーティング・システムによって異なります。フォントやレンダリングが異なれば、生成される出力の外観も異なります。

例1: シングルバイト領域において一般的に使用されるTahomaフォントは、Windowsでは使用できますがUNIXでは使用できません。たとえば、レポートの開発者がレポートの設計時にTahomaフォントを使用したとします。このレポートは開発プラットフォームであるWindowsで出力すると、問題なく表示されます。次に、このレポートを配布プラットフォーム(Linuxなど)に移植するとします。このレポートの実行リクエストをReports Serverに送信すると、Reports ServerはTahomaフォントのメトリックを探します。しかし、TahomaはWindows固有のフォントであるため、このメトリック・ファイルは見つかりません。その場合は、Tahomaに似た別のフォントが使用されます。異なるフォントが使用されたため、レポート出力は異なって表示されます。

例2: 開発プラットフォームと配布プラットフォームがWindowsであるとします。開発プラットフォームと配布プラットフォーム上のReports Serversは、どちらもWindowsで稼動しているため、Tahomaフォントにアクセスできます。しかし、エンド・ユーザーがLinuxで出力を表示するとします。すべてのレポート出力フォーマット(HTML、HTMLCSS、RTFおよびPDF)ではフォントが参照されるだけで、PDFのフォントの埋込み機能を使用しないかぎり出力に埋め込まれることはありません。そのため、クライアント・システムはレポート出力を表示するためにTahomaフォントを探します。しかし、TahomaはLinuxで使用できないため、ユーザーが出力を表示するときにクロス・プラットフォームの問題が発生します。

11.3.2 フォントに関連する問題の解決

これまで説明したように、多くのクロス・プラットフォーム問題は、Reports Serverが実行されている本番環境かクライアント・システムのいずれかでフォントが使用できないところに原因があります。このようなフォントの利用可能性に関する問題は、次の3つの段階で解決する必要があります。

1. 開発プラットフォーム: レポートを作成する場合は、常に配布プラットフォームで利用できるフォントを考慮します。Windows (TTFファイル)で使用可能なすべてのフォント・ファイルが、UNIX (AFMファイルまたはTFMファイル)でも使用できるとは限りません。UNIXプラットフォームで使用できる適切なAFMまたはTFMフォント・ファイルがある場合は、そのフォント・ファイルを使用できます(PostScript出力の場合はAFMファイル、PCLの場合はTFMファイル)。UNIX上に使用可能なAFMフォント・ファイルがない場合、または文字の不揃いなどレポート出力にフォントの問題が発生した場合は、ttf2pt1など、サード・パーティの無料ユーティリティを使用してWindowsのTTFファイルを変換し、AFMファイルを生成できます。TFMファイルには変換しないでください。予測したとおりの結果にならない場合があります。

2. 配布プラットフォーム: レポートに存在するフォントを使用できることを確認します。PDF出力の場合は、フォント・エイリアシングを使用して、使用不可能なフォントをそれに最も類似したフォントに置換します。どの出力フォーマットでもグローバル・フォント・エイリアシングを使用できます。この後のいずれの項でも、例をあげる必要がある場合は、同じコメントを使用します。

3. クライアント・プラットフォーム: クライアント・システムでフォントが使用できることを確認します。たとえば、第10章「Oracle ReportsでのPDFの使用」に記載されているように、PDF出力では、フォント・サブセットまたはフォントの埋込みを使用できます。HTML、HTMLCSSまたはRTF出力フォーマットでは、フォントを埋め込むことができません。そのため、レポートの設計時には、すべてのプラットフォームで利用できることがわかっているフォントを使用するようにします。

11.4 HTMLCSS、RTFまたはWeb出力の生成

表11-2に、宛先フォーマットがHTMLCSS、RTFまたはWebである場合におけるクロス・プラットフォーム配布シナリオを示します。

表11-2 クロス・プラットフォームの配布 - シナリオ1

開発プラットフォーム

配布プラットフォーム

宛先フォーマット

Windows

UNIX

HTMLCSS、RTFまたはWeb

ここでは、HTMLCSS、RTFまたはWeb出力を想定したレポートの設計および配布を、次の項で説明します。

- レポートの設計

- レポートの配布

- よくある質問

11.4.1 レポートの設計

UNIXプラットフォームにレポートを配布する前に、レポートを準備するには:

1. 新しいレポートを作成します。レポートを作成するときは、ボイラープレートやフィールドのオブジェクトに余分なスペースを確保しておきます。これは、配布プラットフォームでレポートを実行した場合に、テキスト幅が拡張されてもボックスのサイズに収まるようにするためです。

2. レポートで使用するフォントについて、次の項目を確認します。

- UNIXで使用可能なフォントを使用します。Windows (TTFファイル)で使用可能なすべてのフォント・ファイルが、UNIX (AFMファイルまたはTFMファイル)でも使用できるとは限りません。UNIXプラットフォームで使用できる適切なAFMまたはTFMフォント・ファイルがある場合は、そのフォント・ファイルを使用できます(PostScriptの場合はAFMファイル、PCLの場合はTFMファイル)。

ノート:

AFMがサポートされるのは、日本語エンコードを除き、シングルバイトのPostScriptファイル生成時のみです。

AFMファイルに対してサポートされるコード体系は、次のとおりです。

- AdobeStandardEncoding

- ExtJIS12-88-CFEncoding

- FontSpecific

- HRoman

- ISOLatinHebrew

- JIS12-88-CFEncoding

- JIS12e-88-CFEncoding

- 適切に拡大または縮小可能なフォントを使用します。たとえば、Tahomaは異なるフォント・サイズに適切に拡張または縮小できますが、MS Sans Serifはできません。これは、MS Sans Serifがラスター・フォントであるためです。ラスター・フォントは任意のサイズに変更できず、一般的に表示が粗くなる問題があります。一方、TahomaはTrueTypeフォントであり、MS Sans Serifフォントと非常に似ています。またTahomaはベクトル・フォントであるため、任意のサイズに変更したり、適切な角度にフォントを回転したりできます。

11.4.2 レポートの配布

新規フォント・モデルを使用する11gでのレポートの配布

1. REPORTS_ENHANCED_FONTHANDLING環境変数がYESに設定されていることを確認します。デフォルト値はyesです。

2. レポートに使用されているすべてのTTFファイルおよびTTCファイルをREPORTS_FONT_DIRECTORYにコピーします。デフォルトのフォント・ディレクトリは$ORACLE_INSTANCE/reports/fontsです。

3. uifont.aliファイルに不要なエイリアシングがある場合は削除します。たとえば、デフォルトでArialがHelveticaにエイリアシングされている場合などです。レポートでArialフォントを使用する場合、uifont.aliファイルからエイリアシングを削除する必要があります。

4. レポートを実行します。

Motifツール・キット・メカニズムを使用する11gより前のバージョンでのレポートの配布

UNIX上に使用可能なAFMフォント・ファイルがない場合、または文字の不揃いなどレポート出力にフォントの問題が発生した場合は、ttf2pt1など、サード・パーティの無料ユーティリティを使用してWindowsのTTFファイルを変換し、AFMファイルを生成できます。TFMファイルには変換しないでください。予測したとおりの結果にならない場合があります。

AFMフォント・ファイルを使用できない場合にUNIXプラットフォームにレポートを配布するには:

1. レポートに使用されているフォントに対応するTTFファイルを探します。これらのTTFファイルをAFMに変換して、レポートに使用されているフォント用のAFMファイルを作成します。
TTFファイルからAFMファイルへの変換には、TrueTypeからType1へのフォント変換ユーティリティを使用します。たとえば、ttf2pt1です。

2. 変換後、AFMファイルの名前から拡張子.afmを削除します。例:

表11-3 変換後のフォント・ファイル名

変換前

変換後

変更した名前

arial.ttf

arial.afm

Arial

cour.ttf

cour.afm

CourierNew

3. 変換したAFMファイルを$ORACLE_HOME/guicommon/tk/admin/AFMディレクトリにコピーします。

4. 任意のテキスト・エディタを使用して、screenprinter.ppdファイルを編集します。

ノート:

ORACLE_HOME/guicommon/tk/admin/uiprint.txtにエントリを追加してデフォルトのプリンタを定義している場合は、プリンタのPPDファイル(PostScriptプリンタ)またはHPDファイル(PCLプリンタ)に適切なエントリを追加する必要があります。

Oracle Reports 10g リリース1 (9.0.4)以降、デフォルトのプリンタを設定していない場合は、次のようになります。

- 画面を擬似実行するデフォルト・プリンタ・サーフェス(screenprinter.ppd)がフォーマットで使用されます。

- screenprinter.ppdファイルに必要なフォントや解像度のエントリを追加する必要があります。

PPDファイルとHPDファイルは次の場所にあります。

- $ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

- $ORACLE_HOME/guicommon/tk/admin

Oracle Reportsは、HPDファイルまたはPPDファイルをまずOracleインスタンスの場所で検索し、それからOracleホームの場所で検索します。

screenprinter.ppdファイルの詳細は、第9.8.1項「ScreenPrinter」を参照してください。

使用するPPD/HPDファイルに、レポートに使用されているAFMファイルまたはTFMファイルすべてのエントリがあることを確認します。PPD/HPDファイルはプリンタ・ドライバの設定を含む構成ファイルであり、そのプリンタでサポートされるすべてのフォントがリストされています。

PPDファイルのFont Informationセクションに移動して、必要なフォント・ファイルのエントリを次のような形式で追加します。

*FONTNAME:ENCODING:VERSION:LOCATION

例:

*Font Arial: Standard "(Version 2.76)" Standard ROM
*Font CourierNew: Standard "(Version 2.76)" Standard ROM

PPDファイルに指定されているフォント名とAFMファイル名とが正確に一致していることを確認します。Oracle Reportsでは、PPDファイルのフォント名に基づいてAFMファイルを検索します。

5. レポートに使用されているフォントがエイリアシングされていないことを確認します。
たとえば、uifont.aliファイルを編集し、[Global]セクションのエントリをコメント化します。この例では、ArialとCourier Newのエイリアシングの対象にHelveticaとCourierが指定されています。

[ Global ] # Put mappings for all surfaces here.
# Mapping from MS Windows
#Arial = helvetica
#"Courier New" = courier

これで、ArialとCourier Newは別のフォントにエイリアシングされません。

ノート:

uifont.aliファイルは、WindowsおよびUNIXでは次のディレクトリにあります。

- Windowsの場合: ORACLE_INSTANCE\config\FRComponent\frcommon\tools\common

- UNIXの場合: $ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

フォントのエイリアシングは、特定のフォントについてAFMファイルが生成不可能な場合にのみ使用してください。その場合は、対象フォントを最も類似度が高いフォントにエイリアシングできます。エイリアシングのフォントは、レポート出力を生成するマシンにはなくても、レポート出力を表示するマシンでは必ず使用できる必要があります。

6. レポートを実行します。

http://mywebserver.com:reports/rwservlet?server=myserver+report="/home/myreports/test.rdf"+authid=hr/hr@mydb+desformat=htmlcss+destype=cache

レポートのHTMLCSS出力は、Windowsで生成する場合とまったく同様に表示されます。

11.4.2.1 トラブルシューティング情報

配布に関する問題が発生した場合は、次のトラブルシューティング情報を参照してください。

- HTMLCSS出力でフォントが正しく表示されない場合は、環境変数DEBUG_SLFINDを、debug.txtなどのログ・ファイル名に設定してからレポートを実行します。PPDファイルと使用されているフォントの解析時に参照されるフォント・ファイルが、ログ・ファイルdebug.txtに書き込まれます。特に次の項目について確認してください。

1. 変更したPPDファイルが参照されているはずです。参照されていない場合は、構成に問題があります。詳細は、第8章「Oracle Reportsでのフォントの管理」を参照してください。

2. 次に、AFMディレクトリにコピーしたAFMファイルが参照されているはずです。

DEBUG_SLFINDの詳細は、第9章「UNIXでのOracle Reportsによる印刷」を参照してください。

11.4.3 よくある質問

この項では、レポートをHTMLCSS、RTFまたはWebに配布する作業に関連したよくある質問(FAQ)に対して回答します。

質問

Windowsでイタリックや太字などのフォント・スタイルを指定してレポートを設計したのに、UNIXで実行すると、Windowsの場合と同様に表示されません。なぜでしょうか。

回答

UNIXでは、レポートをフォーマットする場合、フォントに対応するAFMファイルが使用されます。デフォルトでは、これらのAFMファイルは、インストール時に指定された$ORACLE_HOME/guicommon/tk/admin/AFMディレクトリから取得されます。レポート上のフォント・スタイルに対応するAFMファイルがUNIXに存在しない場合は、最も類似したAFMファイルが使用されます。たとえば、WindowsでCourier Italicフォントを使用してレポートを設計し、UNIXでそのレポートを実行した場合、標準のCourierフォントしか表示されない場合があります。これは、$ORACLE_HOME/guicommon/tk/admin/AFMディレクトリに、Courier Italicフォントに対応したAFMファイルが存在しないため、Courierが使用されたことが原因です。この問題を解決するには、AFMファイルが存在し、同じスタイルを持つ別のフォントにエイリアシングします。たとえば、uifont.aliのglobalセクションで、Courier ItalicのエイリアシングとしてTimes Italicを指定します。また、Windowsには、太字、イタリック、太字のイタリックなどのバージョンを持つフォントがあります。たとえば、Arialにはarialbd.ttf (Arial bold)、ariali.ttf (Arial italic)およびarialbi.ttf (Arial bold italic)があります。そのため、太字、イタリック、太字のイタリックのTTFファイルがあるフォントを使用している場合は、ttf2pt1を使用してそれらのTTFファイルからAFMファイルを生成し、生成したAFMファイルをUNIXで使用できます。

質問

レポートをWindowsで作成し、HP-UX 11に配布しました。HP-UX 11ではフォント・スタイルは正しく表示されますが、行間隔が正しく表示されず、テキストによっては割り当てられたスペースに収まらないものもあります。テキストを正しく表示するには、行間隔をどのように修正すればよいですか。

回答

ドキュメント内のすべてのフォントに対して、対応するAFMファイルを設定します。詳細は、第11.4.1項「レポートの設計」を参照してください。

質問

レポートをWindowsで設計しました。このレポートを別のプラットフォームに配布すると、文字化けが起こります。たとえば、一部のフィールドには、実際の内容のかわりに*****が表示されます。これは間隔の問題でしょうか。

回答

Oracle Reportsが、レポートに使用されているフォントのAFMファイルを検索して、見つけられなかった可能性があります。これは、レポートのHTMLソースを開き、使用しているフォントを探すと確認できます。

次に、Oracle Reportsが最も類似度の高いフォントを使用し、そのメトリックが元のフォントよりも大きい可能性があります。そのため、文字がボックスに収まらず、実際の出力のかわりに****がフィールドに表示された可能性があります。

次の点を確認します。

- レポートに使用されているすべてのフォントについて、AFMファイルを設定しています。詳細は、第11.4.1項「レポートの設計」を参照してください。

- フィールドやテキスト・ボイラープレートに10%ぐらいの余分なスペースを確保しています。

質問

レポートをUNIXで実行すると、HTMLまたはHTMLCSS出力が縮小されて表示されます。しかし、同じレポートをWindowsで実行すると正しく表示されます。レポートをWindowsで実行してもUNIXで実行しても同じように表示されるようにするには、どのようにすればよいですか。

回答

Oracle9i Reportsを使用している場合、HTMLCSS出力で縮小や拡張が見られる場合は、reports.sh内のREPORTS_DEFAULT_PIXEL_SIZE環境変数の値を72から200の範囲に設定してから、Reports Serverを再起動します。

例:

REPORTS_DEFAULT_PIXEL_SIZE =72
export REPORTS_DEFAULT_PIXEL_SIZE

Oracle Reports 10gであれば、screenprinter.ppdに設定されている解像度が使用されるため、HTMLCSS出力が縮小したり拡張する問題は起こりません。この解像度は編集可能です。

*DefaultResolution: 96dpi (recommended)

質問

レポートをSolarisに配布する場合、overstrikeプロパティを使用できますか。

回答

AFMファイルには、overstrikeプロパティがサポートされないという制約があります。

質問

レポート内の正と負の数値を示すフィールドには、右揃えを指定しています。たとえば、12345.67と-12345.67の数値です。しかし、レポートをHTMLCSS出力で生成すると、位置合せが正しく表示されません。どのようにすれば正しく位置合せできますか。これはプラットフォーム固有の問題でしょうか。

回答

これは、プラットフォーム固有の問題ではありません。HTMLCSS出力のスペースを& で置換すると、この問題は解決されます。この問題を回避するには、Oracle Reports 11gリリース2 (11.1.2)にアップグレードする必要があります。

11.5 シングルバイトPDF出力の生成

表11-4に、宛先フォーマットがPDFフォント・サブセットを使用して作成したシングルバイトPDFである場合におけるクロス・プラットフォーム配布シナリオを示します。PDFのフォント機能の詳細は、第10章「Oracle ReportsでのPDFの使用」を参照してください。

表11-4 クロス・プラットフォームの配布 - シナリオ2

開発プラットフォーム

配布プラットフォーム

宛先フォーマット

Windows

UNIX

PDF(シングルバイト)

ここでは、シングルバイトPDF出力を想定したレポートの設計および配布を、次の項で説明します。

- レポートの設計

- Motifツール・キット・メカニズムを使用する11gより前のバージョンでのレポートの配布

- よくある質問

11.5.1 レポートの設計

UNIXプラットフォームにレポートを配布する前に、レポートを準備するには:

1. 新しいレポートを作成します。

2. レポートで使用するフォントについて、次の項目を確認します。

- UNIXで使用可能なフォントを使用します。Windows (TTFファイル)で使用可能なすべてのフォント・ファイルが、UNIX (AFMファイルまたはTFMファイル)でも使用できるとは限りません。UNIXプラットフォームで使用できる適切なAFMまたはTFMフォント・ファイルがある場合は、そのフォント・ファイルを使用できます(PostScriptの場合はAFMファイル、PCLの場合はTFMファイル)。

ノート:

AFMがサポートされるのは、日本語エンコードを除き、シングルバイトのPostScriptファイル生成時のみです。

AFMファイルに対してサポートされるコード体系は、次のとおりです。

- AdobeStandardEncoding

- ExtJIS12-88-CFEncoding

- FontSpecific

- HRoman

- ISOLatinHebrew

- JIS12-88-CFEncoding

- JIS12e-88-CFEncoding

- 適切に拡大または縮小可能なフォントを使用します。たとえば、Tahomaは異なるフォント・サイズに適切に拡張または縮小できますが、MS Sans Serifはできません。これは、MS Sans Serifがラスター・フォントであるためです。ラスター・フォントは任意のサイズに変更できず、一般的に表示が粗くなる問題があります。一方、TahomaはTrueTypeフォントであり、MS Sans Serifフォントと非常に似ています。またTahomaはベクトル・フォントであるため、任意のサイズに変更したり、適切な角度にフォントを回転したりできます。

11.5.2 Motifツール・キット・メカニズムを使用する11gより前のバージョンでのレポートの配布

UNIX上に使用可能なAFMフォント・ファイルがない場合、または文字の不揃いなどレポート出力にフォントの問題が発生した場合は、ttf2pt1など、サード・パーティの無料ユーティリティを使用してWindowsのTTFファイルを変換し、AFMファイルを生成できます。TFMファイルには変換しないでください。予測したとおりの結果にならない場合があります。

PDFフォント・サブセットを使用してUNIXプラットフォームにレポートを配布するには:

1. レポートに使用されているフォントに対応するTTFファイルを探します。これらのTTFファイルをAFMに変換して、レポートに使用されているフォント用のAFMファイルを作成します。
TTFファイルからAFMファイルへの変換には、TrueTypeからType1へのフォント変換ユーティリティを使用します。たとえば、ttf2pt1です。

2. 変換後、AFMファイルの名前から拡張子.afmを削除します。例:

表11-5 変換後のフォント・ファイル名

変換前

変換後

変更した名前

arial.ttf

arial.afm

Arial

cour.ttf

cour.afm

CourierNew

3. レポートに使用したWindowsのTTFファイルを、UNIXマシンのフォント・ディレクトリにコピーします。たとえば、$ORACLE_HOME/reports/fontsにコピーします。

4. REPORTS_PATH環境変数にTTFファイルへのパスを追加します。これにより、Reports Runtimeはフォント・ファイルを参照できるようになります。

5. 任意のテキスト・エディタを使用して、screenprinter.ppdファイルを編集します。

ノート:

ORACLE_HOME/guicommon/tk/admin/uiprint.txtにエントリを追加してデフォルトのプリンタを定義している場合は、プリンタのPPDファイル(PostScriptプリンタ)またはHPDファイル(PCLプリンタ)に適切なエントリを追加する必要があります。

Oracle Reports 10g リリース1 (9.0.4)以降、デフォルトのプリンタを設定していない場合は、次のようになります。

- 画面を擬似実行するデフォルト・プリンタ・サーフェス(screenprinter.ppd)がフォーマットで使用されます。

- screenprinter.ppdファイルに必要なフォントや解像度のエントリを追加する必要があります。

PPDファイルとHPDファイルは次の場所にあります。

- $ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

- $ORACLE_HOME/guicommon/tk/admin

Oracle Reportsは、HPDファイルまたはPPDファイルをまずOracleインスタンスの場所で検索し、それからOracleホームの場所で検索します。

screenprinter.ppdファイルの詳細は、第9.8.1項「ScreenPrinter」を参照してください。

使用するPPD/HPDファイルに、レポートに使用されているAFMファイルまたはTFMファイルすべてのエントリがあることを確認します。PPD/HPDファイルはプリンタ・ドライバの設定を含む構成ファイルであり、そのプリンタでサポートされるすべてのフォントがリストされています。

PPDファイルのFont Informationセクションに移動して、必要なフォント・ファイルのエントリを次のような形式で追加します。

*FONTNAME:ENCODING:VERSION:LOCATION

例:

*Font Arial: Standard "(Version 2.76)" Standard ROM
*Font CourierNew: Standard "(Version 2.76)" Standard ROM

PPDファイルに指定されているフォント名とAFMファイル名とが正確に一致していることを確認します。Oracle Reportsでは、PPDファイルのフォント名に基づいてAFMファイルを検索します。

6. 変換したAFMファイルを$ORACLE_HOME/guicommon/tk/admin/AFMディレクトリにコピーします。

7. uiprint.txtに、次のような適切なPPDファイルのエントリがあることを確認します。

printer name:PostScript:2:test:ppd file

例:

printer1:PostScript:2:test:hpljet42.ppd

8. 任意のテキスト・エディタを使用して、hpljet42.ppdファイルを編集します。

ノート:

PPDファイルをORACLE_HOME/guicommon/tk/admin/PPDから次の場所にコピーします。

$ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/PPD

9. 使用するPPD/HPDファイルに、レポートに使用されているAFMファイルまたはTFMファイルすべてのエントリがあることを確認します。
Font Informationセクションに移動して、新しいAFMファイルに必要なエントリを次のような形式で追加します。

*FONTNAME:ENCODING:VERSION:LOCATION

例:

*Font Arial: Standard "(Version 2.76)" Standard ROM
*Font CourierNew: Standard "(Version 2.76)" Standard ROM

PPDファイルで指定されているフォント名とAFMファイル名とが一致していることを確認します。Oracle Reportsでは、PPDファイルにあるフォント名に基づいてファイルを検索します。

10. レポートに使用されているフォントがエイリアシングされていないことを確認します。
たとえば、uifont.aliファイルを編集し、[Global]セクションのエントリをコメント化します。この例では、デフォルトでArialとCourier Newのエイリアシングの対象にそれぞれHelveticaとCourierがデフォルトで指定されています。

[ Global ] # Put mappings for all surfaces here.
# Mapping from MS Windows
#Arial = helvetica
#"Courier New" = courier

ノート:

uifont.aliファイルは、WindowsおよびUNIXでは次のディレクトリにあります。

- Windowsの場合: ORACLE_INSTANCE\config\FRComponent\frcommon\tools\common

- UNIXの場合: $ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

フォントのエイリアシングは、特定のフォントについてAFMファイルが生成不可能な場合にのみ使用してください。その場合は、対象フォントを最も類似度が高いフォントにエイリアシングできます。エイリアシングのフォントは、レポート出力を生成するマシンにはなくても、レポート出力を表示するマシンでは必ず使用できる必要があります。

11. [PDF:Subset]セクションに、レポートで使用されているフォントのサブセットを作成するために必要なエントリを追加します。
例:

[ PDF:Subset ]
"arial" = "arial.ttf"
"courier new" = "cour.ttf"

PDFファイルの移植性を実現するため、フォント・サブセットまたはフォント埋込みのいずれかを使用できます。この移植性によって、レポートを表示するマシンにフォントがインストールされているかどうかにかかわらず、PDFレポートを表示できます。

12. レポートをPDFで実行して表示します。PDFには、レポートで使用されているフォントが含まれているはずです。この例では、ArialとCourier Newフォントです。
使用されているフォントを確認するには、次の手順を実行します。

- Acrobat Reader 6.0の場合は、「ファイル」→「文書のプロパティ」→「フォント」を選択します。

- Acrobat Reader 3.0以降では、「ファイル」→「文書情報」→「フォント」を選択します。

「オリジナルフォント」列にArialフォントとTahomaフォントが表示されます。これで、フォントの位置のずれがすべて修正されたはずです。

11.5.2.1 トラブルシューティング情報

配布に関する問題が発生した場合は、次のトラブルシューティング情報を参照してください。

- PDF出力でフォントが正しく表示されない場合は、環境変数DEBUG_SLFINDを、debug.txtなどのログ・ファイル名に設定してからレポートを実行します。PPDファイルと使用されているフォントの解析時に参照されるフォント・ファイルが、指定したファイルに書き込まれます。特に次の項目について確認してください。

1. 変更したPPDファイルが参照されているはずです。参照されていない場合は、構成に問題があります。詳細は、第8章「Oracle Reportsでのフォントの管理」を参照してください。

2. 次に、AFMディレクトリにコピーしたAFMファイルが参照されているはずです。

DEBUG_SLFINDの詳細は、第9章「UNIXでのOracle Reportsによる印刷」を参照してください。

11.5.3 よくある質問

この項では、レポートをシングルバイトPDF出力に配布する作業に関連したよくある質問(FAQ)に回答します。

質問

PDFレポートをWindowsプラットフォームとUNIXプラットフォームに配布したときではページ数が異なります。どのようにすれば解決できますか?

回答

レポートは、デフォルトのプリンタを使用してフォーマットされます。そのため、両方のプリンタで同じ解像度とフォントが使用されている必要があります。その1つの方法としては、Windows TTFフォント・ファイルからAFMファイルを生成し、WindowsのTTFファイルとAFMファイルをUNIXの適切なフォルダにコピーします。また、PPD/HPDファイルにWindowsと同じ解像度を設定します。詳細は、前述のステップを参照してください。

質問

UNIXの異なるインストールでレポートを実行すると、レポートのページ数が異なります。インストールに関係なくレポートのページ数を同じにするには、どうすればよいでしょうか?

回答

UNIXでは、Oracle Reportsはインストールのデフォルト・プリンタのPPD/HPDファイルを使用してフォーマットを行います。解像度やフォント・リストは、このPPD/HPDファイルから取得されます。Oracle Reports 10g (9.0.4)以降、インストールにデフォルトのプリンタが設定されていないと、screenprinter.ppdが使用されるようになりました。このPPDファイルによって画面がエミュレートされます。初期のリリースのOracle Reportsでは、かわりにDISPLAY環境変数が使用されていました。2つのインストール間で同じAFM/TFMファイルおよびフォント・ファイルが使用されていることを確認します。これで、PDF出力のページ数は同じになるはずです。

11.6 マルチバイトPDF出力の生成

表11-6に、宛先フォーマットがPDFフォント・サブセットを使用して作成したマルチバイトPDFである場合におけるクロス・プラットフォーム配布シナリオを示します。PDFのフォント機能の詳細は、第10章「Oracle ReportsでのPDFの使用」を参照してください。

表11-6 クロス・プラットフォームの配布 - シナリオ4

開発プラットフォーム

配布プラットフォーム

宛先フォーマット

Windows

UNIX

PDF(マルチバイト)

ここでは、マルチバイトPDF出力を想定したレポートの設計および配布を、次の項で説明します。

- Motifツール・キット・メカニズムを使用する11gより前のバージョンでのレポートの設計

- Motifツール・キット・メカニズムを使用する11gより前のバージョンでのレポートの配布

- よくある質問

11.6.1 Motifツール・キット・メカニズムを使用する11gより前のバージョンでのレポートの設計

UNIXプラットフォームにレポートを配布する前に、レポートを準備するには:

1. TrueTypeマルチバイト・フォントを使用して、新しいレポートを作成します。たとえば、AR8ISO8859P6文字セットのSimplified Arabicフォントを使用します。

2. レポートで使用するフォントについて、次の項目を確認します。

- UNIXで使用可能なフォントを使用します。Windows (TTFファイル)で使用可能なすべてのフォント・ファイルが、UNIX (AFMファイルまたはTFMファイル)でも使用できるとは限りません。UNIXプラットフォームで使用できる適切なAFMまたはTFMフォント・ファイルがある場合は、そのフォント・ファイルを使用できます(PostScriptの場合はAFMファイル、PCLの場合はTFMファイル)。

ノート:

AFMがサポートされるのは、日本語エンコードを除き、シングルバイトのPostScriptファイル生成時のみです。

AFMファイルに対してサポートされるコード体系は、次のとおりです。

- AdobeStandardEncoding

- ExtJIS12-88-CFEncoding

- FontSpecific

- HRoman

- ISOLatinHebrew

- JIS12-88-CFEncoding

- JIS12e-88-CFEncoding

- 適切に拡大または縮小可能なフォントを使用します。たとえば、Tahomaは異なるフォント・サイズに適切に拡張または縮小できますが、MS Sans Serifはできません。これは、MS Sans Serifがラスター・フォントであるためです。ラスター・フォントは任意のサイズに変更できず、一般的に表示が粗くなる問題があります。一方、TahomaはTrueTypeフォントであり、MS Sans Serifフォントと非常に似ています。またTahomaはベクトル・フォントであるため、任意のサイズに変更したり、適切な角度にフォントを回転したりできます。

11.6.2 Motifツール・キット・メカニズムを使用する11gより前のバージョンでのレポートの配布

UNIX上に使用可能なAFMフォント・ファイルがない場合、または文字の不揃いなどレポート出力にフォントの問題が発生した場合は、ttf2pt1など、サード・パーティの無料ユーティリティを使用してWindowsのTTFファイルを変換し、AFMファイルを生成できます。TFMファイルには変換しないでください。予測したとおりの結果にならない場合があります。

レポートをUNIXプラットフォームに配布するには:

1. レポートに使用されているフォントに対応するTTFファイルを探します。これらのTTFファイルをAFMに変換して、レポートに使用されているフォント用のAFMファイルを作成します。
TTFファイルからAFMファイルへの変換には、TrueTypeからType1へのフォント変換ユーティリティを使用します。たとえば、ttf2pt1です。

2. 変換後、AFMファイルの名前から拡張子.afmを削除します。例:

表11-7 変換後のフォント・ファイル名

変換前

変換後

変更した名前

simpo.ttf

simpo.afm

SimplifiedArabic

3. レポートに使用したWindowsのTTFファイルを、UNIXマシンのフォント・ディレクトリにコピーします。たとえば、$ORACLE_HOME/fontsにコピーします。

4. REPORTS_PATH環境変数にTTFファイルへのパスを追加します。

5. AFMファイルを$ORACLE_HOME/guicommon/tk/admin/AFMディレクトリにコピーします。

6. 任意のテキスト・エディタを使用して、screenprinter.ppdファイルを編集します。

ノート:

ORACLE_HOME/guicommon/tk/admin/uiprint.txtにエントリを追加してデフォルトのプリンタを定義している場合は、プリンタのPPDファイル(PostScriptプリンタ)またはHPDファイル(PCLプリンタ)に適切なエントリを追加する必要があります。

Oracle Reports 10g リリース1 (9.0.4)以降、デフォルトのプリンタを設定していない場合は、次のようになります。

- 画面を擬似実行するデフォルト・プリンタ・サーフェス(screenprinter.ppd)がフォーマットで使用されます。

- screenprinter.ppdファイルに必要なフォントや解像度のエントリを追加する必要があります。

PPDファイルとHPDファイルは次の場所にあります。

- $ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

- $ORACLE_HOME/guicommon/tk/admin

Oracle Reportsは、HPDファイルまたはPPDファイルをまずOracleインスタンスの場所で検索し、それからOracleホームの場所で検索します。

screenprinter.ppdファイルの詳細は、第9.8.1項「ScreenPrinter」を参照してください。

使用するPPD/HPDファイルに、レポートに使用されているAFMファイルまたはTFMファイルすべてのエントリがあることを確認します。PPD/HPDファイルはプリンタ・ドライバの設定を含む構成ファイルであり、そのプリンタでサポートされるすべてのフォントがリストされています。

PPDファイルのFont Informationセクションに移動して、必要なフォント・ファイルのエントリを次のような形式で追加します。

*FONTNAME:ENCODING:VERSION:LOCATION

例:

*Font Arial: Standard "(Version 2.76)" Standard ROM
*Font CourierNew: Standard "(Version 2.76)" Standard ROM

PPDファイルに指定されているフォント名とAFMファイル名とが正確に一致していることを確認します。Oracle Reportsでは、PPDファイルのフォント名に基づいてAFMファイルを検索します。

7. uiprint.txtに該当するPPDファイルのエントリがあることを確認します。printername: PostScript:2:test:ppd_file
例:

printer1:PostScript:2:test:hpljet42.ppd

8. 任意のテキスト・エディタを使用して、hpljet42.ppdファイルを編集します。

ノート:

PPDファイルをORACLE_HOME/guicommon/tk/admin/PPDから次の場所にコピーします。

$ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/PPD

9. 使用するPPD/HPDファイルに、レポートに使用されているAFMファイルまたはTFMファイルすべてのエントリがあることを確認します。
Font Informationセクションに移動して、新しいAFMファイルに必要なエントリを次のような形式で追加します。

*FONTNAME:ENCODING:VERSION:LOCATION

例:

*Font SimplifiedArabic: Standard "(001.01)" Standard ROM

10. レポートに使用されているフォントがエイリアシングされていないことを確認します。
uifont.aliを編集して、Simplified Arabicフォントが他のフォントにエイリアシングされている場合は、そのエントリをコメント化します。たとえば、"SimplifiedArabic"="Arial"のようなエントリです。

ノート:

uifont.aliファイルは、WindowsおよびUNIXでは次のディレクトリにあります。

- Windows: ORACLE_INSTANCE%\config\FRComponent\frcommon\tools\common

- UNIX: ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

フォントのエイリアシングは、特定のフォントについてAFMファイルが生成不可能な場合にのみ使用してください。その場合は、対象フォントを最も類似度が高いフォントにエイリアシングできます。エイリアシングのフォントは、レポート出力を生成するマシンにはなくても、レポート出力を表示するマシンでは必ず使用できる必要があります。

11. [PDF:Subset]セクションで、フォントのサブセットを作成するために必要なエントリを追加します。
例:

[ PDF:Subset ]      "SimplifiedArabic" = "simpo.ttf"

PDFファイルの移植性を実現するため、フォント・サブセットまたはフォント埋込みのいずれかを使用できます。この移植性によって、レポートを表示するマシンにフォントがインストールされているかどうかにかかわらず、PDFレポートを表示できます。

12. レポートをPDFで実行して表示します。

http://mywebserver.com:reports/rwservlet?server=myserver+report=
"/home/myreports/test.rdf"+authid=hr/hr@mydb+desformat=PDF+destype=cache

PDFには、レポートで使用されているフォントが含まれているはずです。この例では、Davidフォントなどです。

使用されているフォントを確認するには、次の手順を実行します。

- Acrobat Reader 6.0の場合は、「ファイル」→「文書のプロパティ」→「フォント」を選択します。

- Acrobat Reader 3.0以降の場合は、「ファイル」→「文書情報」→「フォント」を選択します。

「オリジナルフォント」列にDavidフォントが表示されるはずです。

11.6.2.1 トラブルシューティング情報

配布に関する問題が発生した場合は、次のトラブルシューティング情報を参照してください。

- PDF出力でフォントが正しく表示されない場合は、環境変数DEBUG_SLFINDを、debug.txtなどのログ・ファイル名に設定してからレポートを実行します。PPDファイルと使用されているフォントの解析時に参照されるフォント・ファイルが、ログ・ファイルdebug.txtに書き込まれます。特に次の項目について確認してください。

1. 変更したPPDファイルが参照されているはずです。参照されていない場合は、構成に問題があります。詳細は、第8章「Oracle Reportsでのフォントの管理」を参照してください。

2. 次に、AFMディレクトリにコピーしたAFMファイルが参照されているはずです。

DEBUG_SLFINDの詳細は、第10章「Oracle ReportsでのPDFの使用」を参照してください。

11.6.3 よくある質問

この項では、レポートをマルチバイトPDF出力に配布する作業に関連したよくある質問(FAQ)に回答します。

質問

CIDマルチバイト・フォントを使用してクロス・プラットフォームでPDFを出力する場合は、どのような点に注意する必要がありますか。

回答

CIDマルチバイト・フォントを使用してPDFレポートをマルチバイト言語に対応させるには、PDFファイルを表示するマシンのAcrobat Readerにアジア言語フォント・パッケージをインストールする必要があります。アジア言語フォント・パッケージはAdobeのWebサイトから入手できます。

質問

UNIXでマルチバイト・フォントを使用する場合、レポートのフォーマットが正しく表示されなかったり、テキストの位置が変わるのはなぜですか。

回答

ttf2pt1を使用してAFMファイルを作成する場合、ttf2pt1には、そのフォントの最初の256文字のみのメトリック情報を使用してAFMファイルを作成するという制約があります。最初の256文字はLatin-1文字に使用されます。そのため、フォントに256以上の文字が含まれる場合、それを超えた文字に対してメトリック情報は使用できません。Oracle Reportsでは、AFMファイルにない文字をレポートで検出した場合、AFMファイルにあるデフォルト・メトリック情報を使用します。これらのデフォルトのメトリック情報は、レポートに使用されている文字のメトリックと一致しない場合があります。そのため、フォーマットが正しく行われません。256文字以上あるフォントを使用する場合にこの問題を解決するには、すべての文字が同じ幅になる固定幅フォントを使用します。たとえば、Hebrewの場合は固定幅フォントであるMiriam Fixedを使用すると、フォーマットの問題を回避できます。

11.7 Unicode PDF出力の生成

表11-8に、宛先フォーマットがPDFフォント・サブセットを使用して作成されたUnicode PDFである場合におけるクロス・プラットフォーム配布シナリオを示します。PDFのフォント機能の詳細は、第10章「Oracle ReportsでのPDFの使用」を参照してください。

表11-8 クロス・プラットフォームの配布 - シナリオ5

開発プラットフォーム

配布プラットフォーム

宛先フォーマット

Windows

UNIX

PDF (Unicode)

ここでは、Unicode PDF出力を想定したレポートの設計および配布を、次の項で説明します。

- Motifツール・キット・メカニズムを使用する11gより前のバージョンでのレポートの設計

- Motifツール・キット・メカニズムを使用する11gより前のバージョンでのレポートの配布

- よくある質問

11.7.1 Motifツール・キット・メカニズムを使用する11gより前のバージョンでのレポートの設計

UNIXプラットフォームにレポートを配布する前に、レポートを準備するには:

1. Unicodeフォントを使用して新しいレポートを作成します。この例では、Arial Unicode MSフォントなどを使用します。

2. レポートで使用するフォントについて、次の項目を確認します。

- レポートで使用するUnicode文字の範囲全体をカバーするフォントを使用します。

- UNIXで使用可能なフォントを使用します。Windows (TTFファイル)で使用可能なすべてのフォント・ファイルが、UNIX (AFMファイルまたはTFMファイル)でも使用できるとは限りません。UNIXプラットフォームで使用できる適切なAFMまたはTFMフォント・ファイルがある場合は、そのフォント・ファイルを使用できます(PostScriptの場合はAFMファイル、PCLの場合はTFMファイル)。

ノート:

AFMがサポートされるのは、日本語エンコードを除き、シングルバイトのPostScriptファイル生成時のみです。

AFMファイルに対してサポートされるコード体系は、次のとおりです。

- AdobeStandardEncoding

- ExtJIS12-88-CFEncoding

- FontSpecific

- HRoman

- ISOLatinHebrew

- JIS12-88-CFEncoding

- JIS12e-88-CFEncoding

- 適切に拡大または縮小可能なフォントを使用します。たとえば、Tahomaは異なるフォント・サイズに適切に拡張または縮小できますが、MS Sans Serifはできません。これは、MS Sans Serifがラスター・フォントであるためです。ラスター・フォントは任意のサイズに変更できず、一般的に表示が粗くなる問題があります。一方、TahomaはTrueTypeフォントであり、MS Sans Serifフォントと非常に似ています。またTahomaはベクトル・フォントであるため、任意のサイズに変更したり、適切な角度にフォントを回転したりできます。

11.7.2 Motifツール・キット・メカニズムを使用する11gより前のバージョンでのレポートの配布

UNIX上に使用可能なAFMフォント・ファイルがない場合、または文字の不揃いなどレポート出力にフォントの問題が発生した場合は、ttf2pt1など、サード・パーティの無料ユーティリティを使用してWindowsのTTFファイルを変換し、AFMファイルを生成できます。TFMファイルには変換しないでください。予測したとおりの結果にならない場合があります。

レポートをUNIXプラットフォームに配布するには:

1. レポートに使用されているフォントに対応するTTFファイルを探します。これらのTTFファイルをAFMに変換して、レポートに使用されているフォント用のAFMファイルを作成します。
TTFファイルからAFMファイルへの変換には、TrueTypeからType1へのフォント変換ユーティリティを使用します。たとえば、ttf2pt1です。

2. 変換後、AFMファイルの名前から拡張子.afmを削除します。例:

表11-9 変換後のフォント・ファイル名

変換前

変換後

変更した名前

arialuni.ttf

arialuni.afm

ArialUnicodeMS

3. レポートに使用したWindowsのTTFファイルを、UNIXマシンのフォント・ディレクトリにコピーします。たとえば、$ORACLE_HOME/fontsにコピーします。

4. REPORTS_PATH環境変数にTTFファイルへのパスを追加します。この例では、arialuni.ttfへのパスを追加します。

5. AFMファイルを$ORACLE_HOME/guicommon/tk/admin/AFMディレクトリにコピーします。この例では、ArialUnicodeMSです。

6. 任意のテキスト・エディタを使用して、screenprinter.ppdファイルを編集します。

ノート:

ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/uiprint.txtにエントリを追加してデフォルトのプリンタを定義している場合は、プリンタのPPDファイル(PostScriptプリンタ)またはHPDファイル(PCLプリンタ)に適切なエントリが必要です。

Oracle Reports 10g (9.0.4)以降、デフォルトのプリンタを設定していないと、画面を擬似実行するデフォルト・プリンタ・サーフェス(screenprinter.ppd)がフォーマットで使用されるようになりました。デフォルトのプリンタを設定していない場合は、screenprinter.ppdファイルに必要なフォントや解像度のエントリも追加する必要があります。

PPDファイルとHPDファイルは次の場所にあります。

- $ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

- $ORACLE_HOME/guicommon/tk/admin

Oracle Reportsは、HPDファイルまたはPPDファイルをまずOracleインスタンスの場所で検索し、それからOracleホームの場所で検索します。

screenprinter.ppdファイルの詳細は、第9.8.1項「ScreenPrinter」を参照してください。

使用するPPD/HPDファイルに、レポートに使用されているAFMファイルまたはTFMファイルすべてのエントリがあることを確認します。PPD/HPDファイルはプリンタ・ドライバの設定を含む構成ファイルであり、そのプリンタでサポートされるすべてのフォントがリストされています。

PPDファイルのFont Informationセクションに移動して、必要なフォント・ファイルのエントリを次のような形式で追加します。

*FONTNAME:ENCODING:VERSION:LOCATION

例:

*Font Arial: Standard "(Version 2.76)" Standard ROM
*Font CourierNew: Standard "(Version 2.76)" Standard ROM

PPDファイルに指定されているフォント名とAFMファイル名とが正確に一致していることを確認します。Oracle Reportsでは、PPDファイルのフォント名に基づいてAFMファイルを検索します。

7. uiprint.txtに、次のような適切なPPDファイルのエントリがあることを確認します。

printer name:PostScript:2:test:ppd file

この例では、次のようになります。

printer1:PostScript:2:test:hpljet42.ppd

8. 任意のテキスト・エディタを使用して、hpljet42.ppdファイルを編集します。

ノート:

PPDファイルをORACLE_HOME/guicommon/tk/admin/PPDから次の場所にコピーします。

$ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/PPD

9. 使用するPPD/HPDファイルに、レポートに使用されているAFMファイルまたはTFMファイルすべてのエントリがあることを確認します。
Font Informationセクションに移動して、新しいAFMファイルに必要なエントリを次のような形式で追加します。

*FONTNAME:ENCODING:VERSION:LOCATION

例:

*Font ArialUnicodeMS: Standard "(Version 2.76)" Standard ROM

10. [PDF:Subset]セクションで、次のエントリを追加し、レポートに使用するフォントのサブセットを作成します。
例:

[ PDF:Subset ]
"Arial Unicode MS" = "arialuni.ttf"

PDFサブセット機能を使用してレポートからマルチバイトPDF出力を生成し、PDFレポートを移植できるようにします。これにより、レポートを配布するマシンにインストールされているフォントに依存しなくなります。

11. レポートをPDFで実行して表示します。

http://mywebserver.com:reports/rwservlet?server=myserver+report=
"/home/myreports/test.rdf"+authid=hr/hr@mydb+desformat=PDF+destype=cache

PDFには、レポートで使用されているUnicodeフォントが含まれているはずです。この例では、Arial Unicode MSなどを使用します。

11.7.2.1 トラブルシューティング情報

配布に関する問題が発生した場合は、次のトラブルシューティング情報を参照してください。

- PDF出力でフォントが正しく表示されない場合は、環境変数DEBUG_SLFINDを、debug.txtなどのログ・ファイル名に設定してからレポートを実行します。PPDファイルと使用されているフォントの解析時に参照されるフォント・ファイルが、ログ・ファイルdebug.txtに書き込まれます。特に次の項目について確認してください。

1. 変更したPPDファイルが参照されているはずです。参照されていない場合は、構成に問題があります。詳細は、第8章「Oracle Reportsでのフォントの管理」を参照してください。

2. 次に、AFMディレクトリにコピーしたAFMファイルが参照されているはずです。

DEBUG_SLFINDの詳細は、第10章「Oracle ReportsでのPDFの使用」を参照してください。

11.7.3 よくある質問

この項では、レポートをUnicode PDF出力に配布する作業に関連したよくある質問(FAQ)に回答します。

質問

UNIXでUnicodeフォントを使用する場合、レポートのフォーマットが正しく表示されなかったり、テキストの位置が変わるのはなぜですか。

回答

ttf2pt1を使用してAFMファイルを作成する場合、ttf2pt1には、そのフォントの最初の256文字のみのメトリック情報を使用してAFMファイルを作成するという制約があります。複数の言語をレポートで使用する際にArial Unicode MSのようなUnicodeフォントを設定し、UNIX用のAFMファイルを作成すると、最初の256文字を超える文字にはメトリック情報がありません。Oracle Reportsでは、AFMファイルにない文字をレポートで検出した場合、AFMファイルにあるデフォルト・メトリック情報を使用します。これらのデフォルトのメトリック情報は、レポートに使用されている文字のメトリックと一致しない場合があります。そのため、フォーマットが正しく行われません。256文字以上のフォントを使用する場合にフォーマットの問題を解決するには、すべての文字が同じ幅になる固定幅フォントを使用します。

11.8 PostScript出力の生成

表11-10に、宛先フォーマットがPostScriptである場合におけるクロス・プラットフォーム配布シナリオを示します。

表11-10 クロス・プラットフォームの配布 - シナリオ3

開発プラットフォーム

配布プラットフォーム

宛先フォーマット

Windows

UNIX

PostScript

ここでは、マルチバイトPostScript出力を想定したレポートの設計および配布を、次の項で説明します。

- レポートの設計

- レポートの配布

- よくある質問

11.8.1 レポートの設計

UNIXプラットフォームにレポートを配布する前に、レポートを準備するには:

1. 新しいレポートを作成します。

2. レポートで使用するフォントについて、次の項目を確認します。

- UNIXで使用可能なフォントを使用します。Windows (TTFファイル)で使用可能なすべてのフォント・ファイルが、UNIX (AFMファイルまたはTFMファイル)でも使用できるとは限りません。UNIXプラットフォームで使用できる適切なAFMまたはTFMフォント・ファイルがある場合は、そのフォント・ファイルを使用できます(PostScriptの場合はAFMファイル、PCLの場合はTFMファイル)。

ノート:

AFMがサポートされるのは、日本語エンコードを除き、シングルバイトのPostScriptファイル生成時のみです。

AFMファイルに対してサポートされるコード体系は、次のとおりです。

- AdobeStandardEncoding

- ExtJIS12-88-CFEncoding

- FontSpecific

- HRoman

- ISOLatinHebrew

- JIS12-88-CFEncoding

- JIS12e-88-CFEncoding

- 適切に拡大または縮小可能なフォントを使用します。たとえば、Tahomaは異なるフォント・サイズに適切に拡張または縮小できますが、MS Sans Serifはできません。これは、MS Sans Serifがラスター・フォントであるためです。ラスター・フォントはサイズを変更できず、一般的に表示が粗くなる問題があります。一方、TahomaはTrueTypeフォントであり、MS Sans Serifと外観が非常に似ています。またTahomaはベクトル・フォントであるため、任意のサイズに変更したり、適切な角度にフォントを回転したりできます。

- Unicode文字が含まれないフォントを使用します。Oracle Reportsでは、UNIXプラットフォームで出力されたPost Scriptに対してUnicode文字セットがサポートされていません。そのかわり、次のいずれかを使用できます。

- Oracle ReportsのPDF出力(desformat=pdf): 第9.6.1項「マルチバイト文字セットの印刷」に記載しているように、これによってマルチバイト文字セットがサポートされています。

- Oracle ReportsユーティリティであるIXおよびPASTA: Oracle Reportsのインストール時に出力されOracle Applicationsで使用されるPostScript出力でフォントを埋め込むためのユーティリティです。詳細は、第9.6.2項「IXおよびPASTAの概要」を参照してください。

3. PostScriptの出力を設計プラットフォーム(Windows)と同様に配布プラットフォーム(UNIX)で表示するには、両方のプラットフォームで同じ用紙サイズを設定する必要があります。Windowsでデフォルトの用紙サイズをレターから他のサイズ(A4など)に変更するには、次の作業が必要です。

1. 「設定」→「コントロール パネル」→「プリンタ」を選択します。

2. デフォルトのプリンタを右クリックし、「プロパティ」を選択します。

3. 「全般」タブの「印刷設定」をクリックします。

4. 「用紙/品質」タブの「詳細設定」をクリックします。

5. 用紙サイズを選択し、「OK」をクリックします。

6. デフォルトの用紙サイズが設定されたメイン・ダイアログ・ボックスが表示されるまで、「OK」をクリックします。

11.8.2 レポートの配布

UNIX上に使用可能なAFMフォント・ファイルがない場合、または文字の不揃いなどレポート出力にフォントの問題が発生した場合は、ttf2pt1など、サード・パーティの無料ユーティリティを使用してWindowsのTTFファイルを変換し、AFMファイルを生成できます。TFMファイルには変換しないでください。予測したとおりの結果にならない場合があります。

レポートをUNIXプラットフォームに配布するには:

1. レポートに使用されているフォントに対応するTTFファイルを探します。これらのTTFファイルをAFMに変換して、レポートに使用されているフォント用のAFMファイルを作成します。
TTFファイルからAFMファイルへの変換には、TrueTypeからType1へのフォント変換ユーティリティを使用します。たとえば、ttf2pt1です。

2. 変換後、AFMファイルの名前から拡張子.afmを削除します。例:

表11-11 変換後のフォント・ファイル名

変換前

変換後

変更した名前

arial.ttf

arial.afm

Arial

3. AFMファイルを$ORACLE_HOME/guicommon/tk/admin/AFMディレクトリにコピーします。

4. TK_PRINTER環境変数またはPRINTER環境変数に、デフォルトのプリンタの名前が設定されていることを確認します。この例では、printer1になります。

5. uiprint.txtに次のような適切なPPDファイルのエントリがあることを確認します。printer name: PostScript:2:test:ppd file。この例では、次のようになります。

printer1:PostScript:2:test:hpljet42.ppd

6. 任意のテキスト・エディタを使用して、ファイルhpljet42.ppdを編集します。たとえば、DefaultPageSize、DefaultPageRegionおよびDefaultPaperDimensionを次のように編集して、デフォルトの用紙をレターからA4に変更します。

…..
*DefaultPageSize: A4
…..
*DefaultPageRegion: A4
…..
*DefaultPaperDimension: A4
….

ノート:

PPDファイルをORACLE_HOME/guicommon/tk/admin/PPDから次の場所にコピーします。

$ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/PPD

7. 使用するPPDファイルに、レポートに使用されているすべてのAFMファイルのエントリがあることを確認します。
Font Informationセクションに移動して、新しいAFMファイルに必要なエントリを次のような形式で追加します。

*FONTNAME:ENCODING:VERSION:LOCATION

例:

*Font Arial: Standard "(Version 2.76)" Standard ROM

8. レポートをプリンタに対して実行し、A4サイズで出力されることを確認します。

http://mywebserver.com:reports/rwservlet?server=myserver+report="c:\test.rdf"+a
uthid=hr/hr@mydb+desformat=postscript+destype=cache

11.8.3 よくある質問

この項では、レポートをPostScript出力に配布する作業に関連したよくある質問(FAQ)に回答します。

質問

Oracle Reportsでは、Unicode PostScriptファイルの生成をサポートしていますか。

回答

現在、Oracle Reportsでは、Windowsプラットフォームの場合のみPostScript出力におけるUnicode文字セットをサポートしています。UNIXプラットフォームでは、次のいずれかを使用できます。

- Oracle ReportsのPDF出力(desformat=pdf): 第9.6.1項「マルチバイト文字セットの印刷」に記載しているように、これによってマルチバイト文字セットがサポートされています。

- Oracle ReportsユーティリティであるIXおよびPASTA: Oracle Reportsのインストール時に出力されOracle Applicationsで使用されるPostScript出力でフォントを埋め込むためのユーティリティです。詳細は、第9.6.2項「IXおよびPASTAの概要」を参照してください。

質問

Oracle Reportsでは、PostScript出力ファイルにフォントを埋め込むことができますか。

回答

Oracle Reportsでは、PostScript出力ファイルにフォントは埋め込まれません。フォント名と、AFMファイルを使用して計算されたメトリックが書き込まれます。そのため、レポートでフォントの位置の問題が起こらないようにするには、必要なフォントをプリンタにインストールしておく必要があります。

質問

UNIXの異なるインストールでレポートを実行すると、レポートのページ数が異なります。インストールに関係なくレポートのページ数を同じにするには、どうすればよいでしょうか?

回答

UNIXでは、Oracle Reportsはインストールのデフォルト・プリンタのPPD/HPDファイルを使用してフォーマットを行います。解像度やフォント・リストは、このPPD/HPDファイルから取得されます。Oracle Reports 10g (9.0.4)以降、インストールにデフォルトのプリンタが設定されていないと、screenprinter.ppdが使用されるようになりました。このPPDファイルによって画面がエミュレートされます。初期のリリースのOracle Reportsでは、かわりにDISPLAY環境変数が使用されていました。2つのインストール間で同じAFM/TFMファイルおよびフォント・ファイルが使用されていることを確認します。これで、PDF出力のページ数は同じになるはずです。

12 Oracle Reports Servicesの宛先の構成

レポートを実行する際には、レポートの出力方法(宛先)と受信者(配布)を検討する必要があります。配布の詳細は、第19章「拡張配布の作成」を参照してください。この章では、Oracle Reports Servicesでデフォルトの宛先やカスタムの宛先に対する出力処理の方法について説明します。まず出力処理の概要を示し、次にOracle Reports Servicesへの宛先タイプの登録について説明します。

内容は次のとおりです。

- このリリースでの新機能

- 出力処理の概要

- サーバーへの宛先タイプの登録

- Oracle Forms Servicesからのプラガブル宛先へのレポートの送信

12.1 このリリースでの新機能

11gリリース2 (11.1.2)では、Oracle Forms Servicesからのプラガブル宛先が拡張されています

12.1.1 Oracle Forms Servicesからのプラガブル宛先

以前のリリースでは、Oracle Forms ServicesのREPORT_DESTYPEプロパティは事前に指定されている値のみ設定可能なため、Oracle Forms Servicesから(特に RUN_REPORT_OBJECTから)レポートを実行しているときはReports Serverに定義されたプラガブル宛先を使用できません。

Oracle Reports 11gリリース2 (11.1.2)では、この制限が解除されました。つまり、レポート・リクエストは、Oracle Forms ServicesからのOracle Reportsに登録されているプラガブル宛先など、すべての宛先に送信できます。この拡張機能では、新しいOracle Forms Servicesコマンドライン・パラメータ(PLUGDESTYPE)が導入されました。Oracle Forms Servicesでは、PLUGDESTYPEパラメータ内のプラガブル宛先DESTYPEをREPORT_OTHERプロパティの一部として渡します。このパラメータが存在する場合、DESTYPEコマンドライン引数(Oracle Forms Servicesの場合、REPORT_DESTYPE)で指定された値より優先されます。

詳細は、第12.4項「Oracle Forms Servicesからのプラガブル宛先へのレポートの送信」を参照してください。

12.2 出力処理の概要

レポートの出力は、実行時に指定するDESTYPE(宛先タイプ)値によって制御されます。指定可能な宛先タイプは、destination要素を使用して各自のサーバー構成ファイル(rwserver.conf)に登録した宛先出力タイプによって決まります。詳細は、第A.5.31項「DESTYPE」および第7.2.1.6項「destination」を参照してください。

次のデフォルトの宛先を登録する必要はありません。

- キャッシュ

- 電子メール

- プリンタ

- ファイル

- FTP

- WebDAV

次のデフォルトの宛先は登録が必要になる場合があります。

- Oracle Portal: この宛先のエントリはデフォルトでサーバー構成ファイルに作成されますが、コメント・アウトされます。この宛先の使用を開始するには、destinationエントリのコメントを外し、適切なプロパティ値(portalUseridプロパティの値など)を指定する必要があります。

Oracle Reports Services Destinations APIで作成した新しい宛先タイプは登録する必要があります。

ノート:

destination APIの詳細は、Oracle Technology Network (OTN)(http://www.oracle.com/technetwork/middleware/reports/overview/index.html)で提供されている『Oracle Reports Java API Reference』を参照してください。

宛先の構成の詳細は、第12章「Oracle Reports Servicesの宛先の構成」を参照してください。

Oracle Reports Services Destinations APIを使用して、FAX、OracleのInternet File System(iFS)などのカスタム出力タイプや新しい宛先タイプの定義もできます。このAPIを使用して、新しい宛先タイプを定義できます。また、レポートをカスタムの宛先に導くハンドラを作成することもできます。

ノート:

使用可能なOracle ReportsのAPIの詳細は、Oracle Technology Network (OTN)(http://www.oracle.com/technetwork/middleware/reports/overview/index.html)で提供されている『Oracle Reports Java API Reference』を参照してください。

Oracle Reports Servicesのアーキテクチャによって、出力の生成と配布の方法が標準化されます。このアーキテクチャでは、Reports Serverを通じてレポート出力が適切な宛先に配信され、さらにOracle Reportsエンジンを通じて出力がその宛先とは関係なく生成されます。これによって、1回のレポート実行が様々な用途で使用できるので、効率が大幅に向上します。また、出力処理アーキテクチャが拡大され、任意数の宛先タイプに対応できるようになっています。

以前は、Reports Runtimeエンジンが出力の配信を全面的に処理していました。したがって、それは出力先との通信方法を認識している必要がありました。この結果、エンジンとサポートされている宛先は密接に結び付いていました。

Oracle Reports Servicesにより、この密結合とそれに伴う制限が解消されます。Runtimeエンジンは、すべての宛先を同等に処理するようになりました。作成される出力の宛先タイプは認識されません。サーバーが出力を宛先ハンドラに渡し、さらにハンドラがそれぞれに関連付けられた宛先タイプに配信するためのデータを準備します。事前定義の宛先タイプ(事前定義ハンドラを使用)を使用するか、またはサポートするカスタムの宛先タイプ用のハンドラを作成することができます。Oracle Reportsでは、ほとんどすべてのタイプの宛先に接続できます。

図12-1は、Oracle Reports Servicesの出力処理アーキテクチャの主要コンポーネントを示しています。

図12-1 宛先/配布アーキテクチャの主要コンポーネント

出力処理アーキテクチャでは、リクエストが次の順序で処理されます。

1. ユーザーが、クライアントまたはブラウザからReports Serverにリクエストを送信します。

2. サーバーがこのリクエストをRuntimeエンジンに渡します。

3. 宛先オブジェクト(特定の宛先のファイル・リストとそれらの宛先に関連するプロパティを含んだもの)およびレポート出力の作成や処理をRuntimeエンジンで行います。そしてRuntimeエンジンでは、宛先オブジェクトをReports Serverに、レポート出力をキャッシュにそれぞれ送信します。

4. Reports Serverが、宛先オブジェクトをReports Serverの宛先コンポーネントに送信します。

5. Reports Serverの宛先コンポーネントが、キャッシュからレポート出力をフェッチします。

6. Reports Serverの宛先コンポーネントが、レポートと宛先オブジェクト(宛先デバイスで出力が処理される方法を指定するもの)を適切な宛先ハンドラに送信します。

12.3 サーバーへの宛先タイプの登録

Oracle Reports Servicesで特定の宛先タイプにレポートを送信する前に、そのタイプがデフォルト・タイプ(プリンタ、電子メール、キャッシュまたはファイル)であるか、事前にサーバーの構成ファイル(rwserver.conf)に登録されたタイプであることが必要です。構成ファイルには、レポートに有効な宛先タイプを登録するためのdestination要素が含まれています。任意数の宛先タイプを任意の場所で登録できます。

サーバーへの宛先タイプの登録には、次のタスクが関係します。

- サーバー構成ファイルのdestinationセクションの設定

- 宛先として有効な値の入力

これらのタスクについては、次の各項で説明します。

12.3.1 サーバー構成ファイルのdestinationセクションの設定

rwserver.confファイルのdestinationセクションを設定するには:

1. サーバー構成ファイルを任意のテキスト・エディタでオープンします。
サーバー構成ファイルは、次のディレクトリにあります(WindowsとUNIXで共通のパス)。

ORACLE_INSTANCE\config\ReportsServerComponent\server_name\rwserver.conf

2. 構成ファイルにdestinationセクションがない場合は、構成ファイルのデータ型定義ファイル(rwserverconf.dtd)セクションにおいてdestinationセクションの前にある要素の下に、destinationセクションを作成します。

ノート:

サーバー構成ファイルは、関連するDocument Type Definition (DTD)ファイル(ORACLE_HOME\reports\dtd\rwserverconf.dtd)に定義されている要素の順序に従います。このファイルで宛先の前にある要素がサーバー構成ファイルに存在する場合は、それらの要素の後にdestinationを配置します。

3. レポートを出力する際に使用する宛先タイプを登録するには、常に次の構文を使用します。

<destination destype="output_type_1" class="java_class_1">
<property name="valid_destype_property" value="valid_value"/>
<property name="valid_destype_property" value="valid_value"/>
</destination>
<destination destype="output_type_2" class="java_class_2">
<property name="valid_destype_property" value="valid_value"/>
</destination>

これらのタグの有効値は、次の項で説明します。

12.3.2 宛先として有効な値の入力

この項では、Oracle Reportsでサポートされる宛先について説明します。

12.3.2.1 宛先タイプとクラス

destype属性とclass属性は、デフォルト以外の出力タイプの有効な登録に対して必要となります。この2つの属性で、宛先タイプとそれらに関連するJavaクラスを指定します。Oracle Reports Servicesに付属の事前定義(デフォルト)の宛先タイプおよびクラスを表12-1に示します。

表12-1 標準の宛先タイプとクラス

宛先

宛先タイプ

クラス

Oracle Portalコンテンツ領域

oraclePortal

oracle.reports.server.
DesOraclePortal

SMTP対応電子メール

mail

oracle.reports.server.DesMail

ファイル

file

oracle.reports.server.DesFile

キャッシュ

cache

oracle.reports.server.DesCache

プリンタ

printer

oracle.reports.server.DesPrint

FTP

ftp

oracle.reports.plugin.destination.ftp.DesFTP

WebDAV

WebDAV

oracle.reports.plugin.destination.webdav.DesWebDAV

関連項目:

第A.5.31項「DESTYPE」には、oraclePortal宛先タイプを使用してレポートをプッシュする例があります。

使用できる宛先タイプとクラスは、サーバーで提供する事前定義済のものにかぎられません。Destinations APIを使用してカスタム・ハンドラを定義すれば、FAXなどのカスタムの宛先タイプを登録できます。

ノート:

使用可能なOracle ReportsのAPIの詳細は、Oracle Technology Network (OTN)(http://www.oracle.com/technetwork/middleware/reports/overview/index.html)で提供されている『Oracle Reports Java API Reference』を参照してください。

12.3.2.2 宛先プロパティの名前/値のペア

サーバー構成ファイルでは、登録された宛先に任意数のプロパティを関連付けることができます。宛先のプロパティは名前/値のペアで構成され、それぞれのペアが出力タイプの構成のある側面を定義します。これらは、宛先タイプで認識できる用語で表されます。たとえば、宛先タイプがoraclePortalである宛先は、次の名前/値のペアを認識します。

<property name="portalUserid" value="portal_id/portal_password@portal_schema"
encrypted="no"/>

この例では、ポータルのユーザーIDに関連付ける値を定義しています。encrypted属性があり、この属性は、この要素内で値の暗号化が必要であることを示しています。また、encrypted="no"は値が暗号化されていないことを示しています。Reports Serverの次回起動時に、値が自動的に暗号化され、encryptedがyesにリセットされます。

ノート:

サーバー構成ファイルに指定できる要素と属性は、rwserverconf.xsdファイル(ORACLE_HOME\reports\dtd\rwserverconf.xsd)で定義されている構文によって決まります。詳細は、第7章「Oracle Reports Servicesの構成」を参照してください。

宛先タイプのプロパティに有効な値は、その宛先タイプに完全に依存します。これらの値は、Oracle Reportsから取得されるのではなく、Reports Serverで使用するわけでもありません。これらは宛先タイプ自体から取得され、宛先で認識する用語を使用します。開発者は、カスタムの宛先の要件を理解し、特定のカスタム出力タイプに関連付けるプロパティを把握する必要があります。

配布の検討に入ると、配布XMLファイル内のdestype要素にもプロパティの名前/値のペアが指定できることに気付きます。サーバー構成ファイルのdestination要素に入力されるプロパティと、配布XMLファイルのdestype要素に入力されるプロパティを区別することが重要です。

- サーバー構成ファイルのdestination要素に入力されるプロパティは、出力タイプの構成のみに関係します。たとえば、宛先FAXの再試行許容回数を設定します。

- 配布XMLファイルのdestype要素に入力されるプロパティは、ランタイム・パラメータの指定のみに関係します。たとえば、FAXの受信者の識別子を指定します。

12.3.3 宛先の例

次の例は、コンテンツをOracle Portalにプッシュするためのdestination要素を示しています。

<destination destype="oraclePortal" class="oracle.reports.server.DesOraclePortal">
<property name="portalUserid" value="<username_pwd_tnsname_for_logon_to_portal>"
encrypted="yes"/>
</destination>

12.4 Oracle Forms Servicesからのプラガブル宛先へのレポートの送信

Oracle Forms ServicesからOracle Reportsに登録されているプラガブル宛先にリクエストを送信するには:

1. Reports Serverに対するプラガブル宛先を作成するかインストールします(Oracle Technology Network (OTN)でhttp://www.oracle.com/technetwork/middleware/reports/index-085705.htmlの「Oracle Reports - Plugin Exchange」を参照)。

2. Oracle Formsでフォームを作成し、Reports Serverへのレポートを実行するように設定します(http://www.oracle.com/technetwork/developer-tools/forms/documentation/techlisting10g-085500.htmlにあるホワイト・ペーパー『Integrating Oracle Forms 10g and Oracle Reports 10g』を参照)。
リクエスト送信用パラメータは次のように設定する必要があります。

set_report_object_property(report_id, REPORT_DESTYPE, PLUGDEST);
...
set_report_object_property(report_id, REPORT_OTHER, 'PLUGDESTYPE=pluggable destination' );
...

3. Reports Serverにおいてレポート出力がプラガブル宛先に送信されていることを確認します。

PLUGDESTYPEパラメータを指定した場合、DESTYPE (Oracle Reportsの場合)およびREPORT_DESTYPE (Oracle Formsの場合)は無視され、PLUGDESTYPEの値が使用されます。

13 プラガブル・データ・ソースの構成と使用

この章では、様々な種類のプラガブル・データ・ソースの構成と使用について説明します。

JDBC PDSの構成と使用

テキストPDSの構成と使用

XML PDSの構成と使用

13.1 JDBC PDSの構成と使用

JDBCプラガブル・データソース(PDS)を使用すると、次のような任意のJDBCデータソースにアクセスできます。

- Oracle、DB2、Sybase、SQL ServerなどのRDBMS

- Microsoft Excelなどの非リレーショナル・データ・ソース

- JDBC-ODBC Bridgeを経由するODBCデータ・ソース

Oracle ReportsにはデフォルトでJDBC PDSがインストールされており、あらゆるJDBC対応データ・ソースへのアクセスが可能です。

この章には、次の項があります。

- JDBC構成ファイル

- JDBC問合せの定義と実行

- Oracle Reports Servicesを使用したJDBCレポートの実行

- トラブルシューティング情報

- ユーザー独自のJDBCドライバの追加

13.1.1 JDBC構成ファイル

jdbcpds.confファイルは、Oracle ReportsのJDBC PDS構成ファイルです。これは、次のディレクトリに格納されています。

- Reports Serverの場合:
ORACLE_INSTANCE\config\ReportsServerComponent\server_name

- Oracle Reports Builderの場合:
ORACLE_INSTANCE\config\ReportsToolsComponent\ReportsTools

- Oracle WebLogic ServerにデプロイされたReportsアプリケーション(インプロセスReports Server)の場合:
DOMAIN_HOME/config/fmwconfig/servers/WLS_REPORTS/applications/reports_version/configuration

このファイルは、次のドライバ用に事前構成されています。

- プリインストール・ドライバ。すなわちOracle JDBC Thinドライバ、Oracle JDBC OCI (Thick)ドライバおよびJDBC-ODBCドライバ。

- Oracle Technology Network(http://www.oracle.com/technetwork/index.html)から入手可能なDataDirect Merantドライバ。

これ以外のJDBCドライバを使用する場合は、jdbcpds.confファイル内で関連するエントリを追加または変更する必要があります。

Oracle Reports Builderでは、jdbcpds.confファイルのエントリに基づいて、ドライバのリストをJDBC問合せ接続ダイアログに表示します。このリストで、レポートのJDBC問合せに使用するドライバを選択します。

Oracle Reports Builderでは、起動時にjdbcpds.confのエントリが読み取られ、キャッシュに格納されます。Oracle Reports Builderを再起動すると、jdbcpds.confファイルに対する変更(たとえば、新しいJDBCドライバ・エントリの追加)の結果が表示されます。

jdbcpds.confファイルには、次の2つのセクションがあります。

- XMLフォーマットおよびドライバ構成情報を記述する内部DTDセクション

注意:

このセクションは変更不可です。

- ドライバ名、接続文字列の書式、ドライバ・クラスなどのドライバ情報を詳述するXMLセクション

ノート:

このセクションで、ドライバ情報を変更または追加することができます。

例

jdbcpds.confファイルの内容の例を次に示します。

<!-- Add or modify the following section for your driver information -->
<!-- Following drivers are available out-of-box in OracleAS -->

<jdbcpds>
xmlns="http://xmlns.oracle.com/reports/pdsjdbc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/reports/pdsjdbc file:c:\orawin/reports/dtd/jdbcpds.xsd"
>
<driverInfo>
<driver name = "oracleThin"
sourceDatabase = "oracle"
subProtocol = "oracle:thin"
connectString = "mainProtocol:subProtocol:@databaseName"
class= "oracle.jdbc.driver.OracleDriver"
connection = "oracle.reports.plugin.datasource.jdbcpds.
JDBCConnectionHandling">
</driver>

<driver name = "oracle"
sourceDatabase = "oracle"
subProtocol = "oracle:oci8"
connectString = "mainProtocol:subProtocol:@databaseName"
class = "oracle.jdbc.driver.OracleDriver"
connection = "oracle.reports.plugin.datasource.jdbcpds.
JDBCConnectionHandling">
</driver>

<driver name = "jdbc-odbc"
sourceDatabase = "odbc"
subProtocol = "odbc"
connectString = "mainProtocol:subProtocol:databaseName"
class = "sun.jdbc.odbc.JdbcOdbcDriver"
connection = "oracle.reports.plugin.datasource.jdbcpds.
JDBCConnectionHandling">
</driver>

<driver name = "sqlserver-merant"
sourceDatabase = "sqlserver"
subProtocol = "merant:sqlserver"
connectString = "mainProtocol:subProtocol://databaseName"
class = "com.oracle.ias.jdbc.sqlserver.SQLServerDriver"
connection = "oracle.reports.plugin.datasource.jdbcpds.
JDBCConnectionHandling">
</driver>

<driver name = "sybase-merant"
sourceDatabase = "sybase"
subProtocol = "merant:sybase"
connectString = "mainProtocol:subProtocol://databaseName"
class = "com.oracle.ias.jdbc.sybase.SybaseDriver"
connection = "oracle.reports.plugin.datasource.jdbcpds.
JDBCConnectionHandling"
loginTimeout = "0">
</driver>

<driver name = "db2-merant"
sourceDatabase = "db2"
subProtocol = "merant:db2"
connectString = "mainProtocol:subProtocol://databaseName"
class = "com.oracle.ias.jdbc.db2.DB2Driver"
connection = "oracle.reports.plugin.datasource.jdbcpds.
JDBCConnectionHandling"
loginTimeout = "0">
</driver>

<driver name = "informix-merant"
sourceDatabase = "informix"
subProtocol = "merant:informix"
connectString = "mainProtocol:subProtocol://databaseName"
class = "com.oracle.ias.jdbc.informix.InformixDriver"
connection = "oracle.reports.plugin.datasource.jdbcpds.
JDBCConnectionHandling">
</driver>

</driverInfo>
</jdbcpds>

表13-1では、ドライバに関連付けることのできる各種属性を説明しています。

表13-1 ドライバの属性

属性名

説明

例

name

一意のユーザー定義値。Oracle Reportsで特定のJDBCドライバを参照するために使用されます。

sybase-merant

sourceDatabase

ドライバが参照するデータベース。有効なエントリは、次のとおりです。

oracle

sqlserver

sybase

db2

informix

odbc

other

oracle

subProtocol

データベース接続の作成前にデータベースURLとともに追加されるドライバ・サブ・プロトコル。ドライバ固有の情報です。この情報については、各ドライバのドキュメントを参照してください。たとえば、Merantドライバへの接続に使用されるサブ・プロトコルは次のとおりです。

Sybaseの場合は、merant:sybase

SQL Serverの場合は、merant:sqlserver

merant:sybase

connectString

ドライバの接続文字列の書式はmainProtocol:sub Protocol://databaseURLです。例: jdbc:subProtocol://databaseName。subProtocolまたはdatabaseNameには実際の値を指定せず、固定のプレースホルダ名を使用します。

mainProtocol:subProtocol://databaseName

class

REPORTS_CLASSPATHに登録し、ドライバをロードするためのドライバ・クラス名。ドライバ固有の情報です。この情報については、各ドライバのドキュメントを参照してください。

com.oracle.ias.jdbc.informix.InformixDriver

connection

ドライバの接続処理クラス。JDBC PDSはドライバごとに異なる接続処理クラスを持つことができます。Oracle Reportsのデフォルト接続処理クラスはoracle.reports.plugin.datasource.jdbcpds.JDBCConnectionHandlingであり、ほとんどのドライバで使用できます。

JDBC Connectionクラスの拡張方法の詳細は、Oracle ReportsのJava APIリファレンスを参照してください。

oracle.reports.plugin.datasource.jdbcpds. JDBCConnectionHandling

loginTimeout(オプション)

ドライバ固有のパラメータ。秒単位で値を指定します。詳細は、ドライバのドキュメントを参照してください。

0

property

ドライバの追加プロパティを属性名と値で任意に指定します。

-

レポートの接続詳細を送信する際には、接続情報とjdbcpds.confファイルで指定されているドライバ構成情報とが組み合せられます。この組み合せた接続情報が、完全な接続URLとしてデータベースに送信されます。接続情報の例の詳細は、表13-3、表13-4、表13-5、表13-6および表13-7を参照してください。

図13-0では、jdbcpds.confファイルで構成されているすべてのドライバの一覧を示しています。

図13-1 Oracle Reports BuilderのJDBC接続ダイアログ・ボックス

13.1.1.1 プリインストールされているドライバ・エントリの確認

Oracle Reportsには、SQL ServerやExcelのJDBC-ODBCドライバ、Oracle JDBC Thinドライバ、Oracle JDBC OCI (Thick)ドライバなどがインストールおよび構成されています。次のドライバには、追加のJARファイルをインストールする必要がありません。

- Oracle JDBC Thinドライバ

- Oracle JDBC OCI (Thick)ドライバ

- JDBC-ODBCドライバ
JDBC-ODBCドライバを使用すると、SQL ServerやExcelのデータが扱えます。このドライバのエントリは、jdbcpds.confファイルに事前構成されています。SQL ServerやExcelのデータをJDBC-ODBCドライバで使用するには、ODBCデータ・ソースを作成する必要があります。ODBCデータ・ソースの作成方法の詳細は、Windowsヘルプを参照してください。

ノート:

Oracle Fusion Middlewareでは、SQL Serverへのアクセスにも使用できるMerant DataDirectドライバが用意されています。

13.1.1.2 Merant DataDirectドライバのインストールと構成

オラクル社は、Merant DataDirectドライバ・セット(バージョン3.2)を提供しています。これは、OTN(http://www.oracle.com/technetwork/index.html)からダウンロードできます。ドライバ構成ファイル(jdbcpds.conf)には、Merant DataDirectドライバ関連のエントリがあります。さらに、JDBC接続ダイアログ(表13-1)には、オラクル社が提供するMerant DataDirectドライバ・セットのエントリが一覧表示されます。

ただし、適切なJARファイルをインストールし、それをOracle Reports BuilderやOracle Reports Servicesから使用できるようにOracle Reports固有のクラスパス・エントリで指定する必要があります。

オラクル社が提供するドライバでOracle Fusion MiddlewareやOracle Developer Suiteで使用可能なものは次のとおりです。

- Sybaseドライバ

- DB 2ドライバ

- SQL Serverドライバ

- Informixドライバ

- カスタム・ドライバ

カスタム・ドライバも、Oracle Fusion MiddlewareやOracle Developer Suiteで使用するためにインストールして構成できます。

次に、Merant DataDirectドライバを構成する際の一般的なステップについて説明します。個々のMerant DataDirectドライバを構成する手順については、それぞれ該当する項を参照してください。

Merant DataDirectドライバを構成するには:

1. 適切なJARファイルをOracle Fusion MiddlewareとOracle Developer Suiteのディレクトリにインストールします。

2. エントリをREPORTS_CLASSPATHに追加して、Oracle Reports BuilderとOracle Reports Servicesでそれらのファイルを使用できるようにします。

ノート:

このREPORTS_CLASSPATH変数は、すべてのUNIXプラットフォームで使用可能なreports.shファイルにあります。

必要なJARファイルについては、この項の該当するドライバの記述を参照してください。

1. Oracle Reports Builder: REPORTS_CLASSPATHの既存エントリの前に、ドライバの場所を挿入します。この変数は、Windowsの場合はレジストリ内に、UNIXの場合はreports.shファイル内にあります。この項の該当するドライバの例を参照してください。

2. rwbuilder.conf: rwbuilder.conf構成ファイル内にあるエンジンのclassPath属性に、ドライバの場所を追加します。この項の該当するドライバの例を参照してください。

3. Reports Server: Reports Server構成ファイル内にあるエンジンのclassPath属性に、ドライバの場所を追加します。この項の該当するドライバの例を参照してください。

4. jdbcpds.conf: ORACLE_INSTANCE\config\ReportsServerComponent\server_nameディレクトリ内にあります。パラメータの詳細は、表13-1を参照してください。この項の該当するドライバの例を参照してください。

13.1.1.2.1 Sybaseドライバ

1. 適切なJARファイルをOracle Fusion MiddlewareとOracle Developer Suiteのディレクトリにインストールします。
必要なJARファイルは、YMutil.jar、YMsybase.jar、YMbase.jarです。

2. エントリをREPORTS_CLASSPATHに追加して、Oracle Reports BuilderとOracle Reports Servicesでそれらのファイルを使用できるようにします。

ノート:

このREPORTS_CLASSPATH変数は、すべてのUNIXプラットフォームで使用可能なreports.shファイルにあります。

1. Oracle Reports Builder: REPORTS_CLASSPATHの既存エントリの前に、ドライバの場所を挿入します。この変数は、Windowsの場合はレジストリ内に、UNIXの場合はreports.shファイル内にあります。

Example:
D:\sybase_installed\YMutil.jar;D:\sybase_installed\YMsybase.jar;D:\sybase_
installed\YMbase.jar;existing classpath entries

2. rwbuilder.conf: rwbuilder.conf構成ファイル内にあるエンジンのclassPath属性に、ドライバの場所を追加します。

Example:
<engine id="rwEng" class="oracle.reports.engine.EngineImpl" initEngine="1"
maxEngine="1"   minEngine="0" engLife="50" maxIdle="30"
callbackTimeOut="60000"  classPath="D:\sybase_
installed\YMutil.jar;D:\sybase_installed\YMsybase.jar;D:\sybase_
installed\YMbase.jar;">
...
</engine>

3. Reports Server: Reports Server構成ファイル内にあるエンジンのclassPath属性に、ドライバの場所を追加します。

Example:
<engine id="rwEng" class="oracle.reports.engine.EngineImpl" initEngine="1"
maxEngine="1"   minEngine="0" engLife="50" maxIdle="30"
callbackTimeOut="60000"        classPath="D:\sybase_
installed\YMutil.jar;D:\sybase_installed\YMsybase.jar;D:\sybase_
installed\YMbase.jar;">
...
</engine>

4. jdbcpds.conf: ORACLE_INSTANCE\config\ReportsServerComponent\server_nameディレクトリ内にあります。必須パラメータの詳細は、表13-1を参照してください。

Example:
<driver   name = "sybase-merant"
sourceDatabase = "sybase"
subProtocol = "merant:sybase"
connectString = "mainProtocol:subProtocol://databaseName"
class = "com.oracle.ias.jdbc.sybase.SybaseDriver"
connection = "oracle.reports.plugin.datasource.jdbcpds.
JDBCConnectionHandling"
loginTimeout = "0">
</driver>

13.1.1.2.2 DB 2ドライバ

1. 適切なJARファイルをOracle Fusion MiddlewareとOracle Developer Suiteのディレクトリにインストールします。
必要なJARファイルは、YMutil.jar、YMdb2.jar、YMbase.jarです。

2. エントリをREPORTS_CLASSPATHに追加して、Oracle Reports BuilderとOracle Reports Servicesでそれらのファイルを使用できるようにします。

ノート:

このREPORTS_CLASSPATH変数は、すべてのUNIXプラットフォームで使用可能なreports.shファイルにあります。

1. Oracle Reports Builder: REPORTS_CLASSPATHの既存エントリの前に、ドライバの場所を挿入します。この変数は、Windowsの場合はレジストリ内に、UNIXの場合はreports.shファイル内にあります。

Example:
D:\db2_installed\YMutil.jar;D:\db2_installed\YMdb2.jar;D:\db2_
installed\YMbase.jar;existing classpath entries

2. rwbuilder.conf: rwbuilder.conf構成ファイル内にあるエンジンのclassPath属性に、ドライバの場所を追加します。

Example:
<engine id="rwEng" class="oracle.reports.engine.EngineImpl" initEngine="1"
maxEngine="1" minEngine="0" engLife="50"        maxIdle="30"
callbackTimeOut="60000" classPath="D:\db2_installed\YMutil.jar;D:\db2_
installed\YMdb2.jar;D:\db2_installed\YMbase.jar">
...
</engine>

3. Reports Server: Reports Server構成ファイル内にあるエンジンのclassPath属性に、ドライバの場所を追加します。

Example:
<engine id="rwEng" class="oracle.reports.engine.EngineImpl" initEngine="1"
maxEngine="1" minEngine="0" engLife="50"        maxIdle="30"
callbackTimeOut="60000" classPath="D:\db2_installed\YMutil.jar;D:\db2_
installed\YMdb2.jar;D:\db2_installed\YMbase.jar">
...
</engine>

4. jdbcpds.conf: ORACLE_INSTANCE\config\ReportsServerComponent\server_nameディレクトリ内にあります。パラメータの詳細は、表13-1を参照してください。

Example:
<driver   name = "db2-merant"
sourceDatabase = "db2"
subProtocol = "merant:db2"
connectString = "mainProtocol:subProtocol://databaseName"
class = "com.oracle.ias.jdbc.db2.DB2Driver"
connection = "oracle.reports.plugin.datasource.jdbcpds.
JDBCConnectionHandling"
loginTimeout = "0">
</driver>

13.1.1.2.3 SQL Serverドライバ

1. 適切な.jarファイルをOracle Fusion MiddlewareとOracle Developer Suiteのディレクトリにインストールします。
必要なJARファイルは、YMutil.jar、YMsqlserver.jar、YMbase.jarです。

2. エントリをREPORTS_CLASSPATHに追加して、Oracle Reports BuilderとOracle Reports Servicesでそれらのファイルを使用できるようにします。

ノート:

このREPORTS_CLASSPATH変数は、すべてのUNIXプラットフォームで使用可能なreports.shファイルにあります。

1. Oracle Reports Builder: REPORTS_CLASSPATHの既存エントリの前に、ドライバの場所を挿入します。この変数は、Windowsの場合はレジストリ内に、UNIXの場合はreports.shファイル内にあります。

Example:
D:\sqlserver_installed\YMutil.jar;D:\sqlserver_
installed\YMsqlserver.jar;D:\sqlserver_installed\YMbase.jar;existing
classpath entries

2. rwbuilder.conf: rwbuilder.conf構成ファイル内にあるエンジンのclassPath属性に、ドライバの場所を追加します。

Example:
<engine id="rwEng" class="oracle.reports.engine.EngineImpl" initEngine="1"
maxEngine="1" minEngine="0" engLife="50"        maxIdle="30"
callbackTimeOut="60000" classPath="D:\sqlserver_
installed\YMutil.jar;D:\sqlserver_installed\YMsqlserver.jar;D:\sqlserver_
installed\YMbase.jar;">
...
</engine>

3. Reports Server: Reports Server構成ファイル内にあるエンジンのclassPath属性に、ドライバの場所を追加します。

Example:
<engine id="rwEng" class="oracle.reports.engine.EngineImpl" initEngine="1"
maxEngine="1" minEngine="0" engLife="50"        maxIdle="30"
callbackTimeOut="60000" classPath="D:\sqlserver_
installed\YMutil.jar;D:\sqlserver_installed\YMsqlserver.jar;D:\sqlserver_
installed\YMbase.jar;">
...
</engine>

4. jdbcpds.conf: ORACLE_INSTANCE\config\ReportsServerComponent\server_nameディレクトリ内にあります。パラメータの詳細は、表13-1を参照してください。

Example:
<driver  name = "sqlserver-merant"
sourceDatabase = "sqlserver"
subProtocol = "merant:sqlserver"
connectString = "mainProtocol:subProtocol://databaseName"
class = "com.oracle.ias.jdbc.sqlserver.SQLServerDriver"
connection = "oracle.reports.plugin.datasource.jdbcpds.
JDBCConnectionHandling">
</driver>

13.1.1.2.4 Informixドライバ

1. 適切なJARファイルをOracle Fusion MiddlewareとOracle Developer Suiteのディレクトリにインストールします。
必要なJARファイルは、YMutil.jar、YMinformix.jar、YMbase.jarです。

2. エントリをREPORTS_CLASSPATHに追加して、Oracle Reports BuilderとOracle Reports Servicesでそれらのファイルを使用できるようにします。

ノート:

このREPORTS_CLASSPATH変数は、すべてのUNIXプラットフォームで使用可能なreports.shファイルにあります。

1. Oracle Reports Builder: REPORTS_CLASSPATHの既存エントリの前に、ドライバの場所を挿入します。この変数は、Windowsの場合はレジストリ内に、UNIXの場合はreports.shファイル内にあります。

Example:
D:\informix_installed\YMutil.jar;D:\informix_
installed\YMinformix.jar;D:\informix_installed\YMbase.jar;existing
classpath entries

2. rwbuilder.conf: rwbuilder.conf構成ファイル内にあるエンジンのclassPath属性に、ドライバの場所を追加します。

Example:
<engine id="rwEng" class="oracle.reports.engine.EngineImpl" initEngine="1"
maxEngine="1" minEngine="0" engLife="50"        maxIdle="30"
callbackTimeOut="60000" classPath="D:\informix_
installed\YMutil.jar;D:\informix_installed\YMinformix.jar;D:\informix_
installed\YMbase.jar">
...
</engine>

3. Reports Server: Reports Server構成ファイル内にあるエンジンのclassPath属性に、ドライバの場所を追加します。

Example:
<engine id="rwEng" class="oracle.reports.engine.EngineImpl" initEngine="1"
maxEngine="1" minEngine="0" engLife="50"        maxIdle="30"
callbackTimeOut="60000" classPath="D:\informix_
installed\YMutil.jar;D:\informix_installed\YMinformix.jar;D:\informix_
installed\YMbase.jar">
...
</engine>

4. jdbcpds.conf: ORACLE_INSTANCE\config\ReportsServerComponent\server_nameディレクトリ内にあります。パラメータの詳細は、表13-1を参照してください。

Example:
<driver name = "informix-merant"
sourceDatabase = "informix"
subProtocol = "merant:informix"
connectString = "mainProtocol:subProtocol://databaseName"
class = "com.oracle.ias.jdbc.informix.InformixDriver"
connection = "oracle.reports.plugin.datasource.jdbcpds.
JDBCConnectionHandling">
</driver>

13.1.1.2.5 カスタム・ドライバ

オラクル社以外が提供するドライバは、インストールおよび構成する必要があります。たとえば、ライセンスを所有していれば、BEA JDBCドライバを使用できます。カスタム・ドライバをインストールおよび構成するには、次のステップを実行します。

1. 適切なJARファイルをOracle Fusion MiddlewareとOracle Developer Suiteのディレクトリにインストールします。

2. エントリをREPORTS_CLASSPATHに追加して、Oracle Reports BuilderとOracle Reports Servicesでそれらのファイルを使用できるようにします。

ノート:

このREPORTS_CLASSPATH変数は、すべてのUNIXプラットフォームで使用可能なreports.shファイルにあります。

必要なJARファイルについては、該当するドライバのドキュメントを参照してください。

1. Oracle Reports Builder: REPORTS_CLASSPATHの既存エントリの前に、ドライバの場所を挿入します。この変数は、Windowsの場合はレジストリ内に、UNIXの場合はreports.shファイル内にあります。

Example:
driver location\1st jar file;driver location\2nd jar file2;existing classpath entries

2. rwbuilder.conf: rwbuilder.conf構成ファイル内にあるエンジンのclassPath属性に、ドライバの場所を追加します。

Example:
<engine id="rwEng" class="oracle.reports.engine.EngineImpl" initEngine="1"
maxEngine="1" minEngine="0" engLife="50"        maxIdle="30"
callbackTimeOut="60000" classPath="driver location\1st jar file;driver
location\2nd jar file;">
...
</engine>

3. Reports Server: Reports Server構成ファイル内にあるエンジンのclassPath属性に、ドライバの場所を追加します。

Example:
<engine id="rwEng" class="oracle.reports.engine.EngineImpl" initEngine="1"
maxEngine="1" minEngine="0" engLife="50"        maxIdle="30"
callbackTimeOut="60000" classPath="driver location\1st jar file;driver
location\2nd jar file;">
...
</engine>

4. jdbcpds.conf: ORACLE_INSTANCE\config\ReportsServerComponent\server_nameディレクトリ内にあります。該当するドライバの構成情報をjdbcpds.confファイルに追加します。必須パラメータの詳細は、表13-1を参照してください。

Example:
<driver  name = "<driver name>"
sourceDatabase = "<sourceDatabase>"
subProtocol = "<subProtocol>"
connectString = "mainProtocol:subProtocol://databaseName"
class = "<driver class name>"
connection ="<connection handling class">
</driver>

ノート:

この値は、カスタム接続ダイアログを実装しない場合は、カスタム・ドライバに対してconnection = "oracle.reports.plugin.datasource.jdbcpds.JDBCConnectionHandling"にすることができます。

13.1.2 JDBC問合せの定義と実行

関連するJDBCドライバを構成した後、SQLまたはストアド・プロシージャを使用して、JDBC問合せを定義および実行できます。

JDBC問合せを定義するには:

1. Oracle Reports Builderを起動します。

2. レポート・ウィザードを起動します。

3. データ・ソース・タイプとして「JDBC問合せ」を選択し、「次へ」をクリックします。レポート・ウィザードの使用方法の詳細は、Oracle Reportsのオンライン・ヘルプを参照してください。

図13-2 データソース・タイプの選択

4. 「データ・ソース定義」ウィンドウで、「問合せ定義」をクリックします。

5. 次のいずれかを定義します。

- SQL問合せ:

SELECT * FROM DEPARTMENT;

- ストアド・プロシージャ:
使用するデータベースのストアド・プロシージャの完全なコール構文を入力します。例:

TestProc(40)

コール構文の詳細は、データベースのドキュメントを参照してください。

JDBC PDSは、指定されたとおりにコール文をドライバに送信してストアド・プロシージャを起動します。

図13-3 ストアド・プロシージャのコール

- 表13-2 Excelデータソースの指定

問合せ(単一ワークシート)

問合せ(複数ワークシート)

SELECT * FROM [SHEET1$]またはSELECT COL1, COL2, ...COLn FROM [SHEET1$]
SHEET1$は.xlsファイルの名前です。

ワークシートの最初の行の値は、問合せの列名として取得されます。

ノート: 最初の行のどの列にも値が指定されていない場合、デフォルトの名前はFcolumnNumberになります。たとえば、8列目はF8、9列目はF9というようになります。

SELECT * FROM [WORKSHEETNAME$]

[WORKSHEETNAME$]は、ワークシートの名前です。

ワークシートの最初の行は、問合せの列名として取得されます。

ノート: 最初の行のどの列にも値が指定されていない場合、デフォルトの名前はFcolumnNumberになります。たとえば、8列目はF8、9列目はF9というようになります。

6. サインオン・パラメータ名を指定します。このサインオン・パラメータは、データベースに対して実行されるときに接続情報に関連付けられます。デフォルトのサインオン・パラメータ名はP_JDBCPDSです(第A.7.10項「P_JDBCPDS」を参照)。

1. 新しいサインオン名を入力し、「接続」をクリックします。Oracle Reports Servicesを使用してレポートを実行する際には、このサインオン・パラメータを使用して、データベース接続を指定します。

2. そのドライバ・タイプの接続情報(ユーザー名、パスワード、データベース名)を入力します。接続情報の例については、表13-3、表13-4、表13-5、表13-6および表13-7を参照してください。

3. ドライバ・タイプを選択します。jdbcpds.confファイルに入力された値に基づいて、ドライバ・リストが表示されます。

4. 「接続」をクリックして、新しいサインオンを使用してデータベースにアクセスします。内部的に作成された接続文字列は、次の2つの組合せです。

- jdbcpds.confファイルで定義されているconnectStringドライバ属性(表13-1を参照)

- connect stringのデータベース名部分の入力に使用される「接続」ダイアログで指定された接続情報

7. 「OK」をクリックして、JDBC問合せを実行します。

8. レポート・ウィザードには、問合せの説明が表示されます(図13-4)。

図13-4 問合せの説明

9. ウィザードのステップに従ってレイアウトを定義し、JDBC問合せに基づいてレポートを実行します。

13.1.2.1 接続情報の例

表13-3、表13-4、表13-5、表13-6、表13-7、表13-8および表13-9では、次で使用する接続情報の例を示しています。

- プリインストール・ドライバ。すなわちOracle JDBC Thinドライバ、Oracle JDBC OCI (Thick)ドライバおよびJDBC-ODBCドライバ。

- Oracle Technology Network(http://www.oracle.com/technetwork/index.html)から入手可能なDataDirect Merantドライバ。

表13-3 Oracle Thinドライバ

プロパティ

値

ユーザー名

Reports

パスワード

Welcome

データベース

hostname: 接続先サーバーのTCP/IPアドレスまたはTCP/IPホスト名。

port: TCP/IPポート番号。

property: 接続プロパティ。接続プロパティと有効な値のリストについては、ドライバのドキュメントを参照してください。

例: server1.example.com:1300:session1

表13-4 Oracle Thickドライバ

プロパティ

値

ユーザー名

Reports

パスワード

Welcome

データベース

n123

n123は、tnsnames.oraファイル内のtnsnameエントリです。

表13-5 JDBC-ODBCドライバ

プロパティ

値

ユーザー名

該当なし

パスワード

このパスワードは、ODBC接続を確立する時点で設定されます。

データベース

SQLSVR

SQLSVRは、ODBCデータ・ソースのODBCデータ・エントリです。

表13-6 Sybase

プロパティ

値

ユーザー名

Reports

パスワード

Welcome

データベース

hostname: 接続先サーバーのTCP/IPアドレスまたはTCP/IPホスト名。

port: TCP/IPポート番号。

例: server1.example.com:1300

表13-7 DB2

プロパティ

値

ユーザー名

Reports

パスワード

Welcome

データベース

hostname: 接続先サーバーのTCP/IPアドレスまたはTCP/IPホスト名。

port: TCP/IPポート番号。

property: 接続プロパティ。接続プロパティと有効な値のリストについては、ドライバのドキュメントを参照してください。

例1: server1:1654

例2: server2:1721;PackageName=pkg1

表13-8 SQL Server

プロパティ

値

ユーザー名

Reports

パスワード

Welcome

データベース

hostname: 接続先サーバーのTCP/IPアドレスまたはTCP/IPホスト名。

port: TCP/IPポート番号。

例1: server1:1654

表13-9 Informix

プロパティ

値

ユーザー名

Reports

パスワード

Welcome

データベース

hostname: 接続先サーバーのTCP/IPアドレスまたはTCP/IPホスト名。

port: TCP/IPポート番号。

InformixServer name: Informixサーバー名。

Database name: 接続先のデータベース名。

例2: server_name:2003;InformixServer=myinformix_server;DatabaseName=scott/tiger@mydb

13.1.3 Oracle Reports Servicesを使用したJDBCレポートの実行

JDBC問合せ(Reports Serverまたはrwrunエンジン)を含むレポートを実行する際、サインオン・パラメータを使用して、JDBCデータ・ソースの接続情報を送信します。このサインオン・パラメータは、Reports Builderでの設計時にJDBC問合せに対して定義されます。

たとえば、Sybaseデータ・ソースに対するJDBC問合せ、DB2データ・ソースに対するJDBC問合せ、およびOracleデータ・ソースに対するSQL問合せがレポートに含まれる場合、これらの要求を次のように定義できます。

http://your_ias_
server:port//reports/rwservlet?report=my.rdf&userid=user/pwd@oracledb
&desformat=pdf&destype=cache&p_sybasepds=sybaseuser/pw@sybasehost:port
&p_db2pds=db2user/pwd@db2host:port

説明:

- useridは、SQL問合せを実行する際、Oracleデータベースに接続するための値です。レポートにSQL問合せもREF CURSOR問合せもない場合は、useridの指定は不要です。

- p_sybasepdsは、SybaseへのJDBC問合せに関連付けられたサインオン・パラメータです。

- p_db2pdsは、設計時にレポート内で定義された、DB2へのJDBC問合せに関連付けられたサインオン・パラメータです。
Reports Builderでのレポートの設計時に「JDBC問合せ」ダイアログ・ボックスで名前を指定しないと、デフォルトのサインオン・パラメータ名のP_JDBCPDSが使用されます。

13.1.4 トラブルシューティング情報

この項では、次の項目の一覧を示します。

- JDBC PDSエラー・メッセージ(「エラー・メッセージ」)

- JDBC問合せのトラブルシューティング(「トレース情報」)

13.1.4.1 エラー・メッセージ

表13-10、表13-11および表13-12は、JDBC PDSに関連するトラブルシューティング情報の一覧です。

表13-10 データベース接続に関連するエラー・メッセージ

エラー・メッセージ

原因

処置

接続クラス{0}はロードできません

選択したドライバに対して、jdbcpds.confファイルで指定されている接続クラスが無効です。

jdbcpds.confファイルで指定されているドライバ接続クラスが有効かつ使用可能であることを確認します。

データソースへの接続に失敗しました

接続情報が無効です。

ユーザー名、パスワード、データベースおよびドライバ・タイプの妥当性を確認します。

無効なサインオン・パラメータ{0}

指定された問合せまたはプロシージャのサインオン・パラメータが無効です。

レポートのJDBC問合せタイプに対してサインオン・パラメータが使用可能かつ有効であることを確認します。

サインオン・パラメータ{0}に無効な値が与えられました

指定されたサインオン・パラメータに対する接続文字列が無効です。

このサインオン・パラメータに対して指定された接続文字列が、選択したドライバに対して有効であることを確認します。

表13-11 データソースの実行に関連するエラー・メッセージ

エラー・メッセージ

原因

処置

日付タイプの参照パラメータは、使用しているJDBCドライバでサポートされていません

データベースへの接続に使用しているドライバが、日付データ・タイプを参照パラメータとしてサポートしていません。

次のいずれかを使用します。

文字列データ・タイプ(参照パラメータとして)。

日付データ・タイプをサポートする別のJDBCドライバ(参照パラメータとして)。

無効な文字パラメータ{0}が問合せに使用されています

問合せまたはプロシージャで使用した文字パラメータが無効です。

問合せやプロシージャで使用している文字パラメータが有効であることを確認します。有効なパラメータがない場合は、新しいパラメータを作成します。

SQLエラー:

指定した問合せまたはプロシージャでSQL構文エラーが発生しました。

問合せまたはプロシージャの構文が有効であることを確認します。該当するデータ・ソースのドキュメントを参照してください。

指定されたデータソースに対する無効な問合せ/プロシージャ

問合せまたはプロシージャの構文が無効です。

問合せまたはプロシージャの構文が有効であることを確認します。該当するデータ・ソースのドキュメントを参照してください。

参照パラメータ値が無効です

参照パラメータ値が無効です。

参照列のタイプと値が正しいかどうかを確認します。

入力された問合せ/プロシージャはありません

問合せまたはプロシージャのテキスト・フィールドが空です。

有効な問合せまたはプロシージャをテキスト・フィールドに入力します。

データベースURL:

データベースURLが無効です。

指定したデータベース名と選択したドライバ・タイプが有効であることを確認します。

列の数または列のタイプが、問合せ定義と一致していません

フェッチされたデータが、問合せ定義で指定されている列の数または列のタイプと一致していません。

列の数および列のタイプが問合せ定義と一致していることを確認します。

問合せ/プロシージャで使用されている列タイプ{0}はReportsのJDBC問合せではサポートされていません

この列タイプは、Oracle ReportsのJDBC問合せインタフェースでサポートされていません。

Oracle ReportsのJDBC問合せインタフェースでサポートされている列タイプのみを使用していることを確認します。JDBC仕様およびOracle Reportsのドキュメントで、サポートされるすべてのタイプのリストを参照してください。

表13-12 ドライバ/PDSの問題の識別

エラー・メッセージ

原因

処置

jdbcpds.conf構成ファイルのインラインDTDセクションは変更されました

jdbcpds.confファイルのインラインDTDセクションのフォーマットが変更されています。

DTDフォーマットを変更した場合は、JDBC PDS要件に対して構成ファイルが有効であることを確認します。

行番号:

jdbcpds.confファイルの指定された行でエラーが検出されました。

指定された行のエラーを修正します。

構成ファイルjdbcpds.confが見つかりません

ORACLE_INSTANCE\config\ReportsServerComponent\server_nameディレクトリでjdbcpds.confファイルが見つかりません。

ORACLE_INSTANCE\config\ReportsServerComponent\server_nameディレクトリにjdbcpds.confファイルがあることを確認します。

構成ファイルjdbcpds.confの解析エラー。 エラー数:{0}

jdbcpds.confファイルのXMLセクションがそのインラインDTDに準拠していません。

jdbcpds.confファイルのXMLセクションが適切なインラインDTDを参照していることを確認します。

jdbcpds.confファイル内のドライバ{0}には現在エントリがありません

問合せで使用しているドライバがjdbcpds.confファイルで指定されていません。

必要なドライバのエントリと関連するドライバ情報が、ともにjdbcpds.confファイルにあることを確認します。

13.1.4.2 トレース情報

JDBC問合せをデバッグするには、Oracle Reportsで生成される次の詳細トレース情報を参照します。

- 設計時(JDBC問合せの作成)および実行時(JDBC問合せの実行)のトレース
生成されたトレース情報は、次のものの検出に役立ちます。

- 文字パラメータやバインド・パラメータ

- ドライバへの接続用に作成された最終的な接続文字列

- ドライバから受け取ったメタデータ情報

- データベースに送信した最終的な問合せ

例13-1は、設計時のトレース出力の例です。

例13-2は、実行時のトレース出力の例です。

logging.xmlファイルの場所の詳細は、第23.3.7項「レポート実行のトレース」を参照してください

トレース出力の例

例13-1 「JDBC問合せ」ダイアログによるJDBC問合せの作成

Connection handling trace showing final connect string
[2003/4/7 5:41:38:686] Debug 50103 (jdbcpds): handleConnectButtonEvent : start
[2003/4/7 5:41:38:686] Debug 50103 (jdbcpds): handleConnectButtonEvent : subProtocol :sybase-merant
[2003/4/7 5:41:38:686] Debug 50103 (jdbcpds): handleConnectButtonEvent :
connection class :oracle.reports.plugin.datasource.jdbcpds.JDBCConnectionHandling
[2003/4/7 5:41:38:696] Debug 50103 (jdbcpds): handleConnectButtonEvent : combine
string :jdbc:merant:sybase://server1.example.com:1300
[2003/4/7 5:41:38:696] Debug 50103 (jdbcpds): JDBCDataSource : setJDBCQueryType: sybase
[2003/4/7 5:41:41:350] Debug 50103 (jdbcpds): JDBCUIEventHandler : handleConnectEvent : Valid Connection
com.oracle.ias.jdbc.sybase.SybaseConnection@56fc16
[2003/4/7 5:41:41:350] Debug 50103 (jdbcpds): JDBCUIEventHandler :
handleConnectEvent : END com.oracle.ias.jdbc.sybase.SybaseConnection@56fc16

Design time metadata of query
[2003/3/31 6:35:46:363] Debug 50103 (jdbcpds): JDBCUIEventHandler : handleOKEvent : Serialize XML<jdbcpds DTDVersion="
1.0"><JDBCQuery>jdbcpdspkg.proc_with_param(1,2,3,4,5)</JDBCQuery><QueryDefinition>1</QueryDefinition><driverType>oracle
</driverType><connectionClass>oracle.reports.plugin.datasource.jdbcpds.JDBCConnect
ionHandling</connectionClass><SignOnParameter>P_JDBCPDS</SignOnParameter><jdbcElements><elementname = "EMPNO"  type = "2"
typeName = "NUMBER"  columnSize = "4"  columnScale = "0" /><element name = "ENAME"
type = "12"   typeName ="VARCHAR2"  columnSize = "10"  columnScale = "0"
/><element name = "JOB"  type = "12"   typeName = "VARCHAR2"  columnSize = "9"
columnScale ="0" /><element name = "MGR"  type = "2"   typeName = "NUMBER"
columnSize = "4"  columnScale = "0" /><element name = "HIREDATE"  type = "93"
typeName = "DATE"  columnSize = "16"  columnScale = "0" /><element name = "SAL"
type = "2"   typeName = "NUMBER"  columnSize = "7"  columnScale= "2" /><element
name = "COMM"  type = "2"   typeName = "NUMBER"  columnSize = "7"  columnScale =
"2" /><element name = "DEPTNO"  type = "2" typeName = "NUMBER"  columnSize = "2"
columnScale = "0" /></jdbcElements><referenceColumns></referenceColumns></jdbcpds>
[2003/3/31 6:35:46:383] Debug 50103 (jdbcpds): JDBCUIEventHandler :handleOKEvent
END

例13-2 JDBC問合せの実行

[2003/3/18 5:45:17:707] Debug 50103 (jdbcpds): JDBCDataSource : startRuntime
method : START

Describing the JDBC Query:
[2003/3/18 5:45:17:707] Debug 50103 (jdbcpds):  JDBCDataSource : describe :  START
[2003/3/18 5:45:17:707] Debug 50103 (jdbcpds):  applyXML: Extract the Serilzed XML
containing Query Meta Data <jdbcpds DTDVersion=" 1.0"><JDBCQuery>select * from
emp</JDBCQuery><QueryDefinition>0</QueryDefinition><driverType>oracle</driverType>
<connectionClass>oracle.reports.plugin.datasource.jdbcpds.JDBCConnectionHandling</
connectionClass>...

ConnectionHandling At Runtime:
[2003/3/18 5:45:17:737] Debug 50103 (jdbcpds): JDBCDataSource : startRuntime :
Create a new connection and handle it
[2003/3/18 5:45:17:737] Debug 50103 (jdbcpds):  JDBCExecuteQuerySource :
handleConnection : START
[2003/3/18 5:45:17:778] Debug 50103 (jdbcpds): JDBCExecuteQuerySource :
handleConnection : set driver
[2003/3/18 5:45:17:778] Debug 50103 (jdbcpds): JDBCExecuteQuerySource :
handleConnection : Check if Connection for the sign on parameter is pooled
[2003/3/18 5:45:17:778] Debug 50103 (jdbcpds): JDBCExecuteQuerySource
:handleConnection :  connection available in pool
[2003/3/18 5:45:17:778] Debug 50103 (jdbcpds): handleConnection : END
[2003/3/18 5:45:17:778] Debug 50103 (jdbcpds): JDBCDataSource : startRuntime : END

Runtime execution of jdbc query
[2003/3/31 6:36:2:836] Debug 50103 (jdbcpds): JDBCDataSource : execute : run Query
[2003/3/31 6:36:2:836] Debug 50103 (jdbcpds): JDBCExecuteQuerySource :
getOutputFromDatabase : START
[2003/3/31 6:36:2:836] Debug 50103 (jdbcpds): JDBCExecuteQuerySource :
getOutputFromDatabase: start Query stringto be submitted
jdbcpdspkg.proc_with_param(1,2,3,4,5)
[2003/3/31 6:36:2:836] Debug 50103 (jdbcpds): JDBCExecuteQuerySource :
getOutputFromDatabase : check connection
[2003/3/31 6:36:2:836] Debug 50103 (jdbcpds): JDBCExecuteQuerySource :
getOutputFromDatabase : QSource Id: 1
[2003/3/31 6:36:2:836] Debug 50103 (jdbcpds): JDBCExecuteQuerySource:
executeOracleProcedure:Start
[2003/3/31 6:36:2:836] Debug 50103 (jdbcpds): JDBCExecuteQuerySource:
executeOracleProcedure:Procedure to be submitted { call
jdbcpdspkg.proc_with_param(?,?,?,?,?,?) }
[2003/3/31 6:36:2:836] Debug 50103 (jdbcpds): JDBCExecuteQuerySource:
executeOracleProcedure:  Set parameters for the procedure call
[2003/3/31 6:36:2:836] Debug 50103 (jdbcpds): JDBCExecuteQuerySource:
executeOracleProcedure:  execute procedure
[2003/3/31 6:36:2:847] Debug 50103 (jdbcpds): JDBCDataSource : execute : query
execution over andresulset object is oracle.jdbc.driver.OracleResultSetImpl@751a9e
[2003/3/31 6:36:2:847] Debug 50103 (jdbcpds): JDBCDataSource : execute : END

Running Report trace with Result set info

2003/4/7 5:26:6:996] Debug 50103 (jdbcpds): JDBCDataSource : execute : replace
lexical columns withactual string for the query
[2003/4/7 5:26:6:996] Debug 50103 (jdbcpds): JDBCDataSource : execute : run Query
[2003/4/7 5:26:6:996] Debug 50103 (jdbcpds): JDBCExecuteQuerySource :
getOutputFromDatabase : START
[2003/4/7 5:26:6:996] Debug 50103 (jdbcpds): JDBCExecuteQuerySource :
getOutputFromDatabase: start Query stringto be submitted select * from reports
[2003/4/7 5:26:7:6] Debug 50103 (jdbcpds): JDBCExecuteQuerySource :
getOutputFromDatabase : check connection
[2003/4/7 5:26:7:6] Debug 50103 (jdbcpds): JDBCExecuteQuerySource :
getOutputFromDatabase : QSource Id: 4
[2003/4/7 5:26:7:6] Debug 50103 (jdbcpds): JDBCExecuteQuerySource :
getOutputFromDatabase : Query source is SQL query
[2003/4/7 5:26:7:6] Debug 50103 (jdbcpds): JDBCExecuteQuerySource:executeQuery
Start
[2003/4/7 5:26:7:6] Debug 50103 (jdbcpds): executeQuery prepareStatement select *
from reports
[2003/4/7 5:26:7:6] Debug 50103 (jdbcpds): executeQuery : bind parameters set for
the query
[2003/4/7 5:26:7:6] Debug 50103 (jdbcpds): executeQuery : JDBC Query executed
[2003/4/7 5:26:7:387] Debug 50103 (jdbcpds): JDBCExecuteQuerySource :
getOutputFromDatabase : Query result  col 0  test col 1  10
[2003/4/7 5:26:7:387] Debug 50103 (jdbcpds): JDBCExecuteQuerySource:executeQuery
Start
[2003/4/7 5:26:7:387] Debug 50103 (jdbcpds): executeQuery prepareStatement select
* from reports
[2003/4/7 5:26:7:387] Debug 50103 (jdbcpds): executeQuery : bind parameters set
for the query
[2003/4/7 5:26:7:387] Debug 50103 (jdbcpds): executeQuery : JDBC Query executed
[2003/4/7 5:26:7:767] Debug 50103 (jdbcpds): JDBCDataSource : execute : query
execution over andresulset object is com.oracle.ias.jdbc.base.BaseResultSet@56c3cf
[2003/4/7 5:26:7:767] Debug 50103 (jdbcpds): JDBCDataSource : execute : END

13.1.5 ユーザー独自のJDBCドライバの追加

ノート:

Oracle ReportsではPDS APIが公開されチュートリアルも用意されており、ユーザー独自のPDSの実装方法やカスタマイズ方法の詳細が説明されています。詳細は、Oracle Technology Network (OTN)(http://www.oracle.com/technetwork/middleware/reports/overview/index.html)で提供されている『Oracle Reports Java API Reference』を参照してください。このAPIを使用すると、PDSの実装数に制限がなくなり、ユーザーの持つあらゆる種類のデータ・ソースにアクセスすることが可能になります。

JDBC PDSを追加するには、次の作業が必要です。

- jdbcpds.confファイルの構成

- ドライバのJARファイルのインストール

13.1.5.1 jdbcpds.confファイルの構成

jdbcpds.confファイルの構成方法の詳細は、第13.1.1項「JDBC構成ファイル」を参照してください。

13.1.5.2 ドライバのJARファイルのインストール

ドライバのJARファイルをインストールする方法の詳細は、第13.1.1.2.5項「カスタム・ドライバ」 を参照してください。

13.2 テキストPDSの構成と使用

テキストPDSは、Oracle Reportsのデフォルト設定を使用するように構成されているので、そのまま使用できます。

13.2.1 テキスト構成ファイル

textpds.confファイルは、変更、追加、削除が可能なOracle ReportsテキストPDS構成ファイルです。このファイルは、次のディレクトリに格納されています。

- Reports Serverの場合:
ORACLE_INSTANCE\config\ReportsServerComponent\server_name\textpdf.conf

- Oracle Reports Builderの場合:
ORACLE_INSTANCE\config\ReportsToolsComponent\ReportsTools\textpdf.conf

- Oracle WebLogic ServerにデプロイされたReportsアプリケーション(インプロセスReports Server)の場合:
DOMAIN_HOME/config/fmwconfig/servers/WLS_REPORTS/applications/reports_version/configuration

例

次の例は、textpds.confファイルの内容を示しています。

<!--XML section.Please edit this section to give your file format information-->
<textPDS
xmlns="http://xmlns.oracle.com/reports/pdstext"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/reports/pdstext file:c:\orawin/reports/dtd/textpds.xsd"
>

<!--Data definition for Apache Log file format-->
<fileFormat  name = "Apache Log File" comment = "#" delimiter = "default"
type ="variable" nullValue = "-">
<columnInfo>
<column    name = "Remote Host"      type = "string" />
<column    name = "Remote Log Name"  type = "string"/>
<column    name = "Remote User"      type = "string"/>
<column    name = "time"             type = "date"    cellWrapper = "\[]"
pattern = "dd/MMM/yyyy:hh:mm:ss zzz"/>
<column    name = "Request"          type = "string"  cellWrapper = "&quot;"/>
<column    name = "status"           type = "number"/>
<column    name = "bytes"            type = "number"/>
</columnInfo>
</fileFormat>

<!--Data definition for Comma Delimited file format-->
<fileFormat  name = "Example Variable Width Comma Delimited" comment = "#"
delimiter = "," type = "variable">
<columnInfo>
<column    name = "var_cd_col1"     type = "string" />
<column    name = "var_cd_col2"     type = "string"/>
<column    name = "var_cd_col3"     type = "string"/>
</columnInfo>
</fileFormat>

<!--Data definition for Fixed Width format-->
<fileFormat  name = "Example Fixed Width Space Delimited" comment = "#"
delimiter = ""  type = "fixed">
<columnInfo>
<column    name = "fw_sd_col1"     type = "string" startpos = "1"  width = "13"/>
<column    name = "fw_sd_col2"     type = "number" startpos = "14" width = "10"/>
<column    name = "fw_sd_col3"     type = "date"   startpos = "25" width = "10"/>
</columnInfo>
</fileFormat>
</textPDS>

表13-13では、ファイル形式に関連付けることのできる各種の値を説明しています。

表13-13 ファイル形式の属性

属性名

説明

name

「ファイル形式」の名前。この名前は「データ定義」ドロップダウン・リストに表示されます。

Comment

「コメント」の文字。この文字は「データ・ソース」で使用されます。

Delimiter

列のデリミタ。データ・ソース・ファイルにはデータが行単位で記述されています。各行には、構成ファイルに指定された列に対応するフィールドまたはトークンがあります。それぞれのフィールドやトークンは、列のデリミタ(「cell Wrapper」を参照)で区切られます。

type

ファイル形式のタイプ。このタイプはfixedまたはvariableのいずれかにできます。variableファイル形式の場合、列の幅が可変になります。fixedファイル形式の場合、列の幅は固定となり、列ごとにstartposおよびwidthの属性を使用して指定します。

nullValue

NULL値の文字。

表13-14では、列に関連付けることのできる各種の値を説明しています。

表13-14 列の属性

属性名

説明

name

列見出しの名前。

type

列のデータ型。3つのデータ型がサポートされています。

- STRING

- 数値

- DATE

cell Wrapper

オプション属性。この属性を指定すると、文字が指定されている列のファイル形式のデリミタよりもこの文字が優先されます。

pattern

オプション属性。現在は、日付フィールドにのみ使用されます。これは、期待される日付フィールドのパターンを指定します。

13.3 XML PDSの構成と使用

XML PDSは、デフォルト設定を使用するように構成されているので、そのまま使用できます。

13.3.1 XML PDS構成ファイル

xmlpds.confファイルは、Oracle ReportsのXML PDS構成ファイルです。これは、次のディレクトリに格納されています。

- Reports Serverの場合:
ORACLE_INSTANCE\config\ReportsServerComponent\server_name

- Oracle Reports Builderの場合:
ORACLE_INSTANCE\config\ReportsToolsComponent\ReportsTools

- Oracle WebLogic ServerにデプロイされたReportsアプリケーション(インプロセスReports Server)の場合:
DOMAIN_HOME/config/fmwconfig/servers/WLS_REPORTS/applications/reports_version/configuration

ノート:

変更できるパラメータはcolumnLengthのみです。列のデフォルト・サイズは4000バイトです。

例

次の例は、xmlpds.confファイルの内容を示しています。

<xmlpds     xmlns="http://xmlns.oracle.com/reports/pdsxml"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://xmlns.oracle.com/reports/pdsxml file:c:\orawin/reports/dtd/xmlpds.xsd"   >     <columnInfo>         <columnLength>4000</columnLength>     </columnInfo></xmlpds>

13.4 XML PDSレポートのエンコーディングの指定

XMLデータ・ソースに対してレポートを作成するとき、データ・ソースとそのDTDのエンコーディングを、Reports Builderのエンコーディングに一致させる必要があります。

たとえば、日本語の文字セットでエンコードされている表に対してXMLレポートを作成する場合、グループ要素名は日本語でエンコードされています。データ・ソースに一致させるには、DTDのグループ要素名を日本語でエンコードする必要があります。XMLファイルおよびDTDファイルには、日本語をサポートするものであればどのようなエンコードでも実行できます(Shift_JIS、EUC-JP、UTF-8など)。

XMLデータ・ソースとDTDのエンコーディングをReports Builderのエンコーディングに一致させないと、次のエラーが表示されます。

ERR-063001 xxx.dtd null

ノート:

DTDのかわりにXMLスキーマを使用した場合は、このエラーは表示されません。

この問題を回避するには、XMLレポートのXMLデータ・ソースとDTDの両方で使用されているエンコーディングが、Reports Runtimeで有効なNLS_LANG環境変数の文字エンコーディング部分と同じであることを確認する必要があります。

たとえば、Reports RuntimeでNLS_LANG=JAPANESE_JAPAN.JA16SJISが指定されている場合は、XMLデータ・ソースとDTDの両方でShift_JISを使用する必要があります。

14 Oracle Reports Servicesの保護

インターネットはあまりにオープンであるために、企業のどの機密情報に誰がアクセスできるかを制御することが課題となります。Oracle Reportsでは、数多くのセキュリティ・オプションを用意しています。これらのオプションにより、適切なユーザーが重要なデータにセキュアにアクセスできるようになります。この章には、次の項があります。

- Oracle Reportsセキュリティの概要

- デフォルトの動作

- Oracle Reportsにおける認証

- Oracle Reportsにおける認可

- エンドツーエンド・セキュリティ・シナリオ

- JPSベース・セキュリティの推奨製品シナリオ

- Portalベース・セキュリティの推奨製品シナリオ

- ユーザーおよびセキュリティ・ポリシーの管理

- 外部Oracle Internet Directoryの構成およびReportsの再関連付け

- FormsおよびReportsのセキュリティに関する推奨事項

- フォームおよびレポートに対する中間レベル・セキュリティ

- データベース・プロキシ認証

- 下位互換性に対するOracle Portalベース・セキュリティ

- セキュリティ・インタフェース

14.1 Oracle Reportsセキュリティの概要

この項では、Oracle Reportsのセキュリティの機能と概念について説明します。また、Oracle Reports 11gリリース2 (11.1.2)で導入された新しいセキュリティ機能についても説明します。

この項の内容は次のとおりです。

- 概要

- このリリースでの新機能

- リソースの保護

- 資格証明ストア

14.1.1 概要

Oracle Reports 11gリリース2は、Oracle Single Sign-On Server 10g (OSSO)との連動に加えて、Oracle Access Manager 11g (OAM)を認証サーバーとして使用してシングル・サインオン環境で実行できるようになりました。詳細は、第16章「Oracle Single Sign-Onの構成と管理」を参照してください。

Oracle Reports 11gリリース2 (11.1.2)では、Oracle Platform Security Servicesを介して標準ベースのJava EEセキュリティ・モデルを使用しています。これにより、管理がシンプルで柔軟なセキュリティ・メカニズムが実現します。これは、スタンドアロンのOracle Reportsインストールや、FormsとReportsの組合せと併用できます。認証および認可に使用されるポリシー・ストアやアイデンティティ・ストアは、JAZN-LDAPを介したOracle Internet Directoryなど、標準のJAZN-XMLベースや任意のLDAPサーバーにすることができ、柔軟になります。

ノート:

JAZN-XMLとは、IDストアやポリシー・ストアとして使用できるようユーザーによって構成されたXMLファイルです。

Oracle Reports 11gリリース2 (11.1.2)では、Single Sign-On、Oracle Internet Directory、埋込みIDストアおよびJAZN-XMLファイルベースのIDストアにより、認証が行われます。認可については、Oracle Reports 11gリリース2 (11.1.2)では、Oracle Internet Directory、ファイルベースおよびPortalベースのメソッドがサポートされています。以前のリリースでは、Reports Serverの認証に使用できるのは、Oracle Internet Directoryにのみ制限されていました。以前のリリースで使用されていたセキュリティ・メカニズムに戻す必要がある場合、第6.8.1.1項「Oracle Portalセキュリティへの切替え」の説明に従って、Oracle Enterprise Managerで実行できます。データ・ソース・セキュリティやOracle Portalを実装せずにSingle Sign-Onを使用する場合、第16章「Oracle Single Sign-Onの構成と管理」を参照してください。

あるいは、ユーザー独自のアプリケーションから、独自のログイン・メカニズムとユーザー/グループ・リポジトリでレポートを起動したり、ユーザー独自のメカニズムでデータソースを保護(たとえば、別のLDAPサーバーを使用してユーザー情報とグループ情報を格納)できます。この場合、Oracle Reports Servicesには、これらOracle以外のコンポーネントとの統合を可能にするインタフェースが用意されています。詳細は、第14.14項「セキュリティ・インタフェース」を参照してください。

Oracle Reportsの以前のリリース

14.1.2 このリリースでの新機能

Oracle Reports 11gリリース2 (11.1.2)では、新しいセキュリティ・メカニズムを可能にするOracle Platform Security Servicesを使用して、表14-1(表1-1「11gの機能と10gの機能との比較」の一部)に示すような特長と機能が用意されています。

表14-1 11gのセキュリティ機能と10gの機能との比較

11gの新機能

10gにおける同等機能

Oracle Platform Security Servicesを介した標準ベースJava EEセキュリティ・モデル。これにより、管理がシンプルで柔軟なセキュリティ・メカニズムが実現します。

詳細は、第14.1項「Oracle Reportsセキュリティの保護」を参照してください。

Reports Serverの認証で使用できるのは、Oracle Internet Directoryにのみ制限されていました。Reports Serverの認可には、Oracle Portalベースのセキュリティ・モデルが必要です(ポータル・メタデータ・リポジトリを使用して認可を確認)。

強化されたOracle Enterprise Managerユーザー・インタフェース:管理者はOracle Enterprise Managerを使用して、レポート、ディレクトリ、Webコマンド、およびディレクトリへの読込みアクセスや書込みアクセスに対して詳細なセキュリティ・ポリシーをより簡単に定義したり管理できます。

詳細は、第6章「Oracle Enterprise ManagerによるOracle Reports Servicesの管理」の第6.8項「Oracle Reports Servicesの保護」を参照してください。

ポリシーの定義に使用されるOracle Portalの基本UI:ハードコーティングされたWebコマンドによりOracle Reportsの生成済ロールにアクセスします。フォルダ・レベルでなくファイル(レポート)レベルでのみポリシーにアクセスします。

Reports Serverレベルにおけるディレクトリへの読取り/書込みアクセス権:レポートが処理可能な入力フォルダやReports Serverの出力が配信可能な出力フォルダを管理者は制御できます。これによってセキュリティの脆弱性がなくなります。

詳細は、第14.4.6項「ディレクトリへの読取り/書込みアクセス権の定義」を参照してください。

暫定機能としてのREPORT_RESTRICT_DIRECTORIES

データベース・プロキシ認証:プロキシ・ユーザーを使用したデータベース認証がサポートされています。

- Oracle Reportsによりデータベースに接続できるユーザーを制御することで、セキュリティが向上します。

- 単一のデータベース接続の再利用によりスケーラビリティが実現されています。

該当なし

配布宛先用のセキュリティ・チェック:セキュリティ・ポリシーを配布ジョブ用に定義できる機能です。たとえば、レポート出力がENHANCEDSPREADSHEETフォーマットに対して一括処理できないように指定するセキュリティ・ポリシーを定義できます。配布XMLファイルでENHANCEDSPREADSHEETフォーマットが指定されると、この出力フォーマットにレポートを生成しようとするとエラーが表示されます。

配布XMLファイルで指定された宛先に対してセキュリティ・チェックは実行されません。

システム・パラメータ用のセキュリティ・チェック:すべてのシステム・パラメータではセキュリティ・チェックが実行されます。レポート定義で指定されたシステム・パラメータやコマンドラインで指定されたシステム・パラメータも対象に含まれます。

システム・パラメータ用にセキュリティ・チェックは実行されません。

セキュリティ監査:Reports Serverにおいて認証と認可を監査します。

Oracle Forms Servicesからのレポート出力のセキュリティ:Oracle Forms ServicesとOracle Reports Servicesが保護されていない場合でも、中間レベル・セキュリティがサポートされており、構成は不要です。

詳細は、第14.11項「フォームおよびレポートに対する中間レベル・セキュリティ」、第16.7項「Oracle Forms Servicesのセキュリティに関する考慮事項」および第17.8.2項「ランダムで連続していないジョブIDの生成」を参照してください。

連番に割り当てられたジョブIDに基づいてジョブIDを推測することで、すべてのユーザーが他人のレポート出力を表示できます。

14.1.3 リソースの保護

Oracle Reports Servicesでは、次の3つの主要領域のセキュリティ機能を包括的に実現します。

- アプリケーション・セキュリティ(ユーザーがレポート・リクエストを送信した場合にレポート・アプリケーションへのアクセスを制御する)

- リソース・セキュリティ(レポートおよびReports Serverへのアクセスを制御する)

- データ・ソース・セキュリティ(特定のデータベースへのアクセスを制御する)

14.1.3.1 アプリケーション・セキュリティ

一般的に、ユーザーがレポートにアクセスして実行するには、アプリケーションやサイト(ユーザーの企業Webサイト、Oracle WebCenterなど)にログインする必要があります。そのような起動アプリケーションは、なんらかのログイン機能(たとえば、OracleAS Single Sign-On)で保護されるのが一般的です。起動アプリケーションへのログインに成功すると、リソース・セキュリティが後を引き継ぎ、そのユーザーまたはグループが要求できるレポートおよび宛先を決定します。

OracleAS Single Sign-Onでは、アプリケーションのセキュリティを確保するために1箇所からのユーザー・ログインと、必要に応じてデータ・ソース・セキュリティを実現します。通常の構成では、OracleAS Single Sign-Onを介してユーザーはログインして、レポート・アプリケーションにアクセスします。そのアプリケーションでは各自のレポートにアクセスして実行します。

14.1.3.2 リソース・セキュリティ

リソース・セキュリティにより、権限のあるユーザーまたはグループにのみ特定のレポートの実行を許可することができます。また、レポートの実行時にユーザーやグループが特定のReports Serverにアクセスできないように防止されます。あるいは、一部のサーバーを、特定のユーザー・グループ用に予約したり、保守点検のために一定期間、アクセス不可にする場合もあります。

あるレポートを指定のReports Serverから指定の宛先に対して実行する権限がユーザーにあると判定された後は、そのレポートによってアクセスされるデータ・ソースに対する権限がユーザーに付与されていることの確認も必要になります。

オプションとして、下位互換性を保つために、レポートおよびReports Serverに対するリソース・セキュリティをデフォルト設定のままで実現するようにOracle Portalを構成できます。通常の構成では、管理者か開発者が、どのユーザーやグループがどのレポートとReports ServerをOracle Portalからアクセスするかを指定します。

14.1.3.3 データ・ソース・セキュリティ

データ・ソース・セキュリティでは、特定のデータ・ソースにあるデータにアクセスできるユーザーまたはロールを定義します。1つのレポートが複数のデータ・ソースにアクセスすることがあるため、レポートを実行し、その出力を表示するには、現在のユーザーが、レポートのアクセス対象となるデータ・ソースすべてに対して権限を持っている必要があります。データ・ソースへのアクセスを許可するのは、データ・ソース管理者(通常はDBAと呼ばれる)です。データ・ソース・セキュリティは、レポート環境を構成する前に、確立しておく必要があります。

Oracle Reports Servicesでは、次の2つの異なる方法でデータ・ソース・セキュリティを確立できます。

- Single Sign-Onユーザーにデータ・ソース接続情報を関連付けることができます。OracleAS Single Sign-On (OSSO) Serverの使用時、ユーザーがデータ・ソースに初めてアクセスしようとすると、Oracle Delegated Administration Servicesではユーザーに対して、データ・ソース接続用のリソースを作成するように指示します。ユーザーがこのデータ・ソース・リソースを作成すると、OracleAS Single Sign-On (OSSO) ServerではこれをOracle Internet Directoryでユーザーに関連付けます。OAM 11gサーバーの使用時には、ユーザーはバッチ・ロードを使用してOID内にリソースを作成する必要があります。第16.3.3.2.3項「バッチ・ロード」を参照してください。バッチ・ロードの詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』を参照してください。
Single Sign-Onユーザーに関連付けられたデータ・ソース・リソースは、ユーザーが持つSingle Sign-Onの識別情報の一部となり、ユーザーはこのデータ・ソースに別途ログインせずにアクセスできます。この方法には、重要な利点が2つあります。最初の利点は、各ユーザーがSingle Sign-Onの識別情報を使用することによって、その都度ログインしなくても、データ・ソースにアクセスできることです。もう1つの利点は、データ・ソースのログイン情報がユーザーの識別情報とともに格納されるため、そのログイン情報をレポートのURLやキー・マッピングにハードコーディングする必要がないことです。そのため、1つのレポートURLを情報の異なる複数のユーザーが使用できます。

- レポートURLやキー・マッピングで、OracleAS Single Sign-On (OSSO) Serverに対するAUTHIDや、必要な接続パラメータ(USERID、SSOCONNなど)をコーディングできます。この機能は、Oracle Reports Servicesの以前のリリースとほとんど同じです。URL構文の詳細は、第17.1項「ReportsのURL構文」を参照してください。キー・マッピングの詳細は、第17.13項「キー・マップ・ファイルの使用」を参照してください。

関連項目:

第16.3.3項「データソースのセキュリティの有効化と無効化」

第16.3.3.1項「SSOCONN」

14.1.4 資格証明ストア

資格証明ストアは、Java2、JavaEEおよびADFのアプリケーションで使用されるエンティティの権限を認証するセキュリティ・データのリポジトリです。アプリケーションは、資格証明をセキュアに格納および管理する単一の統合サービス・プロバイダである資格証明ストアを使用できます。

1つのドメインには、1つの資格証明ストアが含まれます。アプリケーション固有の資格証明がサポートされており、これらはアプリケーションが配置される際にドメインの資格証明ストアの資格証明に移行されます。そのため、ドメイン内に配置されるすべてのサーバーとすべてのアプリケーションは、共通の資格証明ストアであるドメインの資格証明ストアを使用します。

Oracle Reports 11gリリース2 (11.1.2)は、資格証明ストアを使用し、パスワードをキーとして格納します。また、資格証明ストアを使用して、jobStatusRepository要素およびjobRepository要素のデータベース接続情報を構成することもできます。

例:

ポータル・パスワードは、レポート証明書マップに次の構文のキーで格納されています。

「portalpasswd_DomainName_InstanceName」

ノート:

サーバーはCSFのReportsフォルダから資格証明にアクセスするため、資格証明はこのフォルダに作成する必要があります。

14.1.4.1 資格証明のタイプ

Oracle Platform Securityでは、含まれるデータに応じて、次のタイプの資格証明をサポートします。

- パスワード資格証明は、ユーザー名とパスワードをカプセル化します。

- 汎用資格証明は、対称キーなどの任意のカスタマイズされたデータまたは任意のトークンをカプセル化します。

資格証明ストア・フレームワーク(CSF)では、資格証明はマップ名とキー名により一意に識別されます。通常、マップ名はアプリケーション名に対応し、同じマップ名のすべての資格証明は、そのアプリケーションで使用される資格証明など、資格証明の1つの論理グループを定義します。資格証明ストア内のすべてのマップ名が異なっていることが必要です。資格証明ストアをX.509資格証明のリポジトリしようとする場合には、OracleウォレットまたはJavaキーストアを使用することをお薦めします。この資格証明ストアには、エンド・ユーザーのデジタル証明を保存できません。

ノート:

CSFキーは、rwserver.confおよびrwservlet.propertiesファイルに格納されます。

Oracle Enterprise Managerを使用したドメインの資格証明ストアにおける資格証明の管理方法の詳細は、第6.8.8項「資格証明の管理」を参照してください。

ウォレットベースおよびLDAPベースの資格証明ストア、および資格証明ストアの構成の詳細は、Oracle Fusion Middlewareセキュリティ・ガイドを参照してください。

14.2 デフォルトの動作

Oracle Reports 11gリリース2 (11.1.2)のインストールの際に、Oracle Internet Directoryに関する情報を指定することをお薦めします。詳細は、Oracle Fusion Middleware Oracle Portal, Forms, Reports and Discovererクイック・インストレーション・ガイドを参照してください。

Oracle Reports 11gリリース2 (11.1.2)のインストール時にOracle Internet Directory情報を指定すると、Single Sign-Onに基づく認証が、インプロセス・サーバーとスタンドアロン・サーバーの両方に対して有効になります。ユーザーは認証サーバーを選択するように求められます。

注意:

Oracle Reports 11gリリース2 (11.1.2)のインストール時にOracle Internet Directory情報を指定しなかった場合、認証は有効になりません。したがって、インプロセス・サーバーもスタンドアロン・サーバーもセキュアにはなりません。

14.3 Oracle Reportsにおける認証

この項では、Oracle Reportsに固有の認証の機能、タスクおよび概念について説明します。

ここでは、次の項目について説明します。

- シングル・サインオン認証

- 非SSO認証

- JPSベース・セキュリティの認証シナリオ

- Portalベース・セキュリティの認証シナリオ

認証方法

Oracle Reports 11gリリース2 (11.1.2)では、次の認証方法をサポートしています。

- シングル・サインオン。詳細は、「シングル・サインオン認証」を参照してください。

- 非SSO。これには次のものが含まれます。

- Oracle Internet Directory (rwsec、または構成済のJPS-OID)

- 埋め込みIDストア(インプロセス・サーバー)

- JAZN-XMLファイルベースのIDストア(スタンドアロン・サーバー)

ノート:

非SSO認証方法の詳細は、「非SSO認証」を参照してください。

次の表は、Oracle ReportsがサポートしているJPSベース・セキュリティの認証方法をまとめたものです。

表14-2 JPSベース・セキュリティの認証方法

Reports Serverのタイプ

Oracle Internet Directory

WebLogic IDストア

シングル・サインオン

ファイルベース

インプロセス・サーバー

はい

はい

はい

いいえ

スタンドアロン・サーバー

はい

いいえ

はい

はい

次の表は、Oracle ReportsがサポートしているPortalベース・セキュリティの認証方法をまとめたものです。

表14-3 Portalベース・セキュリティの認証方法

Reports Serverのタイプ

Oracle Internet Directoryに基づく認証

シングル・サインオン

インプロセス・サーバー

はい

はい

スタンドアロン・サーバー

はい

はい

14.3.1 シングル・サインオン認証

Oracle Reports Servicesアプリケーションは、Oracle Single Sign-On Server 10g (OSSO)との連動に加えて、Oracle Access Manager 11g (OAM)およびOracle Internet Directory (OID)を使用してシングル・サインオン環境で実行できるようになり、同じユーザー・セッション中に多くのアプリケーションにアクセスするための追加または別のログインの必要がなくなりました。Oracle FMW 11gリリース2のOracle Reports Servicesアプリケーションは、シングル・サインオン環境内の次のいずれかの認証サーバーにより保護されます。

- Oracle Single Sign-On Server (OSSO) 10g

- Oracle Access Manager (OAM) 11g

認証サーバーのインストール中に、ユーザーは、これらの認証サーバーの1つを使用してReportsアプリケーションを認証することを選択できます。これらの認証サーバーは、バックエンド・アイデンティティ・ストアとしてOracle Internet Directoryを使用するように構成する必要があります。認証サーバーは、複数のWebベースのアプリケーションにブラウザからアクセスできるWeb環境で機能するように設計されています。認証サーバーがない場合、各ユーザーはアクセスするアプリケーションごとにIDやパスワードを保持する必要があります。複数のアカウントやパスワードを保持するのは安全とは言えず、しかも効率的ではありません。

Oracle Access Manager 11gはJavaプラットフォームのEnterprise Edition (Java EE)に基づいた、エンタープライズ・レベルのセキュリティ・アプリケーションで、機密情報へのアクセスを制限したり、認証や認可のサービスを一元化します。Oracle Access Manager 11gは、Oracle Fusion Middleware 11gのコンポーネントの1つで、認証と認可のためのシングル・サインオン・ソリューションです。

14.3.1.1 Oracle Single Sign-On Server (OSSO) 10gでの認証フロー

OracleAS Single Sign-On Serverでは、暗号化されたCookieを使用して、認証済アプリケーション・ユーザーを追跡管理します。保護されたReports Server上でのレポート実行を指示するユーザー・リクエストをrwservletが受け取ると、そのユーザーがOracleAS Single Sign-Onを通じてすでにログインしているかどうか(そのユーザーのSingle Sign-On Cookieが存在するかどうか)を確認するために、Oracle HTTP ServerにgetRemoteUserメソッドでコールして問い合せます。

- ユーザーがすでにログインしている場合(Cookieが存在する場合)、rwservletがユーザーの識別情報をOracle HTTP Serverから取得します。

- ユーザーがまだログインしていない場合(Cookieが存在しない場合)、Oracle HTTP ServerがユーザーをOracleAS Single Sign-On Serverにリダイレクトし、OracleAS Single Sign-On Serverがユーザーにログインを求めます。ユーザーが認証されると、Single Sign-On Cookieが作成され、そのユーザーはrwservletにリダイレクトされます。その後、ユーザーがすでにログインしている場合(Cookieが存在する場合)と同様の処理が行われます。

図14-1に、Oracle Sign-On Server (OSSO)を使用する認証プロセスを示します。

図14-1 OracleAS Single Sign-On Serverを使用する認証プロセス

次の各ステップの番号は、図14-2の番号に対応しています。

1. ユーザーがURLを使用してレポート・リクエストを送信します。
レポート・リクエストは、次のいずれかの方法で行われます。

- レポートをリクエストするURLを含むWebページ上のリンクやブックマークをユーザーが選択します。

ノート:

このURLには、必要に応じて、次の形式の値を持つSingle Sign-Onパラメータ(SSOCONN)が格納されます。または、このURLでキー・マップ・ファイルを介して、そのパラメータを参照します。

key_name/data_source_type/parameter_name

Oracleデータベースの場合、Single Sign-On値は次のようになります。

mykey/OracleDB/userid

データ・ソース・タイプおよびパラメータ名を指定しない場合は、Oracleデータベースであると見なされます。

- Oracle Portal(構成されている場合)の内部から、ユーザーが「実行」リンクをクリックするなどして、レポート・オブジェクトの実行をリクエストします。ユーザーは、Oracle Portalにログインする必要があります。つまり、OracleAS Single Sign-Onにログインする必要があります。Oracle Portalでは、セキュリティの一環として、レポート・オブジェクトの参照に必要なセキュリティ権限がユーザーに付与されていることを確認します。たとえば、あるページ上にレポート・オブジェクトが存在する場合、ユーザーには、そのページとレポート・オブジェクトを参照するための適切な権限が必要です。そうでない場合、Oracle Portalではユーザーに対してそのページやレポート・オブジェクトが表示されません。

2. Oracle HTTP Serverが、Oracle WebLogic Serverにデプロイされたrwservletにリクエストをルーティングします。
URLでは、このレポートをrwservlet経由で実行するか、JSP経由で実行するかの設定に応じて、ユーザーをrwservletまたはJSPにリダイレクトします。

3. rwservletがOracleAS Single Sign-Onにユーザーの認証を要求します。

4. OracleAS Single Sign-Onサーバーがユーザー名とパスワードを要求します。

5. Oracle HTTP Serverがユーザーにログイン・ページを表示し、ユーザーがユーザー名とパスワードを入力します。

6. ユーザー名とパスワードがOracleAS Single Sign-Onに渡されます。

7. OracleAS Single Sign-Onが資格証明をOracle Internet Directoryに確認します。

8. ユーザーが認証されると、OracleAS Single Sign-onサーバーが「ユーザーが認証されました」というメッセージをrwservletに渡します。
URLでSSOCONNを使用した場合、rwservletが、Oracle Internet DirectoryでSingle Sign-Onキーを照合して、Single Sign-Onキーがデータ・ソース接続文字列(たとえば、scott/tiger@my_or_db)にすでにマッピングされているかどうかを確認します。

SSOCONNを使用しており、そのキーに関連付けられている接続文字列がOracle Internet Directoryにすでに存在する場合、rwservletではその接続文字列をレポートのデータ・ソース接続に使用します。

ノート:

この機能により、異なるデータ・ソース接続文字列を使用する多くのユーザーが、同じレポートのURLを使用できるようになります。

SSOCONNを使用していても、そのキーに対する接続文字列がOracle Internet Directoryに存在しない場合、Oracle Delegated Administration Servicesの「リソースの作成」ページが表示され、ユーザーはそこにデータ・ソース接続文字列を入力します。図14-4を参照してください。

この文字列は今後の使用のために、Oracle Delegated Administration ServicesによってOracle Internet Directoryに格納され、rwservletが、新しく入力された接続文字列をレポートのデータ・ソース接続文字列として使用します。

図14-2 Oracle Delegated Administration Servicesの「リソースの作成」

14.3.1.2 Oracle Access Manager (OAM) 11gでの認証フロー

図14-3に、認証サーバーとしてOracle Access Managerを使用する認証プロセスを示します。

図14-3 OAM 11gサーバーを使用する認証プロセス

1. ユーザーがURLを使用してレポート・リクエストを送信します。

2. Oracle HTTP Serverは、リクエストをOAMサーバーにルーティングします。

3. OAMサーバーは、ユーザー名とパスワードをリクエストするページを送信します。

4. ユーザーによって入力された資格証明がOAMサーバーに送信されます。

5. Oracle Access Manager (OAM)が資格証明をOracle Internet Directoryに確認します。

6. ユーザーが認証されると、OAMサーバーが「ユーザーが認証されました」というメッセージをrwservletに渡します。
URLでSSOCONNを使用した場合、rwservletが、Oracle Internet DirectoryでSingle Sign-Onキーを照合して、Single Sign-Onキーがデータ・ソース接続文字列(たとえば、scott/tiger@my_or_db)にすでにマッピングされているかどうかを確認します。

SSOCONNを使用しており、そのキーに関連付けられている接続文字列がOracle Internet Directoryにすでに存在する場合、rwservletではその接続文字列をレポートのデータ・ソース接続に使用します。

ノート:

ReportsアプリケーションがOAM 11gサーバーを使用して認証される場合、Single Sign-OnパラメータがNoに設定されていても、Reports認証ページではなく、OAM認証ページが表示されます。

SSOCONNを使用していても、そのキーに対する接続文字列がOracle Internet Directoryに存在しない場合、Oracle Reportsにより「キーが存在しません」というエラー・メッセージが表示されます。

14.3.2 非SSO認証

Oracle Internet Directory、JPSベース・セキュリティの場合のファイルベース、および埋め込みIDストアに基づいて、いずれかの非SSO認証方法が使用される場合、Reports Serverのセキュアなインスタンスにユーザーがアクセスする際、独自の認証メカニズムを使用してrwservletまたはReportsクライアントにより識別情報を渡す必要があります。

表14-4 非SSO認証方法

IDストア

認証

Oracle Internet Directory (rwsec、または構成済のJPS-OID)

Oracle Internet Directoryに対する認証

埋め込みIDストア(インプロセス・サーバー)

WebLogic Serverの埋め込みIDストアに対する認証

JAZN-XMLファイルベースのIDストア(スタンドアロン・サーバー)

ファイルベースのIDストアに対する認証

HTTP 1.0プロトコルはステートレスであるため(つまり、サーバーへの各コールは事実上独立しているので)、Cookieが保持されていないかぎり、レポート・リクエストのたびにユーザーの認証が必要になる場合があります。セッションごとに1度の認証で済むように、rwservletには独自のクライアント側のCookieであるauthid Cookieが保存されます。ここには、現行セッションに必要な認証情報が格納されます。一度ユーザーが認証されると、暗号化されたCookieがブラウザで作成され、ユーザーはリクエストごとに認証を受けることなく、複数のレポート・ジョブを実行できます。

ノート:

特定のレポートに対してユーザーに認証を要求する場合は、SHOWAUTHコマンドライン・キーワードを使用できます。または、キー・マップ・ファイル内の対応するレポート・エントリに%Sを使用することもできます。このファイルは通常cgicmd.datと呼ばれ、$DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration/cgicmd.datにあります。%Sを使用すると、ユーザーはレポートをコールするたびに、ユーザー名とパスワードの入力が要求されます。詳細は、第17.13項「キー・マップ・ファイルの使用」を参照してください。

ユーザーがブラウザ・セッションを終了するとAUTHID Cookieも終了しますが、この方法だけでCookieを終了するのは十分とはいえません。セッション内のCookieの存続期間は制限する必要があります。たとえば、ユーザーがログインし、昼食のためにブラウザ・セッションを起動したまま席を外したとします。こうした状況でのセキュリティ侵害の可能性を最小限に抑えるために、管理者は、rwservlet.propertiesファイル内でcookie要素の属性としてCOOKIEEXPIREパラメータを指定できます。

たとえば次のように、rwservlet.propertiesファイルにcookie要素を指定できます。

<cookie cookieexpire="30" encryptionkey="reports"/>

rwservletでジョブ・リクエストが受信されると、Cookieに保存された時間と現在のシステム時間が比較されます。この時間が環境変数で定義された時間(たとえば、30分)を超えていると、Cookieは否定され、ユーザーには認証情報を提供する必要が生じます。

関連項目:

COOKIEEXPIREパラメータとrwservlet.propertiesファイルの詳細は、第7.3項「Oracle Reports Servlet構成ファイル」を参照してください。

14.3.2.1 非SSO (Oracle Internet Directoryベース、ファイルベース、または埋め込みIDストア)を使用するレポート・リクエスト・フロー

このシナリオでは、Single Sign-Onが無効で保護されたReports Serverにレポート・リクエストが送信されます。非SSO認証方法には、Oracle Internet Directoryベース、ファイルベース、および埋め込みIDストアが含まれます。この場合、rwservletまたはJSPレポートは、ブックマークを使用してコールすることも、Oracle Portalコンポーネントからコールすることもできます。

図14-4 Single Sign-Onを使用しない認証プロセス

次の各ステップの番号は、図14-5の番号に対応しています。

1. ユーザーがURLを使用してレポート・リクエストを送信します。
ユーザーは、Webページ上のリンクやブックマークなどを通じて、レポート・リクエストを送信するURLにアクセスし、そこでURLを選択する必要があります。

2. Oracle HTTP Serverでは、Oracle WebLogic Serverにデプロイされたrwservletにリクエストがルーティングされます。

3. rwservletがユーザーの資格証明(ユーザー名とパスワード)を要求します。
rwservletは、URL内のAUTHIDパラメータまたは既存のOracle Reports AUTHID Cookieを探します。AUTHIDパラメータを見つけると、それを使用してユーザーを認証します。AUTHIDパラメータが見つからない場合、既存のOracle Reports AUTHID Cookieを探します(レポートがOracle Portalから起動された場合、AUTHIDがURLに自動的に追加されます。)AUTHIDパラメータもOracle Reports AUTHID Cookieも見つからない場合、rwservletはユーザーに表示するシステム認証ページをOracle HTTP Serverに送信します。

4. Oracle HTTP Serverがユーザーにログイン・ページを表示し、ユーザーがユーザー名とパスワードを入力します。
ログイン・ページでは、ユーザーがユーザー名とパスワードを入力する必要があります。この情報は、後で参照するためにOracle Reports AUTHID Cookieに保存されます。

5. ユーザー名とパスワードがrwservletに渡されます。
データ・ソース証明書の一部だけがURLに指定されている場合(たとえば、USERID=scott@orqa)は、データベース認証ページにその一部の証明書が表示されます。ユーザーは、証明書の残りの部分を指定しないと、先に進めません。どのデータベース認証ページを使用するかは、rwservlet.propertiesファイルのDBAUTHパラメータで制御できます。データ・ソース証明書が指定されていない場合は、データベース認証ページが表示されず、レポートにはデータ・ソースが不要であると見なされます。

関連項目:

DBAUTHパラメータとrwservlet.propertiesファイルの詳細は、第7.3項「Oracle Reports Servlet構成ファイル」を参照してください。

データ・ソース証明書は、後で参照するためにOracle Reports USERID Cookieに保存されます。プラガブル・データ・ソース(PDS)証明書は、Oracle Reports USERID Cookieには保存されないことに注意してください。

6. rwservletがユーザー名とパスワードをReports Serverに転送します。
rwservletは、これまでのステップで取得した必要な情報でコマンドラインを作成し、これをReports Serverに渡します。

7. Reports ServerがIDストアに対してユーザーを認証(ユーザー名とパスワードを確認)します。
Reports Serverは、IDストア(Oracle Internet Directory、埋め込みIDストア、またはファイルベースのOracle Internet Directory)に対してユーザーの資格証明を検証します。この妥当性チェックがなんらかの理由で失敗した場合、ユーザーに対してエラーが返され、この処理が終了します。

14.3.3 JPSベース・セキュリティの認証シナリオ

この項では、次の認証シナリオについて説明します。

- ReportsがJPSセキュリティ、セキュリティ・ポリシー用JPS-OID、および埋め込みIDストアを使用している場合

- ReportsがJPSセキュリティおよび、IDストアとしてのJPS-OIDを使用している場合

ノート:

デフォルトでは、インプロセス・サーバーは、IDストアとしてOracle WebLogic Serverの埋め込みIDストアを使用し、ポリシー・ストアとしてsystem-jazn-data.xmlファイルを使用します。スタンドアロン・サーバーは、IDストアとしてもポリシー・ストアとしてもsystem-jazn-data.xmlファイルを使用します。

14.3.3.1 ReportsがJPSセキュリティ、セキュリティ・ポリシー用JPS-OID、および埋め込みIDストアを使用している場合

埋め込みIDストアのような現在のIDストア内のユーザーを、LDAPベースのIDストアであるOracle Internet Directoryに移動することをお薦めします。その後で、ユーザーをアプリケーション・ロールにマップできるようになります。Oracle Internet Directoryへのユーザーの移動については、『Oracle Fusion Middlewareセキュリティ・ガイド』の手動によるIDの移行に関する項を参照してください。ユーザーのアプリケーション・ロールへのマッピングの詳細は、「アプリケーション・ロールへのユーザーのマッピング」を参照してください。

14.3.3.2 ReportsがJPSセキュリティおよび、IDストアとしてのJPS-OIDを使用している場合

Oracle Internet Directory内のユーザーをデフォルトのアプリケーション・ロールにマップする必要があります。ユーザーのアプリケーション・ロールへのマッピングの詳細は、「アプリケーション・ロールへのユーザーのマッピング」を参照してください。

注意:

前述の認証シナリオで、Single Sign-Onが有効の場合、「シングル・サインオン」画面が表示されます。Single Sign-Onが無効の場合、Reportsのsysauth画面が表示されます。どちらの場合も、ユーザーはOracle Internet Directoryに対して認証されます。ユーザーをOracle Internet Directoryに移動していない場合には、ユーザーはインプロセス・サーバー用の埋め込みIDストアに対して認証されます。スタンドアロン・サーバーでは、そのようなユーザーはファイルベースのIDストア対して認証されます。

14.3.4 Portalベース・セキュリティの認証シナリオ

Portalペース・セキュリティを使用している場合、Oracle Internet Directoryベースの認証が使用されます。

ユーザーをアプリケーション・ロールにマップできます。ユーザーのアプリケーション・ロールへのマッピングの詳細は、「アプリケーション・ロールへのユーザーのマッピング」を参照してください。

注意:

前述の認証シナリオで、Single Sign-Onが有効の場合、「シングル・サインオン」画面が表示されます。Single Sign-Onが無効の場合、Reportsのsysauth画面が表示されます。どちらの場合も、ユーザーはOracle Internet Directoryに対して認証されます。

14.4 Oracle Reportsにおける認可

JPSベース・セキュリティを使用している場合、認可にはOracle Internet DirectoryまたはJAZN-XMLのいずれかの方法を使用できます。Portalペース・セキュリティを使用している場合、Portalベースの認可が使用されます。

JPSベース・セキュリティの場合、デフォルトでインプロセス・サーバーはポリシー・ストアとしてsystem-jazn-data.xmlを使用します。したがって、ReportsポリシーはReportsアプリケーション・エントリの下のsystem-jazn-data.xmlに格納されます。ユーザーはこのポリシー・ストアに基づいて認可されます。スタンドアロン・サーバーの場合、すべてのポリシーがsystem-jazn-data.xmlファイルに格納され、これらのポリシーに対して認可が行われます。

ノート:

認可プロセスには、特定のユーザーがJPSで使用されるIDストア内にあるかどうかのチェックが含まれます。認証にSingle Sign-Onが使用される場合、同じユーザーは必ずJPSで使用されるIDストア内に構成してください。または、JPSがSingle Sign-Onに使用するIDストアを必ず指定するように構成してください。そうしないと、認可は機能しません。

次の表は、Oracle ReportsがJPSベース・セキュリティを使用する場合にサポートされる認可方法をまとめたものです。

表14-5 JPSベース・セキュリティの認可方法

Report Serverのタイプ

Oracle Internet Directory

ファイルベース

インプロセス

はい

はい

スタンドアロン

はい

はい

Portalベース・セキュリティが構成されている場合は、次の認可方法が使用されます。

表14-6 Portalベース・セキュリティの認可方法

Report Serverのタイプ

認可

インプロセス

Portalベース

スタンドアロン

Portalベース

ノート:

Oracle Portalが認可を行うよう構成されている場合に、レポート・リクエストがrwservletからではなくOracle Portal内から送信されると、Oracle Reportsでは、レポートに対するユーザーの権限を同様の方法で確認してからレポートを実行します。未認証(PUBLIC)ユーザーが公開ページを閲覧する場合でも、Oracle Reports Servicesでは、PUBLICユーザー・アカウントがレポートに対して適切な権限を持っているかどうかが確認されます。

14.4.1 認可プロセス

認可が行われるのは、ユーザーがSingle Sign-Onまたは非SSO (Oracle Internet Directoryベース、JPSベース・セキュリティの場合のファイルベース、および埋め込みIDストア)の方法により認証された後です。ユーザーが認証されると、レポート・リクエストは図14-5に示すように認可プロセスを経由する必要があります。

図14-5 認可プロセス・フロー

次の各ステップの番号は、図14-6の番号に対応しています。

1. Reports Serverでは、ポリシー・ストアに定義されているポリシーによりユーザーの権限が確認されます。
Reports Serverでは、ポリシー・ストア(JAZN-XML、LDAPまたはPortalリポジトリ)に定義されているポリシーに対するユーザー権限が確認されます。

Reports Serverでは、ポリシー・ストアで指定したパラメータでレポートを実行するのに必要な権限をユーザーが持っているかどうかもチェックされます。この妥当性チェックがなんらかの理由で失敗した場合、ユーザーに対してエラーが返され、この処理が終了します。

ノート:

ユーザーがshowjobsやgetserverinfoなどのrwservlet Webコマンドを実行すると、Reports Serverではレポートを実行するかわりに、ポリシー・ストア設定に基づき、ユーザーが検証および認可されます。

2. ユーザーにレポートの実行が許可された場合、Reports Serverはレポート・リクエストを実行し、レポート出力をrwservletに渡します。
Reports Serverがこのジョブをエンジンに委譲し、そこでデータ・ソースのアクセス、データの取出しおよびレポートのフォーマットが行われます。

3. レポート出力が、Oracle HTTP Serverに渡されます。

4. レポート出力が、ユーザーに渡されます。
処理された出力は、指定の宛先に送信されます。宛先に従って、この出力はブラウザに返されるか(図14-6)、プリンタに送信されるか、後で参照するためにファイルに保存されるか、またはFTPサーバーなどに送信されます。

14.4.2 認可用にJPSを使用する場合の追加ステップ

Reportsポリシーはアプリケーション・ロールに付与されます。IDストア(Oracle WebLogic Serverの埋め込みIDストアまたは外部のOracle Internet Directory)内のすべてのユーザーをいずれかのReportsアプリケーション・ロールに関連付ける必要があります。

jps-config-jse.xmlファイルにoracle.security.jps.enterprise.user.classプロパティを追加する必要があります。

この作業を行うには、Enterprise Managerで次のように実行します。

1. 「WebLogicドメイン」メニューにナビゲートします。

2. 「セキュリティ」→「アプリケーション・ロール」を選択します。
「アプリケーション・ロール」ページが表示されます。このページでユーザーをアプリケーション・ロールにマップできます。

または、手動で$DOMAIN_HOME/config/fmwconfig/system-jazn-data.xmlファイルを編集してこの作業を行うこともできます。Oracle Internet Directoryでユーザーを認可する際にJPSを使用する場合には、このステップが必要です。

XMLファイルでReportsアプリケーションを検索し、メンバー・セクションにユーザーを追加します。たとえば、orcladminというユーザーを追加するには、次の行を追加します。

<member>
<class>weblogic.security.principal.WLSUserImpl</class>
<name>orcladmin</name>
</member>

14.4.3 レポートのセキュリティ・ポリシーの定義

デフォルトで、デフォルトのユーザー、ロールおよび権限は作成されています。管理者は、レポートごとにセキュリティ・ポリシーを定義することで、特定のユーザーがアクセスできるレポートを指定できます。セキュリティ・ポリシーでは、サーバー、宛先名(desname)、宛先タイプ(destype)などのパラメータも指定できます。ユーザーがユーザー名とパスワードを入力した際に、セキュリティ・ポリシーがチェックされます。

14.4.3.1 JPSベース・セキュリティのセキュリティ・ポリシーの定義

Oracle Enterprise Managerを使用して、レポート用セキュリティ・ポリシーを更新するには、第6.8.2項「レポートのセキュリティ・ポリシーの定義」を参照してください。

14.4.3.2 Portalベース・セキュリティのセキュリティ・ポリシーの定義

Portalベース・セキュリティの場合、Oracle Portalでセキュリティ・ポリシーを作成できます。詳細は、『Oracle Fusion Middleware Oracle Portal管理者ガイド』のOracle Portalの保護に関する項を参照してください。

14.4.4 JPSベース・セキュリティのディレクトリ用セキュリティ・ポリシーの定義

場合によっては、特定のユーザー・アクセスを複数の関連レポートに付与することが必要になることがあります。セキュリティ・ポリシーをレポートごとに指定するのではなく、1つのディレクトリにあるすべてのレポートを収集してから、そのディレクトリのセキュリティ・ポリシーを指定できます。ユーザーがユーザー名とパスワードを入力した際に、再びセキュリティ・ポリシーがチェックされます。

Oracle Enterprise Managerを使用して、ディレクトリ用セキュリティ・ポリシーを更新するには、第6.8.3項「ディレクトリのセキュリティ・ポリシーの定義」を参照してください。

14.4.5 JPSベース・セキュリティのWebコマンド用セキュリティ・ポリシーの定義

Webコマンドごとにセキュリティ・ポリシーを作成することで、特定のユーザーやロールがアクセス権を持つOracle Reports Servlet (rwservlet)用Webコマンドも指定できます。ユーザーがユーザー名とパスワードを入力した際に、セキュリティ・ポリシーがチェックされます。

Oracle Enterprise Managerを使用して、Webコマンド用セキュリティ・ポリシーを更新するには、第6.8.4項「Webコマンドのセキュリティ・ポリシーの定義」を参照してください。

14.4.6 ディレクトリへの読取り/書込みアクセス権の定義

管理者は、Reports Server、Reportsアプリケーション(インプロセスReports Server)またはOracle Reports Runtimeによるディレクトリへの読取りアクセス権や書込みアクセス権を指定できます。この機能は、Reports Server、Reportsアプリケーション(インプロセスReports Server)またはOracle Reports Runtimeによる指定ディレクトリへの読取りや書込みが認可されているかどうかを確認するのみであり、ユーザーやロールのセキュリティ・ポリシーとは無関係です。このポリシーによりユーザー名とパスワードを確認します。

Oracle Enterprise Managerを使用して、新しいオプションのfolderAccess要素を使用してサーバー構成ファイル(rwserver.conf)に定義されている読取り権限や書込み権限を指定するには、第6.8.5項「ディレクトリへの読取り/書込みアクセス権の定義」を参照してください。

14.4.7 Enterprise Managerでのアプリケーション・ポリシーの検索

アプリケーション・ポリシーは、アプリケーションがそのリソースへのアクセスを制御するために使用する認可ポリシーです。プリンシパルまたは権限の検索キーワードを入力し、アプリケーション・セキュリティの権限付与の問合せができます。アプリケーション・ストライプを使用して、アプリケーションがアプリケーション名とは異なるストライプを使用しているかどうかを検索できます。

Enterprise Managerでアプリケーション・ポリシーを検索するには、次のステップを実行します。

1. Enterprise Managerにログインします。

2. 「Reportsアプリケーション・ホームページ」にナビゲートします。

3. 「レポート」メニューから「セキュリティ」→「アプリケーション・ポリシー」を選択します。
「アプリケーション・ポリシー」ページが表示されます。

4. 「検索するアプリケーション・ストライプの選択」オプションを選択します。

5. ドロップダウン・メニューで、「レポート」を選択します。

6. 「プリンシパル」フィールドに、プリンシパル名を入力します。

7. 「権限」フィールドに、権限を入力します。

8. 右矢印ボタンをクリックしてアプリケーション・セキュリティの権限付与を検索します。

14.4.8 Enterprise Managerでのアプリケーション・ロールの検索

アプリケーション・ロールは、セキュリティを意識したアプリケーションにより使用されるアプリケーションに固有なロールです。これらのロールは、アプリケーションが登録される際に、WebLogicドメインのポリシー・ストアでアプリケーションにより生成されます。

Enterprise Managerでアプリケーション・ロールを検索するには、次のステップを実行します。

1. Enterprise Managerにログインします。

2. 「Reportsアプリケーション・ホームページ」にナビゲートします。

3. 「レポート」メニューから「セキュリティ」→「アプリケーション・ロール」を選択します。
「アプリケーション・ロール」ページが表示されます。

4. 「検索するアプリケーション・ストライプの選択」オプションを選択します。

5. ドロップダウン・メニューで、「レポート」を選択します。

6. 「ロール名」フィールドに、検索するアプリケーション・ロールの名前を入力します。

7. 右矢印ボタンをクリックしてアプリケーション・ロールを検索します。

14.5 エンドツーエンド・セキュリティ・シナリオ

この項では、認証と認可の両方を含むエンドツーエンド・セキュリティのシナリオについて説明します。

次の表は、JPSベースのセキュリティ・シナリオを示しています。

表14-7 JPSベース・セキュリティ・シナリオ

セキュリティ・シナリオ

説明

Reports ServletのSingle-Sign-On認証を使用するJPS-OID認可

このシナリオには次の内容が含まれます。

- 認証用Single Sign-On

- 認可用JPS-OID(ポリシー)

認証と認可の組合せを使用するステップは、次のとおりです。

1. Single Sign-Onを有効にします。詳細は、「Single Sign-Onの有効化と無効化」を参照してください。

2. JPSベース・セキュリティを有効化します。Enterprise Managerの「Reports Server拡張構成」ページで「セキュリティの有効化」チェック・ボックスを選択し、それから「Oracle Platform Security for Java」オプションを選択します。

3. Single Sign-Onに使用するOracle Internet Directory内に存在するすべてのユーザーが、JPSで使用するIDストアに登録されていることを確認します。または、Single Sign-Onに使用するIDストアを指定するようにJPSを構成します。

4. jps-config-jse.xmlファイルに次のプロパティを追加します。
<property name="oracle.security.jps.enterprise.user.class" value="weblogic.security.principal.WLSUserImpl"/>

5. ポリシー・ストアとしてJPS Oracle Internet Directoryを構成します。詳細は、「JPSベース・セキュリティ使用時に外部Oracle Internet Directoryをポリシー・ストアとして構成する方法」を参照してください。

6. セキュリティ・ポリシーを作成します。Oracle Enterprise Managerを使用して、Oracle Internet Directoryに定義されているレポート用セキュリティ・ポリシーを更新するには、第6.8.2項「レポートのセキュリティ・ポリシーの定義」を参照してください。

7. ユーザーをアプリケーション・ロールにマップします。ユーザーのアプリケーション・ロールへのマッピングの詳細は、「アプリケーション・ロールへのユーザーのマッピング」を参照してください。

その他のReportsクライアントの、IDストアとしてJPS-OIDを使用するJPS-OID認可

このシナリオには次の内容が含まれます。

- 認証用JPS-OID

- 認可用JPS-OID(ポリシー)

認証と認可の組合せを使用するステップは、次のとおりです。

1. JPSベース・セキュリティを有効化します。Enterprise Managerの「Reports Server拡張構成」ページで「セキュリティの有効化」チェック・ボックスを選択し、それから「Oracle Platform Security for Java」オプションを選択します。

2. jps-config-jse.xmlファイルに次のプロパティを追加します。
<property name="oracle.security.jps.enterprise.user.class" value="weblogic.security.principal.WLSUserImpl"/>

3. JPS-OIDをIDストアとして構成します。詳細は、「JPSベース・セキュリティ使用時に外部Oracle Internet DirectoryをIDストアとして構成する方法」を参照してください。

4. JPS-OIDをポリシー・ストアとして構成します。詳細は、「JPSベース・セキュリティ使用時に外部Oracle Internet Directoryをポリシー・ストアとして構成する方法」を参照してください。

5. セキュリティ・ポリシーを作成します。Oracle Enterprise Managerを使用して、Oracle Internet Directoryに定義されているレポート用セキュリティ・ポリシーを更新するには、第6.8.2項「レポートのセキュリティ・ポリシーの定義」を参照してください。

6. ユーザーをアプリケーション・ロールにマップします。ユーザーのアプリケーション・ロールへのマッピングの詳細は、「アプリケーション・ロールへのユーザーのマッピング」を参照してください。

Reports ServletのSingle-Sign-On認証を使用するJAZN-XML認可

このシナリオには次の内容が含まれます。

- 認証用Single Sign-On

- 認可用JAZN-XML(ポリシー)

認証と認可の組合せを使用するステップは、次のとおりです。

1. Single Sign-Onを有効にします。詳細は、「Single Sign-Onの有効化と無効化」を参照してください。

2. JPSベース・セキュリティを有効化します。Enterprise Managerの「Reports Server拡張構成」ページで「セキュリティの有効化」チェック・ボックスを選択し、それから「Oracle Platform Security for Java」オプションを選択します。

3. Single Sign-Onに使用するOracle Internet Directory内に存在するすべてのユーザーが、JPSで使用するIDストアに登録されていることを確認します。または、Single Sign-Onに使用するIDストアを指定するようにJPSを構成します。

4. jps-config-jse.xmlファイルに次のプロパティを追加します。
<property name="oracle.security.jps.enterprise.user.class" value="weblogic.security.principal.WLSUserImpl"/>

5. セキュリティ・ポリシーを作成します。第6.8.2項「レポートのセキュリティ・ポリシーの定義」を参照してください。

6. ユーザーをアプリケーション・ロールにマップします。ユーザーのアプリケーション・ロールへのマッピングの詳細は、「アプリケーション・ロールへのユーザーのマッピング」を参照してください。

7. system-jazn-data.xmlファイルをポリシー・ストアとして使用している場合、system-jazn-data.xmlファイルで「reports」アプリケーションを検索します。JPSを使用してOracle Internet Directoryでユーザーを認可するには、system-jazn-data.xmlファイルのメンバー・セクションに対応するユーザーを追加します。詳細は、第14.4.2項「認可用にJPSを使用する場合の追加ステップ」を参照してください。

その他のReportsクライアントの、JPS-OID認証を使用するJAZN-XML認可

このシナリオには次の内容が含まれます。

- 認証用JPS-OID

- 認可用JAZN-XML(ポリシー)

認証と認可の組合せを使用するステップは、次のとおりです。

1. JPSベース・セキュリティを有効化します。Enterprise Managerの「Reports Server拡張構成」ページで「セキュリティの有効化」チェック・ボックスを選択し、それから「Oracle Platform Security for Java」オプションを選択します。

2. jps-config-jse.xmlファイルに次のプロパティを追加します。
<property name="oracle.security.jps.enterprise.user.class" value="weblogic.security.principal.WLSUserImpl"/>

3. JPS-OIDをIDストアとして構成します。詳細は、「JPSベース・セキュリティ使用時に外部Oracle Internet DirectoryをIDストアとして構成する方法」を参照してください。

4. セキュリティ・ポリシーを作成します。Oracle Internet Directoryに定義されているレポート用セキュリティ・ポリシーを更新するには、第6.8.2項「レポートのセキュリティ・ポリシーの定義」を参照してください。

5. ユーザーをアプリケーション・ロールにマップします。ユーザーのアプリケーション・ロールへのマッピングの詳細は、「アプリケーション・ロールへのユーザーのマッピング」を参照してください。

6. system-jazn-data.xmlファイルをポリシー・ストアとして使用している場合、system-jazn-data.xmlファイルで「reports」アプリケーションを検索します。JPSを使用してOracle Internet Directoryでユーザーを認可するには、system-jazn-data.xmlのメンバー・セクションに対応するユーザーを追加します。詳細は、第14.4.2項「認可用にJPSを使用する場合の追加ステップ」を参照してください。

次の表は、Portalベースのセキュリティ・シナリオを示しています。

表14-8 Portalベース・セキュリティ・シナリオ

セキュリティ・シナリオ

説明

Reports ServletのSingle-Sign-On認証を使用するPortalベース認可

このシナリオには次の内容が含まれます。

- 認証用Single Sign-On

- Portalベース認可(ポリシー)

認証と認可の組合せを使用するステップは、次のとおりです。

1. Single Sign-Onを有効にします。詳細は、「Single Sign-Onの有効化と無効化」を参照してください。

2. Portalベース・セキュリティが有効であることを確認します。JPSベース・セキュリティが有効化されている場合は、Portalベース・セキュリティに切り替えます。Enterprise Managerの「拡張構成」ページで「セキュリティの有効化」チェック・ボックスを選択し、それから「Reportsセキュリティ」セクションの下の「Oracle Portalで使用可能なセキュリティ機能」オプションを選択します。

3. Oracle Portalにセキュリティ・ポリシーを作成します。Oracle Portalにセキュリティ・ポリシーを作成する方法の詳細は、『Oracle Fusion Middleware Oracle Portal管理者ガイド』の「Oracle Portalの保護」を参照してください。

4. ユーザーをアプリケーション・ロールにマップします。ユーザーをアプリケーション・ロールにマッピングする方法の詳細は、第15.1項「Reportsユーザーおよび名前付きグループの作成」を参照してください。

その他のReportsクライアントの、IDストアとしてOracle Internet Directoryを使用するPortalベース認可

このシナリオには次の内容が含まれます。

- 認証用Oracle Internet Directory

- 認可用Portalベース(ポリシー)

認証と認可の組合せを使用するステップは、次のとおりです。

1. IDストアとしてOracle Internet Directoryを構成します。詳細は、「外部Oracle Internet DirectoryをIDストアとして構成する方法」を参照してください。

2. Portalベース・セキュリティが有効であることを確認します。JPSベース・セキュリティが有効化されている場合は、Portalベース・セキュリティに切り替えます。Enterprise Managerの「拡張構成」ページで「セキュリティの有効化」チェック・ボックスを選択し、それから「Reportsセキュリティ」セクションの下の「Oracle Portalで使用可能なセキュリティ機能」オプションを選択します。

3. Oracle Portalにセキュリティ・ポリシーを作成します。Oracle Portalにセキュリティ・ポリシーを作成する方法の詳細は、『Oracle Fusion Middleware Oracle Portal管理者ガイド』の「Oracle Portalの保護」を参照してください。

4. ユーザーをアプリケーション・ロールにマップします。ユーザーをアプリケーション・ロールにマッピングする方法の詳細は、第15.1項「Reportsユーザーおよび名前付きグループの作成」を参照してください。

14.6 JPSベース・セキュリティの推奨製品シナリオ

JPSベース・セキュリティの場合、次の製品シナリオをお薦めします。

- 認証用: IDストアとしてのOracle Internet Directory、またはSingle Sign-On

- 認可用: ポリシー・ストアとしてのOracle Internet Directory

Single Sign-Onを使用していない場合、認証にはOracle Internet Directoryを使用します。

14.7 Portalベース・セキュリティの推奨製品シナリオ

Portalベース・セキュリティの場合、次の製品シナリオをお薦めします。

- 認証用のIDストアとしてのOracle Internet Directory、またはSingle Sign-On

- Portalベース認可

Single Sign-Onを使用していない場合、認証にはOracle Internet Directoryを使用します。

14.8 ユーザーおよびセキュリティ・ポリシーの管理

この項では、インプロセス・サーバーおよびスタンドアロン・サーバー用のユーザーおよびセキュリティ・ポリシーの管理方法について説明します。

ここでは、次の項目について説明します。

- インプロセス・サーバー用のWebLogic埋め込みIDストアへのユーザーの追加

- インプロセス・サーバー用のポリシー・ストアへのポリシーの追加

- アプリケーション・ロールへのユーザーのマッピング

- スタンドアロン・サーバー用のsystem-jazn-data.xmlへのユーザーの追加

- スタンドアロン・サーバー用のポリシー・ストアへのポリシーの追加

14.8.1 インプロセス・サーバー用のWebLogic埋め込みIDストアへのユーザーの追加

インプロセス・サーバー用のIDストアにユーザーを追加するには、次のステップを実行します。

1. WebLogic Server管理コンソールにナビゲートします。

2. コンソールの左側ペインの「ドメイン構造」ウィンドウで、「セキュリティ・レルム」→「myrealm」を選択します。
「myrealmの設定」ページが表示されます。

3. 「ユーザーとグループ」タブをクリックします。

4. 「新規」をクリックしてユーザーを追加します。
「ユーザーのプロパティ」ページが表示されます。

5. パラメータを入力し、「プロバイダ」ドロップダウン・リストから「DefaultAuthenticator」を選択します。

6. 「OK」をクリックします。

14.8.2 インプロセス・サーバー用のポリシー・ストアへのポリシーの追加

インプロセス・サーバー用のポリシー・ストアにポリシーを追加するには、次のステップを実行します。

1. Enterprise Managerにログインします。

2. 「Reportsアプリケーション・ホームページ」にナビゲートします。

3. 「レポート」メニューから「管理」→「Reportsセキュリティ・ポリシーの管理」を選択します。
「セキュリティ・ポリシー構成」ページが表示されます。

4. 「作成」をクリックして、ReportsポリシーまたはWebコマンド・ポリシー(あるいはその両方)を追加または編集します。
レポートのセキュリティ構成ページが表示されます。

5. レポートのセキュリティ構成ページに適切な値を入力します。

6. 「OK」をクリックします。

セキュリティ・ポリシーの詳細は、第6.8.2項「レポートのセキュリティ・ポリシーの定義」を参照してください。

14.8.3 アプリケーション・ロールへのユーザーのマッピング

ユーザーを構成したら、IDストアに存在するユーザーを1つ以上のアプリケーション・ロールにマップする必要があります。Oracle Enterprise Managerまたは手動のいずれかにより、インプロセス・サーバーのアプリケーション・ロールを構成できます。

この作業を行うには、Enterprise Managerで次のように実行します。

1. 「WebLogicドメイン」メニューにナビゲートします。

2. 「セキュリティ」→「アプリケーション・ロール」を選択します。
「アプリケーション・ロール」ページが表示されます。このページでユーザーをアプリケーション・ロールにマップできます。

ポリシー・ストアとしてsystem-jazn-data.xmlファイルを使用すると、system-jazn-data.xmlファイルのレポート・エントリの下に次の行を追加して、手動でアプリケーション・ロールにユーザーを構成できます。

<app-role>
<name>rw_administrator</name>
<display-name>Reports Administrator</display-name>
<class>oracle.security.jps.service.policystore.ApplicationRole</class>
<members>
<member>
<class>weblogic.security.principal.WLSUserImpl</class>
<name>weblogic</name>
</member>
</members>
</app-role>

system-jazn-data.xmlファイルの例は、system-jazn-data.xmlファイルの例を参照してください。

14.8.4 スタンドアロン・サーバー用のsystem-jazn-data.xmlへのユーザーの追加

system-jazn-data.xmlファイルをIDストアとして使用すると、スタンドアロン・サーバーのIDストアにユーザーを追加できます。そのステップは次のとおりです。

1. <jazn-realm/>を次の行に置き換えて、system-jazn-data.xmlファイルにユーザーを追加します。

<jazn-realm>
<realm>
<name>jazn.com</name>
<users>
<user>
<name><weblogic</name>
<credentials>!passwd</credentials>
</user>
</users>
</realm>
</jazn-realm>

system-jazn-data.xmlファイルの例は、system-jazn-data.xmlファイルの例を参照してください。

14.8.5 スタンドアロン・サーバー用のポリシー・ストアへのポリシーの追加

Oracle Enterprise Managerにより、スタンドアロン・サーバーのポリシー・ストアにポリシーを追加できます。

1. Oracle Enterprise Managerにログインします。

2. 「Reportsアプリケーション・ホームページ」にナビゲートします。

3. 「レポート」メニューから「管理」→「セキュリティ・ポリシーの管理」を選択します。

4. 「作成」をクリックしてReportsポリシーおよびWebコマンド・ポリシーを追加します。

5. アプリケーション・ポリシーにロールを割り当てます。

6. 「OK」をクリックします。

セキュリティ・ポリシーの詳細は、第6.8.2項「レポートのセキュリティ・ポリシーの定義」を参照してください。

14.9 外部Oracle Internet Directoryの構成およびReportsの再関連付け

この項では、インプロセス・サーバーおよびスタンドアロン・サーバー用の外部Oracle Internet Directoryの構成方法および、ReportsとOracle Internet Directoryおよび別のPortalとの再関連付け方法について説明します。

ここでは、次の項目について説明します。

- インプロセス・サーバー用の外部Oracle Internet Directoryの構成

- ReportsとOracle Internet Directoryの再関連付け

- Oracle ReportsとOracle Portalの再関連付け

- スタンドアロン・サーバー用の外部Oracle Internet Directoryの構成

14.9.1 インプロセス・サーバー用の外部Oracle Internet Directoryの構成

WebLogic Serverのデフォルトの埋め込みIDストアから外部Oracle Internet Directoryに移行し、IDストアおよびポリシー・ストア設定を構成できます。外部Oracle Internet Directoryの構成はインストール後に行います。

14.9.1.1 JPSベース・セキュリティ使用時に外部Oracle Internet DirectoryをIDストアとして構成する方法

JPSベース・セキュリティを使用している場合、Oracle WebLogic Server管理コンソールを使用して、IDストアとして外部Oracle Internet Directoryを構成できます。

Oracle WebLogic Serverを使用してIDストアとして外部Oracle Internet Directoryを構成するには、次のステップを実行します。

1. WebLogic Server管理コンソールにナビゲートします。

2. 「ドメイン構造」ウィンドウで、「セキュリティ・レルム」を選択します。
「セキュリティ・レルムのサマリー」ページが表示されます。

3. 「レルム」表からレルムを選択します。

4. レルムの設定ページで、「プロバイダ」タブをクリックします。

5. 「認証プロバイダ」のリストから「新規」を選択します。

6. 「名前」フィールドに名前を入力します。「タイプ」ドロップダウン・リストから、「OracleInternetDirectoryAuthenticator」を選択し、「OK」をクリックします。

7. 新しいオーセンティケータを選択し、「制御フラグ」を「十分」に設定します。

8. 「プロバイダ固有」タブを選択し、適切なフィールドに有効な値を入力します。

9. デフォルトのオーセンティケータを選択し、「制御フラグ」を「オプション」に設定します。

10. 「保存」をクリックします。

11. 管理サーバーを再起動します。

12. 「セキュリティ・レルム」→「ユーザーとグループ」を選択します。外部Oracle Internet Directoryのすべてのユーザーがこのページに表示されていることを確認してください。

これで、インプロセス・サーバーにアクセスを試みるユーザーが、外部Oracle Internet Directoryで指定されたユーザーに基づいて認証されます。

14.9.1.2 JPSベース・セキュリティ使用時に外部Oracle Internet Directoryをポリシー・ストアとして構成する方法

JPSベース・セキュリティを使用している場合、Oracle Enterprise Managerを使用して、ポリシー・ストアとして外部Oracle Internet Directoryを構成できます。

Oracle Enterprise Managerでポリシー・ストアを構成するには、次のステップを実行します。

1. Oracle Enterprise Managerにログインします。

2. WebLogicドメインにナビゲートします。

3. 「WebLogicドメイン」メニューから「セキュリティ」→「セキュリティ・プロバイダ構成」を選択します。

4. 「構成」をクリックします。

5. Oracle Internet DirectoryおよびJPSのルート・ノードの詳細を指定し、「OK」をクリックします。

ノート:

Oracle Internet DirectoryにJPSのルート・ノードが存在しない場合は、これを作成する必要があります。詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』を参照してください。

system-jazn-data.xmlファイルで構成されたポリシーが外部Oracle Internet Directoryに移行されます。

14.9.2 ReportsとOracle Internet Directoryの再関連付け

外部Oracle Internet Directoryを構成した場合、Reportsを再関連付けし、新しいOracle Internet Directoryにマップする必要があります。

Oracle Enterprise Managerを使用してReportsをマップし、新しいOracle Internet Directoryに再関連付けするには、次のステップを実行します。

1. Oracle Enterprise Managerにログインします。

2. 「Reportsアプリケーション・ホームページ」にナビゲートします。

3. 「レポート」メニューから「管理」→「Reports OIDアソシエーション」を選択します。
「Reports OIDアソシエーション詳細」ページが表示されます。

4. 「関連付け」タブをクリックします。

5. 「Oracle Internet Directoryホスト」、「Oracle Internet Directoryポート」、「ユーザー名」および「パスワード」を指定します。

6. 「OK」をクリックします。

ノート:

Oracle Internet Directoryの関連付けまたは関連付け解除は、その特定のOracleインスタンスのホームに関連付けられているすべてのReportsコンポーネントに影響を及ぼします。Reportsコンポーネントが別のOracleインスタンスのホームに関連付けられている場合は、Oracleインスタンスのホームごとに個別にOracle Internet Directoryに関連付けしたり関連付けを解除する必要があります。

14.9.3 Oracle ReportsとOracle Portalの再関連付け

ReportsがOracle Internet Directoryと関連付けられていることを確認します。Oracle Reportsを新しいOracle Portalに再関連付けするには、次のステップを実行します。

1. Oracle Enterprise Managerにログインします。

2. 「Weblogicドメイン・ホーム」ページにナビゲートします。

3. 「WebLogicドメイン」メニューから「セキュリティ」→「資格証明」を選択します。

4. 「資格証明ストア」にPortalの資格証明を追加します。
reportsマップに新しいキー値ペアを追加します。たとえば、hrportalPasswdKeyとしてキーを、ポータル・スキーマ・パスワードとしてキー値を追加します。

詳細は、第6.8.8項「資格証明の管理」を参照してください。

5. 「Reports Serverホームページ」にナビゲートします。

6. 「レポート」メニューから「管理」→「拡張構成」を選択します。
「Reports Server拡張構成」ページが表示されます。

7. 「ポータル情報」セクションで、「ポータル接続」、「ポータル・ユーザー名」、および「ポータル・パスワード・キー」の有効な値を入力します。

8. 「適用」をクリックします。

ノート:

Oracle ReportsのOracle Portalへの再関連付けは、変更が行われた特定のサーバーにのみ影響を及ぼします。Oracleインスタンスのホームにある各ReportsサーバーをOracle Portalに再関連付けする際には、この手順を繰り返す必要があります。

14.9.4 スタンドアロン・サーバー用の外部Oracle Internet Directoryの構成

デフォルトのIDストア(JAZN-XML)から外部Oracle Internet Directoryに移行して、IDストアおよびポリシー・ストアの設定を構成できます。外部Oracle Internet Directoryの構成はインストール後に行います。

外部Oracle Internet DirectoryをIDストアまたはポリシー・ストアとして構成するには、手動で$DOMAIN_HOME/config/fmwconfig/jps-config-jse.xmlファイルを変更する必要があります。

14.9.4.1 外部Oracle Internet DirectoryをIDストアとして構成する方法

外部Oracle Internet DirectoryをIDストアとして構成するには、$DOMAIN_HOME/config/fmwconfig/jps-config-jse.xmlファイルを変更します。その手順は、次のとおりです。

ノート:

これは一例にすぎません。例の中でエントリに指定されている値を、使用中のインストール固有の値に置き換える必要があります。

1. <jpsContext name="default">の下に、次の内容を追加します。

<serviceInstanceRef ref="idstore.oid"/>

次の部分をコメント・アウトします。

<!--serviceInstanceRef ref="idstore.xml"/-->

2. <serviceInstances>の下に、次のエントリを追加します。

<serviceInstance name="idstore.oid" provider="idstore.ldap.provider">
<property name="subscriber.name"
value="dc=us,dc=abc,dc=com"/>
<property name="idstore.type" value="OID"/>
<property name="cleartext.ldap.credentials"
value="cn=password"/>
<property name="ldap.url"
value="ldap://abc.us.com:389"/>
<extendedProperty>
<name>user.search.bases</name>
<values>
<value>cn=users,dc=us,dc=abc,dc=com</value>
</values>
</extendedProperty>
<extendedProperty>
<name>group.search.bases</name>
<values>
<value>cn=groups,dc=us,dc=abc,dc=com</value>
</values>
</extendedProperty>
<property name="username.attr" value="uid"/>
<propperty name="groupname.attr" value="cn"/>
</serviceInstance>

3. < serviceProviders>の下に、次の内容を追加します。

<serviceProvider type="IDENTITY_STORE" name="idstore.ldap.provider"
class="oracle.security.jps.internal.idstore.ldap.LdapIdentityStoreProvider">
</serviceProvider>
<description>Prototype LDAP-based ID store</description>

14.9.4.2 外部Oracle Internet Directoryをポリシー・ストアとして構成する方法

外部Oracle Internet Directoryをポリシー・ストアとして構成するには、$DOMAIN_HOME/config/fmwconfig/jps-config-jse.xmlファイルを変更します。その手順は、次のとおりです。

注意:

これは一例にすぎません。例の中でエントリに指定されている値を、使用中のインストール固有の値に置き換える必要があります。

1. <jpsContext name="default">の下に、次の内容を追加します。

<serviceInstanceRef ref="policystore.ldap"/>

次の部分をコメント・アウトします。

<!--serviceInstanceRef ref="policystore.xml"/-->

2. <serviceInstances>の下に、次の内容を追加します。

<serviceInstance provider="ldap.policystore.provider" name="policystore.ldap">
<property value="OID" name="policystore.type"/>
<property name="security.principal" value="cn=orcladmin" />
<property name="security.credential" value="password" />
<property value="cn=PRDomain" name="oracle.security.jps.farm.name"/>
<property value="cn=sta796_sa_root" name="oracle.security.jps.ldap.root.name"/>
<property value="ldap://abc.us.com:389" name="ldap.url"/>
</serviceInstance>

3. < serviceProviders>の下に、次の内容を追加します。

<serviceProvider type="POLICY_STORE" name="ldap.policystore.provider"
class="oracle.security.jps.internal.policystore.ldap.LdapPolicyStoreProvider">
<description>Prototype LDAP-based ID store</description>
</serviceProvider>

4. WLS_REPORTSを保存し、再起動します。

14.10 FormsおよびReportsのセキュリティに関する推奨事項

ReportsおよびFormsを使用するアプリケーションには、次のセキュリティ・モデルをお薦めします。

ReportsでPortalベース・セキュリティを使用している場合

- FormsとReportsを同じOracle Internet Directoryに関連付けることをお薦めします。
詳細は、「インプロセス・サーバー用の外部Oracle Internet Directoryの構成」および「スタンドアロン・サーバー用の外部Oracle Internet Directoryの構成」を参照してください。

- Single Sign-Onを有効にすることをお薦めします。
次のステップに従って、Single Sign-Onを有効にします。

1. Oracle Enterprise Managerにログインします。

2. 「Reportsアプリケーション」ページにナビゲートします。

3. 「レポート」メニューから「管理」→「拡張構成」を選択します。
「Reportsアプリケーション拡張構成」ページが表示されます。

4. 「Reportsセキュリティ」ウィンドウで、「シングル・サインオンの有効化」チェック・ボックスを選択します。

5. 「適用」をクリックします。

ReportsでJAZNセキュリティを使用している場合

ReportsでJPSベースのセキュリティを使用している場合、デフォルトでインプロセス・サーバーは、IDストアとしてのWebLogic Serverの埋め込みIDストアおよび、XMLベース・ポリシー・ストアを使用します。スタンドアロン・サーバーはJAZN-XMLを使用します。Formsでは、セキュリティにOracle Internet Directoryベースの認証を使用します。このシナリオでは、

- Oracle Internet DirectoryベースのIDストアを使用するようにReportsを構成することをお薦めします。FormsとReportsは、同じOracle Internet Directoryを使用する必要があります。
外部Oracle Internet Directoryの構成の詳細は、「インプロセス・サーバー用の外部Oracle Internet Directoryの構成」および「スタンドアロン・サーバー用の外部Oracle Internet Directoryの構成」を参照してください。

- レポート・ポリシーをJAZN-XMLからJAZN-OIDに移行することをお薦めします。FormsとReportsは、同じOracle Internet Directoryを使用する必要があります。

- Single Sign-Onを有効にすることをお薦めします。
次のステップに従って、Single Sign-Onを有効にします。

1. Oracle Enterprise Managerにログインします。

2. 「Reportsアプリケーション」ページにナビゲートします。

3. 「レポート」メニューから「管理」→「拡張構成」を選択します。
「Reportsアプリケーション拡張構成」ページが表示されます。

4. 「Reportsセキュリティ」ウィンドウで、「シングル・サインオンの有効化」チェック・ボックスを選択します。

5. 「適用」をクリックします。

14.11 フォームおよびレポートに対する中間レベル・セキュリティ

Oracle Reports 11gリリース2 (11.1.2)には、非セキュア・モードでOracle Forms Servicesから実行されるレポートに対して新しいセキュリティ対策が用意されています。

- Oracle Reportsでは連番ではなくランダムなジョブIDを生成できるため、特定のジョブのジョブIDを予測するのは不可能です。詳細は、第17.8.2項「ランダムで連続していないジョブIDの生成」を参照してください。
11gリリース2 (11.1.2)よりも以前のOracle Reportsでは、連番のジョブIDが生成されていました。これによって、ジョブIDが簡単に予測できました。つまり、認可されていないユーザーや悪意のあるユーザーが、rwservletを介してGETJOBIDを使用することでジョブ出力を表示し、別のユーザーに属しているジョブ出力を取得することが可能でした。

- 今回のリリースでは、Webコマンド(rwservletキーワード)は次に示すように追加セキュリティにカテゴリ分けされています。

- エンド・ユーザー用Webコマンド: GETJOBID、KILLJOBID、SHOWAUTH、SHOWJOBID

- 管理者用Webコマンド: DELAUTH、GETSERVERINFO、KILLENGINE、PARSEQUERY、SHOWENV、SHOWJOBS、SHOWMAP、SHOWMYJOBS。管理者用コマンドを実行するにはAUTHIDが必要です。

- L0: Webコマンドは許可されません。

- L1: エンド・ユーザー用Webコマンド(GETJOBID、KILLJOBID、SHOWAUTH、SHOWJOBID)のみ許可されます。

- L2: 管理者用Webコマンド(DELAUTH、GETSERVERINFO、KILLENGINE、PARSEQUERY、SHOWENV、SHOWJOBS、SHOWMAP、SHOWMYJOBS)も許可されます。管理者コマンドを実行するにはAUTHIDが必要です。

- NO (10gのrwservlet.propertiesのDIAGNOSTIC=NOとの下位互換性を維持するための設定)。Webコマンドは許可されません。

- YES (10gのrwservlet.propertiesのDIAGNOSTIC=YESとの下位互換性を維持するための設定)。管理者用Webコマンド(DELAUTH、GETSERVERINFO、KILLENGINE、PARSEQUERY、SHOWENV、SHOWJOBS、SHOWMAP、SHOWMYJOBS)も許可されます。管理者コマンドを実行するにはAUTHIDが必要です。

ノート:

L2 Webコマンド・アクセスの場合は、authidを渡す必要はありません。authidパラメータは、webcommandaccessの値に関係なくSTOPSERVERコマンドにのみ必要です。

管理者は、エンド・ユーザー用Webコマンドと管理者用Webコマンドの両方を実行できます。セキュアでないReports Serverの場合、管理者のユーザーIDとパスワードを、Reports Server構成ファイルのidentifier要素に設定できます。

Oracle Reports Servlet (rwservlet)構成ファイル(rwservlet.properties)の新しいwebcommandaccessパラメータには、既存のrwservletキーワード(Webコマンド)に対するアクセス・レベルが定義されています。第6.8.4項「Webコマンドのセキュリティ・ポリシーの定義」で説明されているように、Oracle Enterprise Managerを使用してこれらの値を設定できます。

14.12 データベース・プロキシ認証

Oracle Reports 11gリリース2 (11.1.2)では、プロキシ・ユーザーを使用したデータベース認証がサポートされています。

- Oracle Reportsによりデータベースに接続できるユーザーを制御することで、セキュリティが向上します。

- 単一のデータベース接続の再利用によりスケーラビリティが実現されています。

次のいずれかの方法で、Oracle Internet Directory統合の従来型(11g以前)セキュリティ・メカニズムを使用すると、Oracle Platform Security Servicesを使用せずに認証を実行できます。

14.12.1 Oracle Enterprise Managerの使用

Oracle Enterprise Managerで、「レポート」→「管理」→「Reportsセキュリティ・ポリシーの管理」を選択して、Reportsセキュリティ・ポリシー・ページを表示します。

14.12.2 DASの使用とサーバー構成ファイルの編集

ステップ1。Delegated Administration Service (DAS)を使用する場合: DASは、OSSO 10g Serverの使用時にのみOID内にリソースを作成するために使用されます。認証サーバーとしてOAM 11gを使用している場合は、OID内のリソースの作成について、第16.3.3.2項「Oracle Internet Directoryへの入力」の「バッチ・ロード」を参照してください。詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』を参照してください。

Oracle Internet Directoryでユーザーを定義するには:

1. アプリケーションのアイデンティティ・ストアに対するOracle Internet Directoryの構成値を決定します。例:

host:port: stbpo44.oracle.com:3060
user name: cn=orcladmin
password: welcome1

2. 新しいユーザーを追加したり、Oracle Internet Directoryの既存のユーザーを使用する場合は、DAS URLを使用します。次に例を示します。

http://stbpo44.oracle.com:7788/oiddas

ステップ2。RWSecurityを使用してOracle Platform Security Services以外の方法で(10gリリース2 (10.1.2)と同様に)Oracle Internet Directoryを使用できるようにスタンドアロンReport Serverを構成します。

1. Reports Serverコンポーネントにナビゲートします。

2. rwserver.confを確認します。

3. RWSecurity要素を有効にします。

4. job要素のセキュリティIDがRWSecurity要素のセキュリティIDを反映していることを確認します。

5. rwserver.confを保存します。

6. 次の行をrwservlet.propertiesに追加します。

<singlesignon>no</singlesignon>

7. Reports Serverコンポーネントを再起動します(第5章「Oracle Reports Servicesの起動と停止」を参照)。

8. 次のURLを使用して認証をテストします。

http://host:port/reports/rwservlet/showjobs?server=reports_server_name

14.12.3 データベースでのプロキシ・ユーザー認証の構成

データベースで次のようにプロキシ・ユーザー認証を構成できます。

1. データベースにプロキシ・ユーザーを作成します。中間層に接続するすべてのクライアントが、このユーザー接続を共有します。

2. 次のコマンドを実行します。
CREATE USER proxy_user1 IDENTIFIED BY welcome1;

3. 次の最小限の権限をproxy_user1に割り当てます。
GRANT CONNECT, RESOURCE, CREATE ANY DIRECTORY, DROP ANY DIRECTORY TO proxy_user1

実際のユーザーがすでにデータベースに存在します。

4. 実際のユーザーとしてログインし、権限をプロキシ・ユーザーに割り当て、実際のユーザーのかわりにデータベースに接続します。

1. ALTER USER scott GRANT CONNECT THROUGH proxy_user1;

2. または、ロールを定義し、プロキシ・ユーザーがそのロールでデータベースに接続することもできます。

3. ALTER USER scott GRANT CONNECT THROUGH proxy_user WITH ROLE admin;

4. 実際のデータベース・ユーザーすべてに対して、ステップAまたはステップCを繰り返します。

最小限の権限を持つプロキシ・ユーザーが作成されます。ただし、このプロキシ・ユーザーはロールの割り当てられた実際のユーザーとして接続できます。中間層は、まずプロキシ・ユーザーとしてデータベースに接続し、その後プロキシ・ユーザー・アカウントを使用して実際のユーザーとして接続できます。

14.12.4 プロキシ・アクセス情報の取得

ユーザーRADまたはデフォルトのRADのOracle Internet Directoryで新しいリソースを構成できます。このキーを使用して、Oracle Internet Directoryからユーザー名、パスワード、データベース情報などのプロキシ・アクセス情報を取得できます。この情報によりデータベースへの接続が可能です。デフォルトのRADでキーを作成するには、次のステップを実行します。

1. Oracle Internet Directory構成ページ(http://oidhost:port/oiddas)にログインします。

2. 「構成」タブをクリックします。

3. 「プリファレンス」をクリックします。

4. 図14-6に示すように、プリファレンス・ページの「デフォルトのリソース・アクセス情報」の下で、OracleDBタイプの新規リソースを作成します。

図14-6 Oracle Internet Directoryの構成

5. リソースの作成時、「リソース・アクセス情報」セクションで、データベース・プロキシ・ユーザー名、データベース・プロキシ・パスワードおよびデータベース値をそれぞれのフィールドに入力します。
新しいキーが作成され、このキーをdbproxyConnパラメータの値として渡すことができます。プロキシ・ユーザー接続数とそれらのアクセス・レベルは、データベース管理者によって設定されます。

ノート:

OID内のリソースの作成の詳細は、第16.3.3.2項「Oracle Internet Directoryへの入力」の「バッチ・ロード」を参照してください。OTN(http://www.oracle.com/technetwork/middleware/reports/overview/index.html)で提供されているサンプルLDIFを使用してリソースを作成できます。

14.12.5 Reports構成ファイルでの構成設定

データベース・プロキシ機能を使用するには、Reports構成ファイルで構成設定を追加および変更する必要があります。

14.12.5.1 rwserver.conf

rwserver.confファイルで、次のようにdbproxyキーを設定します。

<dbProxyConnKeys>
<dbProxyKey name="key1" database="db1"/>
<dbProxyKey name="key2" database="db2"/>
</dbProxyConnKeys>

この構成はオプションです。dbproxyConnパラメータがコマンドラインで渡されない場合、dbproxyキーはrwserver.confファイルから取得されます。dbproxykeyは、useridコマンドライン・パラメータで指定したデータベースに基づいて、この構成から取得されます。

14.12.5.2 rwservlet.properties

rwservletを使用してデータベース・プロキシ機能を使用するには、rwservlet.propertiesファイルのenabledbproxy設定を次のように編集します。

<enabledbproxy>yes</enabledbproxy>

デフォルトでは、enabledbproxyはnoに設定されています。rwclientの場合、この構成設定は必要ありません。

14.13 下位互換性に対するOracle Portalベース・セキュリティ

11gリリース2 (11.1.2)よりも以前では、Oracle Internet Directoryが認証に使用され、Oracle Portalが認可に使用されていました。11gリリース2 (11.1.2)では、Oracle Platform Security Servicesを使用して認証と認可の両方が実現されます。

下位互換性を保つために、11gリリース2 (11.1.2)では次の項目がサポートされています。

- OracleAS Portal 10gおよびPortal Classic 11gによるセキュリティ:Oracle Enterprise Managerを使用して認可を実行するようOracle Portalを構成できます(詳細は、第6.8.1.1項「Oracle Portalセキュリティへの切替え」を参照)。

- 10g リリース2 (10.1.2)のID管理(IM)で作成されたユーザーおよびグループ

- 非セキュア・モードでのReports Server操作

14.13.1 Oracle Portalで実現されるセキュリティ機能

Oracle Portalでは、Oracle Reports Servicesで使用可能なセキュリティ・オプションが数多く用意されています。これを利用して、適切なユーザーが重要なデータにセキュアにアクセスできるようになります。Oracle Portalのセキュリティ機能を正しく使用することで、ユーザーにはそれぞれに許可されたデータのみが表示されます。

Oracle Portalを使用して、次の制御を行います。

- 各レポートにアクセスできるユーザー

- レポートを実行できる期間

- レポートの実行に使用できるサーバーとプリンタ

- ユーザーが編集できるレポート・パラメータとその値の範囲

Oracle Portalはデータの公開や開発を行うためのブラウザ・ベース型ソリューションで、情報をWeb上に公開してWebベースのデータ駆動型アプリケーションを作成するためのWebベース・ツールを提供します。

Oracle PortalはOracle Reports Servicesと緊密に統合されています。これによって、データを公開するために堅牢でセキュアな環境を構築します。Oracle Portalには、Oracle Reports Servicesのセキュリティを簡単に設定するためのウィザードが用意されています。これには、レポート、Reports Server、プリンタ、出力フォーマットおよびレポート・パラメータに対するユーザー・アクセスをそれぞれ定義するためのウィザードが含まれます。

定義したアクセス制御情報は、Oracle Portalのリポジトリに格納されます。その後、Oracle Portalユーザーとして、登録済のRDFやJSPをOracle Portalページにオプションで公開できます。Oracle Portalの他の機能と同様、Portalを使用してレポートを配布することは必須ではありません。レポートはこれまでどおりコマンドラインにより配布でき、さらにOracle Portalを通じてアクセス制御機能も利用できます。

Oracle Reports Servicesのセキュリティ機能に対するアクセスは、レポート・リンクやレポート内容の公開にPortalを使用しているかどうかに関係しません。Portalを通じて公開しない場合でも、Oracle Portalで使用可能なOracle Reports Servicesセキュリティ機能を利用して、すべてのレポートに対するユーザーのアクセスを制御できます。

Oracle Portalを使用してレポートをポートレットとして公開すると、Oracle ReportsではOracleAS Single Sign-Onが活用されます。これによって、ユーザーは何度もログインする必要がなくなります。つまり、最初にポータルにログインすると、ポータル内でポートレットとして公開されている各レポートにログインする必要がありません。OracleAS Single Sign-Onでログインすると、Oracle Portalによって、すべての登録済ポートレット・プロバイダおよびサブシステムへのログインが自動的に行われます。

詳細は、第15章「Oracle Portalでのレポートの配布」を参照してください。

14.14 セキュリティ・インタフェース

Reports Software Development Kit (RSDK)のSecurity APIにより、独自のセキュリティ・モデルをReports Serverに統合できます。Oracle Reports Servicesでは、用意されているAPIを使用して、必要なセキュリティ機能をプラグインできます。

Security APIによって、次の制御が可能になります。

- 各レポートにアクセスできるユーザー

- レポートを実行できる期間

- レポートの実行に使用できるサーバーとプリンタ

- ユーザーが編集できるレポート・パラメータとその値の範囲

RSDKに含まれるチュートリアルでは、認証情報の格納にXMLファイルを使用して、独自のセキュリティを統合する方法を示しています。このチュートリアルを完了すると、次のことができるようになります。

- Oracle Reports Servicesでのセキュリティ・クラスの実装

- Oracle Reports Servicesでのセキュリティ・クラスの登録

- Oracle Reports Servicesでのセキュリティ・クラスの使用

15 Oracle Portalでのレポートの配布

Oracle Portalにレポートを配布するステップは、11gリリース2 (11.1.2)と以前のリリースでは同じです。ただし、配布の基盤となるセキュリティ・メカニズムは変更されています。下位互換性を確保するために、以前のリリースのOracle Portalのセキュリティ機能を引き続き使用できますが、新しいOracle Platform Security Servicesセキュリティ・メカニズムも選択できます。詳細は、第14章「Oracle Reports Servicesの保護」を参照してください。

この章では、Oracle Portalを使用してOracle Reports Servicesのレポートを配布する方法について説明します。内容は次のとおりです。

- Reportsユーザーおよび名前付きグループの作成

- Oracle Reportsコンポーネントの登録

- レポートのポートレットとしての公開

- トラブルシューティング情報

レポートを配布する前に、Oracle PortalとOracle Reports Servicesの両方がインストールされ構成されていることが必要です。

関連項目:

詳細は、次の内容を参照してください。

- 第7章「Oracle Reports Servicesの構成」には、Oracle Reports Servicesの構成が説明されています。

- Oracle Portal管理者ガイドには、Oracle Portalの構成が説明されています。

- 『Oracle Fusion Middlewareインストレーション・プラニング・ガイド』には、両方のコンポーネントのインストールについて説明されています。

- Oracle Fusion Middlewareのドキュメントが収録されたCD

- Oracle Technology Network(http://www.oracle.com/technetwork/index.html)

15.1 Reportsユーザーおよび名前付きグループの作成

Oracle Portalのセキュリティ機能を使用してレポートへのアクセスを制御する場合は、すべてのReportsユーザーをOracle Internet Directoryに登録し、Oracle Portalによりセキュリティ権限をすべてのユーザーに割り当てる必要があります。

ノート:

LDAP互換ディレクトリにすでに多数のユーザーを入力している場合は、Oracle Internet Directoryの機能を使用してディレクトリ間の同期をとることにより、ユーザーを1人ずつ入力する手間が省けます。Oracle Internet Directoryのディレクトリ統合サーバーの詳細は、Oracle Fusion Middleware Oracle Internet Directory管理者ガイドを参照してください。

Oracle Portalでは、個々のユーザーおよびユーザーの名前付きグループにセキュリティ権限を付与できます。名前付きグループは、アクセス権限を付与する処理を簡素化するために役立ちます。名前付きグループにアクセス権限のセットを割り当てておけば、グループに個別のユーザーを追加するだけで、そのユーザーに権限のセット全体を付与することができます。

ノート:

Oracle Portal Security、Portal Destination、Job Status Repositoryなどの機能を使用すると、Oracle Reports Servicesによって確立されたJDBCデータベース接続がNLS_LANGの初期設定よりも優先されることがあります。これにより、PDFでの双方向出力などの、実行中のレポートの動作に影響が及ぶ場合があります。UNIXプラットフォームでは、環境切替え機能を使用して、レポートの環境を動的に設定することで、この問題を解決できます。詳細は、第7.2.2項「動的な環境切替え」を参照してください。

次の各項では、Oracle Portalでユーザーとグループを作成する方法について概説します。関連する項は、次のとおりです。

- デフォルトのReports関連グループ

- ユーザーとグループの作成

15.1.1 デフォルトのReports関連グループ

Oracle Portalをインストールすると、Reports関連グループが自動的に作成されます。これには次のグループが含まれます。

- RW_BASIC_USER

- RW_POWER_USER

- RW_DEVELOPER

- RW_ADMINISTRATOR

Oracle Portalを通じて、グループのメンバーが特定の機能をレポートで実行できるようにするには、これらのグループに適切な権限を割り当てる必要があります。たとえば、あるグループ(RW_BASIC_USERなど)のメンバーに実行させたいレポート・オブジェクトがある場合は、個々のレポート・オブジェクトの「アクセス」タブから、そのグループに対して実行権限を付与する必要があります。同様に、あるグループ(RW_ADMINISTRATORなど)のメンバーが、Reports Server、プリンタおよびレポートを管理できるようにするには、それらのオブジェクトの「アクセス」タブから、そのグループに対して管理権限を付与する必要があります。

個々のユーザーにオブジェクト権限を割り当てることも可能ですが、レポートにアクセスするすべてのユーザーは、これらのグループまたは独自に作成したグループに所属させることをお薦めします。これらのグループのメンバーでないユーザーがレポートを実行しようとすると、デフォルトでそれらのユーザーに基本ユーザーの権限が割り当てられます。

ノート:

RW_グループは、Oracle Portalを構成すると自動的に作成されますが、手動でも作成できます。WebコマンドがIASADMINSグループに含まれている場合も、そのWebコマンドを実行できます。

次のコマンドは、任意のグループのメンバーが実行できます。

- getfile

- showmyjobs

- killmyjobs

- getjobid

- showjobid

- help

次のコマンドは、RW_DEVELOPERグループのメンバーのみが実行できます。

- showmap

- showenv

- showjobs

- parsequery

RW_ADMINISTRATORグループのメンバーは、任意のコマンドを実行できます。

15.1.1.1 RW_BASIC_USER

セキュリティ・チェックが失敗した場合、RW_BASIC_USERグループのメンバーには、他のOracle Reportsグループのユーザーに比べて簡単なエラー・メッセージが表示されます。たとえば、次のようなメッセージです。

Security Check Error

通常、このグループには最小限の権限を割り当てます。たとえば、レポートを実行する権限のみをRW_BASIC_USERに付与します。

15.1.1.2 RW_POWER_USER

RW_BASIC_USERグループの権限よりも多くの権限が付与されたRW_POWER_USERグループは、基本ユーザーよりも詳細なエラー・メッセージを受け取ります。たとえば、このグループのメンバーに対してHTMLの実行が許可されていない場合にそれを実行しようとすると、次のようなメッセージが表示されます。

Cannot run report to HTML

これは、同じエラーに関してRW_BASIC_USERが受け取るメッセージより詳しく記述されています。

15.1.1.3 RW_DEVELOPER

RW_POWER_USERグループの権限よりも多くの権限が付与されたRW_DEVELOPERグループは、次のWebコマンドを実行してシステム環境を表示できます。

- showmap

- showenv

- showjobs

- parsequery

通常、このグループには、レポートをテストする開発者に必要な権限を割り当てます。インストールによっては、制限付きの管理権限を割り当てることもできます。

15.1.1.4 RW_ADMINISTRATOR

RW_ADMINISTRATORグループには、RW_DEVELOPERグループの権限よりも多くの権限が付与され、Oracle Reports Queue Managerにおいて管理者の機能に対するアクセス権限が与えられます。つまり、サーバーにおいてジョブの再スケジュール、削除、順序変更、およびサーバーの停止を含めて、サーバー・キューを管理できます。RW_ADMINISTRATORグループのメンバーは、任意のコマンドを実行できます。また、RW_ADMINISTRATORグループは、rwservletを使用してWebコマンドを実行する権限も持ちます。

通常、このグループには、PORTAL_ADMINISTRATORSグループに割り当てられる権限の一部を割り当てます。

ノート:

最初は、PORTAL_ADMINISTRATORSグループのメンバーのみがOracle ReportsオブジェクトのMANAGE権限を持ちます。このグループのメンバーは、Oracle Portalに登録されているレポート定義ファイル、サーバー、プリンタの各オブジェクトに対してCREATE、UPDATEおよびDELETEを実行できます。開発ユーザー向けのすべてのリンクに加えて、管理者はOracle Portalでアクセス可能なコンポーネント管理ページの「アクセス」タブにナビゲートできます。ここで管理者は、特定のレポートにアクセスできるユーザーを指定できます。管理者権限を持つユーザーは、他のユーザーにセキュリティ権限を割り当てたり、Oracle Reports Servicesから完全なエラー・メッセージを受け取ることができます。

15.1.2 ユーザーとグループの作成

Oracle Portalは、Oracle Internet DirectoryのDelegated Administration Service (DAS)インタフェースを使用して、Portalにアクセスできるようにユーザーを登録します。Portalを通じて、DASインタフェースから新しいユーザーを作成することができます。ユーザーとグループの新規作成の詳細は、Oracle Fusion MiddlewareのドキュメントCDに収録されているOracle Portal管理者ガイドを参照してください。

グループを作成する際、グループのメンバーが必要な機能をOracle Portalによりレポートで実行できるように、グループに適切な権限を割り当てる必要があります。たとえば、あるグループ(RW_BASIC_USERなど)のメンバーに実行させたいレポート・オブジェクトがある場合は、個々のレポート・オブジェクトの「アクセス」タブから、そのグループに対して実行権限を付与する必要があります。同様に、あるグループ(RW_ADMINISTRATORなど)のメンバーが、Reports Server、プリンタ、カレンダおよびレポートを管理できるようにするには、それらのオブジェクトの「アクセス」タブから、そのグループに対して管理権限を付与する必要があります。

オブジェクトに関して必要な権限をユーザーに付与するには、そのロールに適した権限を持つグループにユーザーを割り当てることが理想的です。たとえば、レポートを実行するだけで管理する必要のないユーザーを作成する場合は、このユーザーをRW_BASIC_USERに割り当てます。必要に応じて、グループのかわりに個々のユーザー(JSMITHなど)にオブジェクト権限を割り当てることもできますが、このアプローチは管理が複雑になり、時間がかかります。

15.1.3 資格証明ストアのPortalパスワード

Oracle Reports 11gリリース2 (11.1.2)は、資格証明ストアを使用し、Portalパスワードをキーとして格納します。また、資格証明ストアを使用して、jobstatusrepository要素およびjobRepository要素のデータベース接続情報を構成することもできます。

ポータル・パスワードは、レポート証明書マップに次の構文のキーで格納されています。

「portalpasswd_DomainName_InstanceName」

ノート:

Portalパスワードを変更する場合には、Reports資格証明ストアのキーの値を更新する必要があります。

15.2 Oracle Reportsコンポーネントの登録

ポートレットにアクセスして、アクセス制御の設定に必要なタスクを実行するには、事前にOracle Portalで十分なレベルの権限を割り当てられていることが必要です。Oracle Portalでレポートを管理するには、PORTAL_ADMINISTRATORSグループとRW_ADMINISTRATORグループの両方に属している必要があります。RW_ADMINISTRATORにのみ属しているユーザーがレポート・オブジェクトを作成しようとすると、エラーが発生します。

Oracle Portalの権限グループへの参加の詳細は、Oracle Portal管理者ガイドを参照してください。

この項では、次の操作に必要なステップについて説明します。

- Reports Serverの登録

- レポートの登録

- プリンタの登録

- 使用可能日カレンダの作成

既存のOracle Portalポートレットで操作を実行する詳細は、次の項を参照してください。

- 「管理」ポートレット

15.2.1 Reports Serverの登録

Reports Serverに対するアクセス制御を定義するには、事前にOracle Portal内でサーバーを登録する必要があります。登録によって、利用可能なすべてのReports Serverを特定して検索するために必要な情報が、Oracle Portalに提供されます。これは、個々のレポートを登録する際に特に重要となります。レポートの登録では、Reports Serverのリストから選択する必要がありますが、登録されているサーバーのみがこのリストに表示されるためです。

表15-1 サンプル値

プロパティ

サンプル値

名前(内部名)

myrep_server

表示名

My Reports Server

Portal DBプロバイダ

PORTAL_APP

Reports Server名

rep_machine_name(rep_myserver1など)

JSPレポート用のOracle Reports WebゲートウェイURL

http://myias.mycomp.com:7778/

RDFレポート用のOracle Reports WebゲートウェイURL

http://myias.mycomp.com:7778/reports/rwservlet

使用可能日カレンダ

COMCAL

Reports Serverを登録するには:

1. Oracle Portalに管理者としてログインします。

2. 「ビルダー」ページにナビゲートします。

3. 「管理」タブをクリックします。

4. 「Oracle Reportsセキュリティ」ポートレットの「Oracle Reportsセキュリティの設定」リンクをクリックします。「Oracle Reportsセキュリティ」ポートレットにより、サーバー、プリンタ、カレンダおよびレポート定義ファイルへのアクセスを定義する際に、Oracle Portalのセキュリティ機能を利用できます。

5. 「Reportsサーバー・アクセス」ポートレットの「Reportsサーバー・アクセスの作成」リンクをクリックします。

6. 表示されるページでは、「名前」(内部名)フィールドと「Portal DBプロバイダ」フィールドにデフォルト値が入力されています。カスタムの値を入力するには:

- 「名前」フィールドに、Reports ServerをOracle Portal内部で一意に識別する名前(MY_REPORTS_SERVERなど)を入力します。この名前は、有効なコンポーネント名に関して次のようなOracle Portalルールに従う必要があります。

- 30文字以下で指定します。

- 英数字のみ使用する(スペースおよび特殊文字は使用不可)。

- 名前の最初は必ず文字で始める(数字は不可)。

- 「表示名」フィールドに、このサーバーの表示名を入力します。この表示名は、Oracle Portalを通じてユーザーに公開されます。

ノート:

内部名とは異なり、表示名にはスペースを含めることができます。

- 「Portal DBプロバイダ」値リストから、Reports Serverの所有者となるポータルDBプロバイダを選択します。このリストには、コンポーネントを作成する権限がある場合に使用できるPortal DBプロバイダが表示されます。

ノート:

Oracle Portalで追加したり作成するコンポーネントはすべて、Portal DBプロバイダに属している必要があります。Portal DBプロバイダの作成方法の詳細は、Oracle Portalのオンライン・ヘルプを参照してください。

7. 「次へ」をクリックします。

8. サーバーの定義ページで、次の作業を行います。

- 「Reportsサーバー名」フィールドに、Reports Serverの名前を入力します。これは、サーバーの作成時にOPMNによりサーバーに割り当てられた一意の名前です。

- (オプション)「説明」フィールドにReports Serverの説明を入力します。

- 「JSPレポート用のOracle Reports WebゲートウェイURL」フィールドに、JSPファイルの位置を示すURLを入力します。URL構文は、次のような形式になります。

http://your_web_server.domain:port/

例:

http://myias.mycomp.com:7779/

- 「RDFレポート用のOracle Reports WebゲートウェイURL」フィールドに、Oracle Reports Servlet (rwservlet)の位置を示すURLを入力します。URL構文は、次のような形式になります。

http://your_web_server.domain:port/virtual_path_to_rwservlet/rwservlet

関連項目:

仮想パスの指定の詳細は、第7章「Oracle Reports Servicesの構成」を参照してください。

例:

http://myias.mycomp.com:7778/reports/rwservlet

- (オプション)「登録されたレポート定義ファイルだけを実行」チェック・ボックスを選択します。これにより、Oracle Portalに登録されているレポート定義ファイルのみがこのReports Serverで実行されるようになります。
このボックスの選択を解除したままにすると、Oracle Portalに登録されていないものも含めてあらゆるレポート定義ファイルをこのReports Serverでは受け付けます。ただし、レポート・リクエストを送信するユーザーが、このReports Serverに対するアクセス権限を持っている場合にかぎられます。

- 「プリンタ」リストから、このReports Serverで使用できるプリンタを選択します。複数のプリンタを選択するには、[Ctrl]を押しながらクリックするか(Windowsの場合)、クリックします(UNIXの場合)。

9. 「次へ」をクリックします。

10. (オプション)カスタムの宛先タイプを定義した場合、「カスタム宛先タイプ」に値を入力します。

関連項目:

カスタムの宛先タイプの詳細は、第12章「Oracle Reports Servicesの宛先の構成」を参照してください。

11. 「次へ」をクリックします。

12. (オプション)このReports Serverでレポート・リクエストを受け付けることができる日時と受け付けることができない日時を指定する使用可能日カレンダ名を入力するか、リスト・ボタンをクリックして使用可能日カレンダを選択します。

関連項目:

第15.2.4項「使用可能日カレンダの作成」

13. 「終了」をクリックします。
このReports Serverに関する設定を要約したページが表示されます。このページでは、設定を編集できます。また、Reports Serverに関して詳細な登録情報を確認したり、設定を完全に削除できます。

関連項目:

「開発」タブ、「管理」タブおよび「アクセス」タブなどの「管理」ポートレットに表示されるフィールドや説明の詳細は、第15.2.5項「「管理」ポートレット」を参照してください。

14. 「閉じる」ボタンをクリックしてこのページを閉じ、「Oracle Reportsセキュリティ」ページに戻ります。

これで、Reports Serverの登録が完了しました。次は、レポートを登録します。

15.2.2 レポートの登録

レポートの登録は必須のステップです。この登録によって、レポートを実行できるユーザー、レポートの実行時間、レポート・リクエストの処理に使用するサーバー、レポートの配布方法、およびレポートの送信先プリンタを定義できます。

登録では、レポートにアクセスできるユーザーを指定するほかに、Oracle Portalパラメータ・フォームによりユーザーとレポートの対話方法も指定できます。

ユーザー・パラメータは、レポートの設計時にOracle Reports Builderで作成します。Oracle Portalでレポートを実行する際に、これらのパラメータに値を割り当てることができます。

ノート:

Oracle Portalを通じて利用できるパラメータ設定を使用して、設計時にOracle Reports Builderで定義したパラメータのサブセットの複製や作成ができます。設計時にOracle Reports Builderで定義されなかったパラメータは、Oracle Portaで設定しても、実行時にReports Serverによって無視されます。

Oracle Portal内でレポートを登録すると、Oracle Portalコンポーネントが作成されます。これは、Portalを通じてポートレットとして展開できます。Oracle Portalでは、レポート・ファイルのインスタンスを1つだけ登録することをお薦めします。1つのレポートに複数のOracle Portalレポート・オブジェクトを定義すると、実行時にそれらのすべてのオブジェクトがセキュリティ・チェックを受けます。このうち1つでもセキュリティ・チェックに合格しなかった場合は、すべてのオブジェクトが不合格となり、ジョブは実行されません。

表15-2 サンプル値

プロパティ

サンプル値

名前(内部名)

Employee_Report

表示名

Employee Report

Portal DBプロバイダ

PORTAL_APP

Oracle Reportsファイル名

employee_report.jsp

実行

JSPとして

名前(オプションのパラメータ)

userid

表示名(オプションのパラメータ)

User Identification

レポートを登録するには:

1. Oracle Portalに管理者としてログインします。

2. 「ビルダー」ページにナビゲートします。

3. 「管理」タブをクリックします。

4. 「Oracle Reportsセキュリティ」ポートレットの「Oracle Reportsセキュリティの設定」リンクをクリックします。

5. 「Reportsレポート定義ファイル・アクセス」ポートレットの「Reportsレポート定義ファイル・アクセスの作成」リンクをクリックします。

6. 表示されるページでは、「名前」(内部名)フィールドと「Portal DBプロバイダ」フィールドにデフォルト値が入力されています。カスタムの値を入力するには:

- 「名前」フィールドに、レポートをOracle Portal内部で一意に識別する名前(MY_REPORTなど)を入力します。この名前は、有効なコンポーネント名に関して次のようなOracle Portalルールに従う必要があります。

- 30文字以下で指定します。

- 英数字のみ使用する(スペースおよび特殊文字は使用不可)。

- 名前の最初は必ず文字で始める(数字は不可)。

- 「表示名」フィールドに、このレポートの表示名を入力します。この表示名は、Oracle Portalを通じてユーザーに公開されます。

ノート:

内部名とは異なり、表示名にはスペースを含めることができます。

- 「Portal DBプロバイダ」値リストから、Reports Serverの所有者となるポータルDBプロバイダを選択します。このリストには、コンポーネントを作成する権限がある場合に使用できるPortal DBプロバイダが表示されます。

ノート:

Oracle Portalで追加したり作成するコンポーネントはすべて、Portal DBプロバイダに属している必要があります。Portal DBプロバイダの作成方法の詳細は、Oracle Portalのオンライン・ヘルプを参照してください。

7. 「次へ」をクリックします。

8. 次のように情報を入力または選択します。

- 「Reportsサーバー」値リストから、このレポートの実行に使用できるReports Serverを選択します。複数のサーバーを選択するには、[Ctrl]を押しながらクリックするか(Windowsの場合)、クリックします(UNIXの場合)。

- 「Oracle Reportsファイル名」フィールドに、レポート・ファイル名を、その拡張子も含めて入力します。
レポート定義ファイルは、.rdfファイル、.jspファイル、.xmlファイルのいずれかです。このファイルへのパスがREPORTS_PATH環境変数に含まれている場合は、ここでパスを入力しないでください。パスがREPORTS_PATH環境変数に含まれていない場合は、ここでファイル名とともにパスを入力します。この作業は、スタンドアロンのJSPとして実行するものを除くすべてのレポート定義ファイルに対して実行します。JSPの場合は、virtual_path/reportname.jspのように名前を定義する必要があります。

関連項目:

- Oracle Reports関連の環境変数の詳細は、付録B「環境変数」を参照してください。

- 仮想パスの指定の詳細は、第7章「Oracle Reports Servicesの構成」を参照してください。

- (オプション)「説明」フィールドにこのレポートの説明を入力します。

- 「実行」フィールドで、「サーブレットを使用」または「JSPとして」のいずれかを選択します。ここでの選択は、次のウィザード・ページの選択肢に影響します。

- サーブレットを使用: Oracle Reports Servlet (rwservlet)を介してレポートを実行する場合に選択します。

- JSPとして: 配布されたJSPレポートを実行する場合に選択します。

9. 「次へ」をクリックします。

10. 「必須パラメータ」ページで宛先の設定を選択します。これらの設定は、Oracle Reports Servlet (rwservlet)を介してレポートを実行する場合にのみ適用されます。[Ctrl]を押しながらクリックして複数選択を指定した箇所では、実行時に値リストがユーザーに表示され、その中からユーザーが各自のランタイム情報を選択できるようになります。

- 「タイプ」では、このレポートで受け付ける宛先タイプを指定します。キャッシュ、ファイル、メール、Oracle Portal、Oracle Wireless、プリンタ、FTP、WebDAVまたはカスタム宛先タイプの中から宛先タイプを選択します。Oracle PortalでReports Serverを登録するときに指定したカスタム宛先タイプが、このレポートに関連付けるサーバーでサポートされている場合は、指定したタイプがこのリストに表示されます。

- 「フォーマット」では、このレポートで受け付ける出力フォーマットを定義します。HTML、HTMLCSS、PDF、XML、RTF、デリミタ付き、スプレッドシート、PostScript、および文字の中から選択します。

- 「プリンタ」では、このレポートを送信できる登録済プリンタを指定します。このリストに表示されるプリンタは、このレポートに関連付けるReports Serverへのアクセスを設定する際に選択したプリンタによって決まります。ユーザーがランタイム・パラメータ・フォームでReports Serverを選択する場合は、選択したReports Serverに関連付けられているプリンタおよびそのユーザーがアクセスできるプリンタのみが表示されます。

11. 「パラメータ・フォーム・テンプレート」を選択して「テンプレートのプレビュー」をクリックし、選択したテンプレートの外観を確認します。

- 「パラメータ・フォーム・テンプレート」では、レポートを実行する際に使用するPortalパラメータ・フォームのルック・アンド・フィールを定義するテンプレートを指定します。この値は、レポートがPortalを通じて公開される場合のみ使用されます。テンプレートは値リストから選択します。

ノート:

このリストに独自のテンプレートを追加する方法については、Oracle Portalのオンライン・ヘルプを参照してください。

12. 「次へ」をクリックします。

13. 「オプションのパラメータ」ページで、レポートの既存のパラメータに対する制限を定義します。

- 「名前」フィールドに、ユーザーが指定できる値を制限するシステム・パラメータまたはユーザー・パラメータの名前を入力します。たとえば、SALES_REGIONやCOPIESなどを入力します。

- システム・パラメータまたはユーザー・パラメータの表示名を入力します。この名前は、ランタイム・パラメータ・フォームでパラメータを識別するために使用されます。

- 値リストの名前を入力するか、または事前に定義された値リストから値を選択します。このリストは事前に作成しておく必要があります。値リストの作成については、Oracle Portalのオンライン・ヘルプを参照してください。

- 「下限」フィールドに、値の範囲に対して設定する下限値を入力します。

- 「上限」フィールドに、値の範囲に対して設定する上限値を入力します。

- パラメータと値を追加するために行を増やす場合は、「パラメータ追加」をクリックします。

14. 「次へ」をクリックします。

15. (オプション)使用可能日カレンダ名を入力するかリスト・ボタンをクリックして、既存の使用可能日カレンダを選択します。
使用可能日カレンダを使用して、このレポートを実行できる日時を制限します。

関連項目:

第15.2.4項「使用可能日カレンダの作成」

16. 「次へ」をクリックします。

17. (オプション)検証トリガーを入力してプログラムによる制限を作成します。
検証トリガーは、条件付き制限を作成するために使用されます。条件付き制限とは、「必須パラメータ」ページにも「オプションのパラメータ」ページにも定義できない制限です。検証トリガーはPL/SQLファンクションです。

検証トリガーとして指定するファンクションは、ブール値(TRUEまたはFALSE)を返す必要があります。ファンクションがTRUEを返した場合は、ジョブが実行されます。ファンクションがFALSEを返した場合は、エラー・メッセージが表示され、ジョブは実行されません。

18. 「終了」をクリックして、ウィザードを閉じ、レポートの登録を完了します。
結果のページには、登録情報の要約が表示されます。このページで、レポートに追加操作を実行するかどうかを選択できます。

関連項目:

Oracle Portalからレポートを実行する方法の詳細は、第15.3項「レポートのポートレットとしての公開」を参照してください。

19. 「アクセス」タブをクリックして、「ポートレットとして公開」を選択します。これにより、レポートがポートレット・リポジトリに追加されるので、このレポートをページに追加してポートレットとして公開できます。

20. レポートのランタイム・パラメータ・フォームを表示するには、「カスタマイズ」をクリックします。
表15-3では、このページで指定可能なオプションをまとめています。

表15-3 ランタイム・パラメータ・フォームのオプション

オプション

説明

レポート実行

指定したパラメータ値でこのレポートを実行する場合にクリックします。

パラメータの保存

パラメータ値の選択内容を保存する場合にクリックします。

サーバー

このレポート・リクエストを受け取るOracle Reports Serverを選択します。レポートの登録時に選択したサーバーのみが、このリスト・ボックスに表示されます。

プリンタ

レポート出力を印刷するプリンタを選択します。レポートの登録時に選択したプリンタのみが、このリスト・ボックスに表示されます。

Destype

宛先タイプを選択します。レポートの登録時に選択した宛先タイプのみが、このリスト・ボックスに表示されます。

Desformat

宛先フォーマットを選択します。レポートの登録時に選択した宛先フォーマットのみが、このリスト・ボックスに表示されます。

Desname

DESTYPEがFILEの場合は出力ファイルの名前を入力し、DESTYPEがMAILの場合は電子メール・アドレスを入力します。複数のアドレスはカンマで区切ります。宛先名は、DESTYPEにFILEまたはMAILを選択した場合に必要となります。

SSOCONN

1つ以上のSingle Sign-On接続文字列を入力します。複数の文字列は、スペースではなくカンマで区切ります。SSOCONNの詳細は、第16.3.3.1項「SSOCONN」を参照してください。

ユーザーに表示

ユーザーがこのレポート・リクエストを実行するときにランタイム・パラメータ・フォームに表示する各パラメータをチェックします。ボックスをチェックしないパラメータは、ユーザーに表示されません。

Servletコマンド・キー

オプションで、このレポートに対して実行するコマンドラインを識別するcgicmd.datキー・マップ・ファイルを入力します(詳細は、第17.13項「キー・マップ・ファイルの使用」を参照)。

ポートレットの幅

このフィールドは、ポートレットの幅を制御するために使用します。ページの割合(90%など)またはピクセル(700など)で値を入力できます。

値を指定しない場合、Oracle Reports Servicesではデフォルト値(幅が640ピクセル)が使用されます。

ポートレットの高さ

このフィールドは、ポートレットの高さを制御するために使用します。ページの割合(50%など)またはピクセル(400など)で値を入力できます。

値を指定しない場合、Oracle Reports Servicesではデフォルト値(高さが320ピクセル)が使用されます。

追加されたユーザー・パラメータ

このフィールドは、追加のユーザー・パラメータを入力するために使用します。たとえば、このフィールドを使用して、このレポートの配布方法を定義する配布XMLファイルのパスと名前を入力します。

コマンドライン・リクエストまたはcgicmd.datキー・マップ・ファイルにこれらの値を指定するときに使用するものと同じ構文を使用します(詳細は、第17.13項「キー・マップ・ファイルの使用」を参照)。複数の追加パラメータを入力する場合は、各エントリをスペースで区切るだけです。

XMLファイルの配布の詳細は、第19章「拡張配布の作成」を参照してください。

15.2.3 プリンタの登録

Oracle Portalのセキュリティ・フレームワークの中では、プリンタを登録する必要はありません。レポートは、Reports Serverで利用できるすべてのプリンタで実行できます。ただし場合によっては、Oracle Portalユーザーをそれらのプリンタのサブセットに制限したり、一定期間プリンタの使用を制限したり、特定のレポートの出力を印刷するために使用する特別なプリンタを識別することが必要になります。

Oracle Portalへのプリンタの登録は、Oracle Portalを通じて実行するレポートだけでなく、スタンドアロンのURLから実行するレポートにも意味があります。

Oracle Portal内に登録したプリンタは、Reports Serverに関連付けることができます。多数のプリンタを登録できます。ただし、Oracle Portalにレポートを登録し、特定のReports Serverを選択する場合は、それらのReports Serverに関連付けられているプリンタのみを印刷に使用できます。

登録されたレポートを送信できるプリンタの登録済サブセットを、さらに制限することができます。たとえば、Reports Serverが最高経営責任者のオフィスのプリンタに接続されている場合は、最高経営責任者以外の従業員が総勘定元帳レポートを実行する際に、そのプリンタを選択できないようにする必要があります。レポート・リクエストを実行するOracle Portalユーザーに対してプリンタのサブセットを一覧表示し、出力の送信先を選択させることができます。

表15-4 サンプル値

プロパティ

サンプル値

名前(内部名)

myrep_printer

表示名

My Reports Printer

Portal DBプロバイダ

PORTAL_APP

OSプリンタ名

\\mydomain\printer1

使用可能日カレンダ

COMCAL

プリンタを登録するには:

1. Oracle Portalに管理者としてログインします。

2. 「ビルダー」ページにナビゲートします。

3. 「管理」タブをクリックします。

4. 「Oracle Reportsセキュリティ」ポートレットの「Oracle Reportsセキュリティの設定」リンクをクリックします。「Oracle Reportsセキュリティ」ポートレットにより、サーバー、プリンタ、カレンダおよびレポート定義ファイルへのアクセスを定義する際に、Oracle Portalのセキュリティ機能を利用できます。

5. 「レポート・プリンタ・アクセス」ポートレットの「レポート・プリンタ・アクセスの作成」リンクをクリックします。

6. 表示されるページでは、「名前」(内部名)フィールドと「Portal DBプロバイダ」フィールドにデフォルト値が入力されています。カスタムの値を入力するには:

- 「名前」フィールドに、プリンタをOracle Portal内部で一意に識別する名前(MY_PRINTERなど)を入力します。この名前は、有効なコンポーネント名に関して次のようなOracle Portalルールに従う必要があります。

- 30文字以下で指定します。

- 英数字のみ使用する(スペースおよび特殊文字は使用不可)。

- 名前の最初は必ず文字で始める(数字は不可)。

- 「表示名」フィールドに、このプリンタの表示名を入力します。この表示名は、Oracle Portalを通じてユーザーに公開されます。

ノート:

内部名とは異なり、表示名にはスペースを含めることができます。

- 「Portal DBプロバイダ」値リストから、プリンタの所有者となるポータルDBプロバイダを選択します。このリストには、コンポーネントを作成する権限がある場合に使用できるPortal DBプロバイダが表示されます。

ノート:

Oracle Portalで追加したり作成するコンポーネントはすべて、Portal DBプロバイダに属している必要があります。Portal DBプロバイダの作成方法の詳細は、Oracle Portalのオンライン・ヘルプを参照してください。

7. 「次へ」をクリックします。

8. 表示されたページで、必要な値を入力します。

- 「OSプリンタ名」フィールドに、オペレーティング・システムのプリンタ名を入力します。例:

UNIX: printer_name

Windows: \\printer_server\printer_name (for a remote printer)
printer_name (for a local printer)

このプリンタは、Reports Serverで利用できる必要があります。

ノート:

プリンタの可用性は、Report Serverのホスト・マシンからオペレーティング・システムを通じて設定します。

- (オプション)「説明」フィールドにプリンタの説明を入力します。

9. 「次へ」をクリックします。

10. (オプション)使用可能日カレンダを選択してプリンタが使用可能な日時を制限します。

関連項目:

第15.2.4項「使用可能日カレンダの作成」

11. 「終了」をクリックします。
このプリンタに関する設定を要約したページが表示されます。このページでは、設定を編集できます。また、プリンタに関する詳細な登録情報を確認したり、設定を完全に削除することができます。

関連項目:

「開発」タブ、「管理」タブおよび「アクセス」タブなどの「管理」ポートレットに表示されるフィールドや説明の詳細は、第15.2.5項「「管理」ポートレット」を参照してください。

12. 「閉じる」をクリックしてこのページを閉じ、Oracle Portalの「Oracle Reportsセキュリティ」ページに戻ります。

これで、Oracle Portalへのプリンタの登録が完了しました。この登録は、Oracle Portalを通じて実行されるレポートだけでなく、Oracle Portalの外部から実行されるレポートにも意味があります。

15.2.4 使用可能日カレンダの作成

使用可能日カレンダの定義はオプションのステップで、レポート、サーバーおよびプリンタにアクセスできる時間とできない時間を指定することにより、これらへのアクセスをさらに制限できます。レポート、Reports Serverおよびプリンタがいつでも利用可能であれば、使用可能日カレンダは不要です。

この項では、次の項目について説明します。

- シンプルな使用可能日カレンダの作成

- 結合された使用可能日カレンダの作成

レポート、Reports Serverまたはプリンタに関連付けることができる使用可能日カレンダは1つのみです。本番環境で複数の使用可能日ルールが必要な場合は、使用可能日カレンダを結合できます。

15.2.4.1 シンプルな使用可能日カレンダの作成

シンプルな使用可能日カレンダは、1つの使用可能日ルールを定義したものです(たとえば、日曜日から土曜日の午前12:00から午後10: 00など)。

シンプルな使用可能日カレンダを作成するには:

1. Oracle Portalに管理者としてログインします。

2. 「ビルダー」ページにナビゲートします。

3. 「管理」タブをクリックします。

4. 「Oracle Reportsセキュリティ」ポートレットの「Oracle Reportsセキュリティの設定」リンクをクリックします。

5. 「Oracle Reportsセキュリティ」ページで、「レポート・カレンダ・アクセス」ポートレットの「レポート・シンプル・カレンダ・アクセスの作成」リンクをクリックします。

6. 表示されるページでは、「名前」(内部名)フィールドと「Portal DBプロバイダ」フィールドにデフォルト値が入力されています。カスタムの値を入力するには:

- 「名前」フィールドに、使用可能日カレンダをOracle Portal内部で一意に識別する名前(MY_CALENDARなど)を入力します。この名前は、有効なコンポーネント名に関して次のようなOracle Portalルールに従う必要があります。

- 30文字以下で指定します。

- 英数字のみ使用する(スペースおよび特殊文字は使用不可)。

- 名前の最初は必ず文字で始める(数字は不可)。

- 「表示名」フィールドに、この使用可能日カレンダがOracle Portalを通じて公開される際に表示されるカレンダ名を入力します。内部名とは異なり、表示名にはスペースを含めることができます。

- プロバイダの値リストから「Portal DBプロバイダ」を選択します。Oracle Portalで追加したり作成されるコンポーネントはすべて、Portal DBプロバイダに属している必要があります。このリストには、コンポーネントを作成する権限がある場合に使用できるプロバイダの名前のみが表示されます。

ノート:

Portal DBプロバイダの作成については、Oracle Portalのオンライン・ヘルプを参照してください。

7. 「次へ」をクリックします。

8. オプションとして、「説明」にカレンダの説明を入力できます。

9. 「次へ」をクリックします。

10. 「使用可能日時」ページで、カレンダのパラメータを定義します。
「期間」には、1単位の継続期間を構成する時間の長さを指定します。たとえば、レポートのアクセスを、任意の日の午前9:00から午後5:00まで許可するカレンダを設定するとします。この場合、月、日および年については「開始」と「終了」の設定が同じになりますが、時間と分については、「開始」の設定が午前9:00、「終了」の設定が午後5:00になります。この例では、任意の日におけるレポートの使用可能期間が、午前9:00から午後5:00になります。

「繰返し」には、継続期間が繰り返される頻度を指定します。

- 「一度のみ繰返し」は、継続期間が繰り返されず、期間が終了すると関連するコンポーネントが利用できなくなることを意味します。たとえば、「一度のみ繰返し」を選択し、1年の継続期間を設定した場合は、1年後に関連コンポーネントが利用できなくなります。

- 「毎年」は、継続期間が毎年繰り返されることを意味します。「毎年」を選択し、「期間」の設定で、開始と終了の日付を同じにして、「開始」時間を午前9:00、「終了」時間を午後5:00に設定した場合は、この使用可能日カレンダに関連付けられているReportsコンポーネントが毎年同じ日の午前9:00から午後5:00に利用可能となります。

- 「毎月」は、「期間」に指定された「開始」と「終了」の日付で表される継続期間が毎月繰り返されることを意味します。「毎月」を選択し、「開始」と「終了」の両方に同じ年と日付(例: 2001年7月25日)を指定し、「開始」時間を午前9:00、「終了」時間を午後5:00に設定した場合、関連コンポーネントが毎月25日の午前9:00から午後5:00に利用可能となります。

- 日付/曜日毎の設定は、「毎月」にのみ適用されます。日付/曜日毎では、継続期間が特定の日付で設定されるか(たとえば、月の25から29日は常に利用可能とするなど)、または特定の曜日で設定されるか(たとえば、月曜から金曜は常に利用可能とするなど)を指定します。

- 「毎週」は、「期間」に指定された曜日の期間が毎週繰り返されることを意味します。

- 「毎日」は、「期間」に指定された時間が、毎日繰り返されることを意味します。

- 「頻度」には、繰返し間隔n(「繰返し」で選択した値に応じて、年数、月数、週数、日数を表す)の値を指定します。たとえば、毎週繰り返すように継続期間を設定し、「頻度」を2に設定すると、継続期間が2週ごとに(つまり隔週)繰り返されます。

- オプションで、「繰返し期限」をチェックして、カレンダの終了日時を割り当てます。これによって、「繰返し期限」の日時に、すべての関連コンポーネントが利用できなくなります。

ノート:

カレンダでは妥当性チェックが実行されません。継続期間が繰返しの設定を超過しても、エラー・メッセージは生成されません。たとえば、10日間の継続期間を設定し、繰返しを毎週に設定した場合は、期間が重複しますが、ユーザーにはその重複が通知されません。

11. 「次へ」をクリックします。

12. 「サマリー」ページで「カレンダの表示」ボタンをクリックして、設定した使用可能日カレンダをプレビューします。設定を変更する場合は、「前へ」ボタンをクリックして変更を加えます。

13. 「サマリー」ページで「終了」をクリックして、使用可能日カレンダの作成を完了します。
このカレンダに関する設定を要約したページが表示されます。このページでは、設定を編集できます。また、カレンダに関する詳細な情報を確認したり、設定を削除することができます。

14. 「閉じる」をクリックしてこのページを閉じ、Oracle Portalの「Oracle Reportsセキュリティ」ページに戻ります。

このカレンダは、他のカレンダと結合することも、登録されているOracle Reports Servicesコンポーネントにそのまま適用することもできます。

15.2.4.2 結合された使用可能日カレンダの作成

結合された使用可能日カレンダは、複数の使用可能日カレンダを結合して1つの使用可能日カレンダにしたものです。これは、使用可能期間を設定した後に、その期間から特定の日(休日など)を除外する場合に便利です。

カレンダを結合する際に、一方のカレンダのすべての日から、もう一方のカレンダのすべての日を除外するように指定できます。たとえば、あるカレンダでは月曜から金曜が使用可能日であり、別のカレンダでは水曜日のみが使用可能日であるとします。この2つのカレンダを結合し、その際に水曜日のカレンダを除外することで、結合されたカレンダでは月曜、火曜、木曜、金曜が使用可能日となります。

あるいは、年全体で平日を使用可能日とするシンプルなカレンダを作成し、その後で新年の休暇を除外するカレンダ、その次の休暇を除外するカレンダ、さらにその次の休暇を除外するカレンダなどのシンプルなカレンダを追加します。これらすべてのカレンダを結合し、休暇のカレンダすべてを除外することで、コンポーネントは年間を通じて会社営業日のある一定時間のみ利用可能となります。

使用可能日カレンダを結合するには:

1. Oracle Portalに管理者としてログインします。

2. 「ビルダー」ページにナビゲートします。

3. 「管理」タブをクリックします。

4. 「Oracle Reportsセキュリティ」ポートレットの「Oracle Reportsセキュリティの設定」リンクをクリックします。

5. 「Reportsカレンダ・アクセス」ポートレットの「Reportsの結合されたカレンダ・アクセスの作成」リンクをクリックします。

6. カレンダの内部名、表示名およびポータルDBプロバイダを指定します。

- 「名前」フィールドに、結合された使用可能日カレンダをOracle Portal内部で一意に識別する名前(MY_COMBINED_CALENDARなど)を入力します。この名前は、有効なコンポーネント名に関して次のようなOracle Portalルールに従う必要があります。

- 30文字以下で指定します。

- 英数字のみ使用する(スペースおよび特殊文字は使用不可)。

- 名前の最初は必ず文字で始める(数字は不可)。

- 「表示名」フィールドに、この結合された使用可能日カレンダの表示名を入力します。この表示名は、Oracle Portalを通じてユーザーに公開されます。

ノート:

内部名とは異なり、表示名にはスペースを含めることができます。

- プロバイダの値リストから「Portal DBプロバイダ」を選択します。Portalで追加または作成するコンポーネントは、すべてポータルDBプロバイダに属している必要があります。このリストには、コンポーネントを作成する権限がある場合に使用できるプロバイダの名前のみが表示されます。

ノート:

Portal DBプロバイダの作成については、Oracle Portalのオンライン・ヘルプを参照してください。

7. 「次へ」をクリックします。

8. (オプション)「説明」フィールドに使用可能日カレンダの説明を入力します。

9. 「次へ」をクリックします。

10. 「選択」ページで、「使用可能日カレンダ」リストの中から結合するカレンダを選択します。カレンダは、表示名ではなく内部名で表示されます。複数のカレンダを選択するには、[Ctrl]を押しながらクリックするか(Windowsの場合)、クリックします(UNIXの場合)。
このページに表示されるのは、結合された使用可能日カレンダの作成で使用するポータルDBプロバイダに対してすでに定義されている使用可能日カレンダです。

11. 右矢印をクリックして、選択したカレンダを「選択された使用可能日カレンダ」リストに移動します。

12. 「次へ」をクリックします。

13. 「除く」ページで、「使用可能日カレンダ」リストの中から除外する日付を含んだカレンダを選択します。複数のカレンダを選択するには、[Ctrl]を押しながらクリックするか(Windowsの場合)、クリックします(UNIXの場合)。
これらのカレンダには、使用可能日の指定を取り消す日付が含まれています。

14. 右矢印をクリックして、選択したカレンダを「除外された使用可能日カレンダ」リストに移動します。

15. 「次へ」をクリックします。

16. 「サマリー」ページで、「カレンダの表示」ボタンをクリックして、設定したカレンダをプレビューします。
除外した箇所が示されていない場合は、別のビューを選択します。たとえば、月のビューのかわりに週のビューを選択します。

結合を変更する場合は、カレンダを閉じ、目的のページに戻るまで「前へ」ボタンをクリックします。

17. 「終了」をクリックして、結合されたカレンダの作成を完了します。
このカレンダに関する設定を要約したページが表示されます。このページでは、設定を編集できます。また、カレンダに関する詳細な情報を確認したり、設定を削除することができます。

関連項目:

「開発」タブ、「管理」タブおよび「アクセス」タブなどの「管理」ポートレットに表示されるフィールドや説明の詳細は、第15.2.5項「「管理」ポートレット」を参照してください。

18. 「閉じる」をクリックしてこのページを閉じ、Oracle Portalの「Oracle Reportsセキュリティ」ページに戻ります。

このカレンダは、他のカレンダと結合することも、登録されているOracle Reports Servicesコンポーネントにそのまま適用することもできます。

15.2.5 「管理」ポートレット

既存のOracle Portalポートレットに対して、実行、編集、コピー、削除または関連情報の表示などの操作を行うには、「管理」ポートレットのページを使用します。

ポートレットに対して実行できる操作は、権限によって異なります。また、ここに記載されているすべての操作を、すべてのポートレットに対して実行できるわけではありません。ページの左上に、これらの操作を実行できるポートレットの名前が表示されます。

表15-5では、「開発」タブに表示されるフィールドについて詳しく説明しています。

表15-5 「開発」タブ

フィールド

説明

(ポートレットのタイプおよび名前)

ポートレットのタイプと名前を表示します。例:

フォーム(表) my_form

これは、my_formという表に基づくフォームを表しています。

プロバイダ

ポートレットが作成されたプロバイダの名前を表示します。

バージョン状態(一部のポートレットには適用不可)

ポートレットのすべてのバージョンと、各バージョンの現行の状態を表示します。ポートレットのバージョンを編集する場合はステータスをクリックします。

ノート: ハイパーリンクがない場合、そのポートレットを編集する権限がありません。

最終更新

ポートレットを作成したユーザーまたは最後に編集したユーザーの名前と、ポートレットが作成された日時または最後に編集された日時を表示します。

実行リンク(一部のポートレットには適用不可)

ポートレットを実行して表示するプロシージャのURLを表示します。このURLをコピーし、別のWebページに貼り付けて、このポートレットへのリンクを作成できます。

ノート: パラメータを指定せずにポートレットを実行するプロシージャには、.showという接尾辞が付いています。パラメータを指定してポートレットを実行するプロシージャには、.show_parmsという接尾辞が付いています。

PL/SQLソース(一部のポートレットには適用不可)

「ポートレット・ビルダー」ウィザードによって、各ポートレットを表すPL/SQLパッケージが作成されます。

パッケージ仕様: ポートレットのPL/SQL仕様を表示します。

パッケージ本体: ポートレットのPL/SQL本体を表示します。

コール・インタフェース(一部のポートレットには適用不可)

ポートレットで実行時にエンド・ユーザーが変更できる引数を表示するには、「表示」をクリックします。PL/SQLストアド・プロシージャおよびURLを介してポートレットをコールするサンプルも表示されます。PL/SQLで、またはURLからコールすることによって、ポートレットが格納されたパッケージを実行する場合、異なる引数を受け付けるようにコール・インタフェースを編集できます。

ノート: ポートレットのソース・コードを表示するには、ポートレットまたはそのポートレットを所有するプロバイダに対するカスタマイズ権限または実行権限が必要です。

データ・リンクの編集(一部のポートレットには適用不可)

データが格納されたURLに接続し、そのデータを表示したり編集する場合にクリックします。

編集

ポートレットの最新バージョンを編集する場合にクリックします。たとえば、ポートレットの基になっている表の列の再選択、ポートレットに表示されるフィールドやテキストの変更、または新しいルック・アンド・フィールの選択を行うことができます。

新規として編集

このポートレットの新しいバージョンを作成して編集する場合にクリックします。既存のポートレットのバージョンは変更されません。

データの編集(一部のポートレットには適用不可)

スプレッドシートを表示し、その中のデータを編集する場合にクリックします。

実行

ポートレットの現在の本稼動バージョンを実行する場合にクリックします。

ノート: ポートレットの有効なパッケージがない場合、ポートレットは実行されません。

ポートレットとして実行

ポータル・ウィンドウにおけるポートレットの外観を表示します(フル・ページ表示とは異なる場合があります)。

カスタマイズ

ポートレットのカスタマイズ・フォームを表示する場合にクリックします。カスタマイズ・フォームを使用すると、ポートレットの表示に使用する値を指定できます。

ノート: 現在のポートレットがフォームである場合、このページには「カスタマイズ」ではなく「ブラウズ」が表示されます。

お気に入りに追加

Oracle Portalホーム・ページの「お気に入り」リストにポートレットを追加する場合にクリックします。

情報

ポートレットに対して格納されている属性を表示します。

削除

データベースからポートレットを削除する場合にクリックします。

表15-6では、「管理」タブに表示されるフィールドについて詳しく説明しています。

表15-6 「管理」タブ

フィールド

説明

SQL問合せ情報を表示する/SQL問合せ情報を非表示にする(一部のポートレットには適用不可)

デバッグを目的として、ポートレットを実行する際にSQL問合せを表示するか非表示にするかを選択します。

このポートレットのロックを表示(一部のポートレットには適用不可)

ポートレットで現在アクティブなロック(他のユーザーが編集している場合など)を表示します。

エクスポート

データベースからポートレットをエクスポートする場合にクリックします。

コピー

データベースからポートレットをコピーする場合にクリックします。

改名

(同じプロバイダ内で)ポートレットの名前を変更する場合にクリックします。

生成

PL/SQLパッケージをコンパイルする場合にクリックします。

監視

ポートレットに関するすべてのリクエストとそのリクエストを作成したユーザーのチャートを表示する場合にクリックします。

表15-7、表15-8、表15-9、表15-10、表15-11、表15-12および表15-13では、「アクセス」タブに表示されるフィールドとその説明について詳しく説明しています。

表15-7 Portalアクセス

フィールド

説明

ポートレットとして公開(一部のポートレットには適用不可)

ポートレットを1つのポートレットとして使用可能にする場合にクリックします。

ノート: ポートレットを1つのポートレットとして公開するには、ポートレットの公開権限が必要です。またアクセス・プロバイダ・ページ(「管理」タブ)の「プロバイダとして公開」で、そのポートレットを所有するプロバイダを使用可能にする必要があります。

表15-8 権限モード

フィールド

説明

プロバイダから権限を継承

プロバイダのアクセス権限によってポートレットのアクセス権限をオーバーライドする場合は、これを選択します。

ポートレットのアクセス権限によってプロバイダのアクセス権限がオーバーライドされるようにするには、チェック・ボックスをクリアし、「適用」をクリックします。「アクセス権限の付与」セクションでは、様々なユーザーやグループについて、ポートレットのアクセス権限(管理、編集、表示、カスタマイズ、実行など)を付与したり削除することができます。

ノート: ユーザーやグループにポートレットのアクセス権限を付与するには、ポートレットまたはそのポートレットを所有するプロバイダに対する管理アクセス権限が必要です。

表15-9 アクセス権限の付与

フィールド

説明

ユーザー/ロール

プロバイダのアクセス権限を付与するユーザーまたはグループを入力します。

実行

付与する権限を選択します。

追加

プロバイダのアクセス権限を付与する場合にクリックします。

表15-10 アクセス権限の変更

フィールド

説明

ユーザー/ロール

権限が割り当てられているOracle PortalユーザーまたはOracle Portalグループを表示します。クリック・エラー。不明なスイッチ引数です。すべての権限を削除するには、「ユーザー/ロール」の横をクリックします。すべてのOracle Portalユーザーに権限を付与する場合は、「ユーザー/ロール」として「パブリック」を選択します。

タイプ

ユーザー/ロールがOracle PortalユーザーまたはOracle Portalグループのどちらであるかを表示します。

権限

現在付与されている権限を表示します。権限を変更するには、新しい権限を選択して「適用」をクリックします。

表15-11 セルの権限モード

フィールド

説明

ポートレットから権限を継承

(一部のポートレットには適用不可)

ポートレットのアクセス権限によってセルのアクセス権限をオーバーライドする場合は、これを選択します。

セルのアクセス権限によってポートレットのアクセス権限がオーバーライドされるようにするには、チェック・ボックスをクリアし、「適用」をクリックします。「アクセスの変更」セクションでは、様々なユーザーやグループについて、セルのアクセス権限(管理、編集、表示、カスタマイズ、実行など)を変更できます。

ノート: ユーザー/ロールのセルのアクセス権限を変更するには、ポートレットまたはそのポートレットを所有するプロバイダに対する管理アクセス権限が必要です。

表15-12 アクセスの変更

フィールド

説明

ユーザー/ロール(一部のポートレットには適用不可)

セルのアクセス権限を付与するユーザーまたはグループを入力します。

変更(一部のポートレットには適用不可)

セルのアクセス権限を変更する場合にクリックします。

表15-13 キャッシュの無効化

フィールド

説明

キャッシュのクリア

次のデータ要求でデータベースからデータが入力されるように、キャッシュされているデータをクリアします。

15.3 レポートのポートレットとしての公開

Oracle Reportsを登録した後、次のステップを実行すると、レポートをポータルに公開できます。

1. レポートのプロバイダを作成します。このステップでは、ポータル内でユーザーに提供するレポートが収納されるプロバイダを定義します。または、Oracle Portalにデフォルトで含まれている既存のプロバイダも使用できます。
第15.3.1項「レポートに対するプロバイダの作成」を参照してください。

2. レポートをアイテム・リンク脚注 2 としてページに追加し、必要に応じてカスタマイズします。これにより、ユーザーがレポートをページ上で利用できるようにするとともに、ページ設計者がレポート・パラメータを設定し、レポートの自動実行をスケジューリングできるようにします。レポート出力をOracle Portalにも配布できます。
詳細は、次の項を参照してください。

- 第15.3.2項「ページへのレポート・ポートレットの追加」

- 第15.3.3項「アイテム・リンクとしてレポートをページへ追加」

- 第15.3.4項「デフォルトでインストールされていないOracle Portalでのアイテム・リンクとしてのレポートの実行」

- 第15.3.5項「Oracle Portalへのレポート出力の配布」

15.3.1 レポートに対するプロバイダの作成

レポートを収納するプロバイダをまだ定義していない場合は、作成する必要があります。プロバイダの作成の詳細は、Oracle Portalのオンライン・ヘルプを参照してください。

ノート:

レポートを収納するプロバイダは、データベース・プロバイダである必要があります。また、その「アクセス」ページで「プロバイダとして公開」の設定が選択されていることが必要です。

15.3.2 ページへのレポート・ポートレットの追加

レポートをOracle Portalに登録した後、そのレポートをポータル・ページ上のポートレットとして公開できます。

ノート:

レポートをポートレットとして公開するには、「ポートレットとして公開」ボックスを選択しておく必要があります。

レポートをポートレットとして公開するには:

1. まだ「ビルダー」ページを表示していない場合は、ページ上部の「ビルダー」をクリックします。

2. 「構築」タブをクリックします。

3. 「ページ・グループ」ポートレットで、作成したレポート・ポートレットを配置するページ・グループの名前を選択します。

4. 「ページの作成」をクリックして新しいページを作成するか、既存のページの名前を入力して「編集」をクリックすることでそのページを編集します。

5. 新しいページを作成する場合は、ウィザードのステップに従います。設定に関する情報が必要な場合は、右上端にある疑問符をクリックしてください。作業が完了したら、「完了」をクリックします。

関連項目:

Oracle Reportsアイテムをページに追加する方法の詳細は、第15.3.3項「アイテム・リンクとしてレポートをページへ追加」を参照してください。

既存のページを編集する場合は、次のステップに進みます。

6. レポート・ポートレットを追加するページ領域で、「ポートレットの追加」ツールをクリックします。

ヒント:

ツールにマウスを合せると、そのツールに関するヒントが表示されます。

7. ポートレット・リポジトリを、レポート・ポートレットを含んでいるプロバイダまでドリルダウンします。レポート・ポートレットは、ポートレット・リポジトリの中の、そのポートレットが属しているポータルDBプロバイダの下に表示されます。プロバイダの位置は、ポートレット・リポジトリがどのように編成されているかによって異なります。ポータルDBプロバイダがかなり新しいプロバイダである場合、ポートレット・リポジトリの下方に表示される可能性があります。

8. レポート・ポートレットの名前をクリックして、「選択したポートレット」リストに追加します。

9. 「OK」をクリックします。

10. レポート・ポートレットの右上端にある「カスタマイズ」をクリックします。

11. 「パラメータ」タブにパラメータ値を入力し、必要に応じて「スケジュール」タブでジョブの自動実行をスケジューリングします。

12. ポートレットのサイズは、レポート定義ファイル・オブジェクトの「カスタマイズ」ページで「ポートレットの幅」パラメータと「ポートレットの高さ」パラメータを指定して制御できます。これらのパラメータ値は、パーセント(%)またはピクセル数で指定できます。
たとえば、次のように入力します。

ポートレットの幅: 90%

ポートレットの高さ: 480

値を指定しない場合は、Oracle Reports Servicesによりデフォルトの値(幅が640ピクセル、高さが320ピクセル)が使用されます。

「ポートレットの幅」と「ポートレットの高さ」フィールドをユーザーに表示する場合は、「カスタマイズ」を使用して、ユーザーも各ポートレットの幅と高さを調整できます。ユーザーが指定した値によって、レポート定義ファイル・オブジェクト・コンポーネントの「カスタマイズ」ページで設定した値はオーバーライドされます。

13. レポートのパラメータをユーザーに表示するかどうかは、「レポート定義ファイル・アクセス」コンポーネントのカスタマイズ・ページで指定できます。
レポートのパラメータをユーザーに表示するには:

1. レポートの「開発」タブの最下部にある「カスタマイズ」をクリックします。

2. 表示するパラメータごとに「ユーザーに表示」を選択します。

ノート:

このページからパラメータのデフォルト値を設定することもできます。

表示するパラメータに、対応するOracle Portalページのパラメータがある場合、「カスタマイズ」ページでパラメータ値を空にしておくと、ポートレットにはそのページのパラメータ値が継承されます。ユーザーがポートレットのパラメータに値を入力した場合は、その値がページのパラメータより優先します。

15.3.3 アイテム・リンクとしてレポートをページへ追加

Oracle Reportsアイテム・タイプを使用して、Oracle Reportsコンポーネントをアイテム・リンクとしてページに追加できます。Oracle Portalをデフォルト以外の言語設定でインストールした場合、第15.3.4項「デフォルトでインストールされていないOracle Portalでのアイテム・リンクとしてのレポートの実行」を参照してください。

ノート:

このアイテム・タイプは非表示のアイテム・タイプのリストから指定する必要があり、ページ・グループ管理者のみがアイテム・タイプを構成できます。

1. まだ「ビルダー」ページを表示していない場合は、ページ上部の「ビルダー」をクリックします。

2. 「構築」タブをクリックします。

3. 「ページ・グループ」ポートレットで、作成したレポート・アイテム・リンクを配置するページ・グループの名前を選択します。

4. 「ページの作成」をクリックして新しいページを作成するか、既存のページの名前を入力して「編集」をクリックすることでそのページを編集します。

5. 新しいページを作成する場合は、ウィザードのステップに従います。設定に関する情報が必要な場合は、右上端にある疑問符をクリックしてください。作業が完了したら、「完了」をクリックします。
既存のページを編集する場合は、次のステップに進みます。

6. 「アイテムの追加」をクリックします。Oracle Reportsアイテム・タイプは非表示のアイテム・タイプとして使用可能です。このアイテム・タイプを使用可能なアイテム・タイプに含めるには、「使用可能なアイテム・タイプを設定」リンクをクリックします。

7. 「非表示のアイテム・タイプ」リストからOracle Reportsを選択し、右矢印(>)をクリックして「表示されるアイテム・タイプ」リストに移動します。または、「>>」をクリックして「非表示のアイテム・タイプ」リスト内のすべてのアイテムを「表示されるアイテム・タイプ」リストに移動します。

8. 「OK」をクリックします。

9. 「コンテンツ・アイテム・タイプ」メニューでOracle Reportsアイテム・タイプを選択し、「次へ」をクリックして、Oracle Reportsの追加ページを表示します。

10. ポータルのユーザーがレポートをクリックしたときに表示される表示名を入力します。

11. 使用可能なデフォルトのOracle Reportsコンポーネントのリストから選択します。

12. レポートを表示する前にレポートにユーザー入力が必要な場合は、「パラメータ・フォームの表示」を選択します。

13. 「新しいブラウザ・ウィンドウでアイテムを表示するリンク」を選択し、レポートが別のページに表示されるようにします。

14. 「終了」をクリックします。Oracle Reportsアイテムがページにリンクとして表示されます。

15. リンクをクリックしてレポートを実行します。「パラメータ・フォームの表示」が選択されている場合は、必要なパラメータを入力します。

15.3.4 デフォルトでインストールされていないOracle Portalでのアイテム・リンクとしてのレポートの実行

Oracle Portalをデフォルト以外の言語設定でインストールした場合、レポートをポータル・ページのアイテム・リンクとして公開する際に必要となるエントリには、自動的にインストールされないものがあります。選択した言語は、rwlang.sqlスクリプトを使用してインストールする必要があります。

したがって、次の条件がどちらも該当する場合は、スクリプトrwlang.sql (ORACLE_HOME/portal/admin/plsql/wwd/)を実行する必要があります。

- Oracle Portalのインストール時にデフォルト(US)以外の言語を1つ以上選択した場合。

- Oracle Portalのアイテム・リンクとしてレポートを公開する場合。

ノート:

この作業はインストール後に1回実行しておくと、Oracle Portalのアイテム・リンクとしてレポートを公開できるようになります。

スクリプトを実行するには:

1. ORACLE_HOME/portal/admin/plsql/wwd/ディレクトリに移動します。

2. sqlplusを実行します。

3. ポータル・スキーマを使用してOracle Portalにログオンします。

4. これは、Oracle PortalのPL/SQLパッケージのインストールに使用するポータル・スキーマです。

5. 次のパラメータを使用してrwlang.sqlスクリプトを実行します。

@rwlang.sql language_list

説明:

language_listは、カンマで区切られた言語のリストです。

たとえば、フランス語と日本語をインストールするには次のように実行します。

@rwlang.sql f,ja

使用上のノート

- カンマ(,)の前後にはスペースを入れません。sqlplusは言語リストを、カンマ(,)で区切られた1つのパラメータとしてではなく2つのパラメータとして処理するためです。

- rwlang.sqlスクリプトのヘッダーには、すべての言語の略語が一覧表示されています。スクリプト・ファイルは任意のテキスト・エディタで開いて、各種の略語を調べることができます。

15.3.5 Oracle Portalへのレポート出力の配布

ORACLEPORTAL宛先にReports Serverから配布するには:

1. レポート出力をOracle Portalに配布するための配布ファイル(distribution.xmlなど)を作成します。例:

<destinations>
<destype id="customforPortal" name="oraclePortal">
<property name="outputpage" value="Test_Reports"/>
<property name="statuspage" value="result"/>
<property name="pagegroup" value="test_reports"/>
<property name="itemtitle" value="TestReport"/>
<include src="report"/>
</destype>
</destinations>

ノート:

この例では、pagegroupのtest_reportsがOracle Portalに存在するように確認するか、既存のpagegroup名を指定する必要があります。

2. 次のURLでレポートを実行します。

http://host:port/reports/rwservlet?server=reports_server
&report=report_name&destination=distribution_file
&distribute=yes&userid=user/password@db

3. Oracle Portalにおいて、URLに指定されているページに移動して、レポートが表示されることを確認します。

脚注の凡例

脚注 1: アイテム領域のページ上にある個々のコンテンツ要素(テキスト、ハイパーリンク、イメージなど)。
脚注 2: 通常Webコンテンツ部分を表示するために使用される再利用可能プラガブルWebコンポーネント。

15.4 Oracle Portalへの接続

デフォルトでは、Oracle Portalユーザーのみを使用してReports ServerをOracle Portalに接続できます。最初に適切な権限がスキーマに割り当てられていないかぎり、scott/tigerのような通常のユーザーIDを使用できません。

Oracle Portalスキーマ以外のスキーマに適切な権限を割り当てるためには、次のスクリプトをSQL*PlusからOracle Portalのユーザーとして実行する必要があります。

ORACLE_HOME/portal/admin/plsql/wor/rwgrant.sql

このスクリプトがロードされると、新しいスキーマの接続文字列(たとえば、repapp/repapp@orcl)を入力するよう指示されます。スクリプトは、この新しいスキーマに適切な権限を割り当てます。これにより、この接続文字列をReports Server構成ファイルのdestination要素で指定して、Oracle Portalに接続できます。

15.5 トラブルシューティング情報

この項では、問題が発生した場合に修正するための各種のステップについて説明します。

15.5.1 リソースの作成の試行時のReportsとPortalの統合エラーの解決

Oracle Portalで、「Reportsレポート定義ファイル・アクセス」の「Oracle Reportsセキュリティ」設定を構成する場合、レポート定義ファイルの編集時に「実行」または「ポートレットとして実行」をクリックすると、エラーが発生する場合があります。

500 Internal Server Error
Unexpected Error. Please contact Administrator

このエラーは、次の条件がすべて該当する場合に発生します。

- 相互運用環境を実現し(9.0.2と9.0.4環境を共存させ)、9.0.4MT(中間層)、9.0.4IM (Identity Management)、9.0.2MR(メタデータ・リポジトリ)を同時に実行するように構成しています。

- SSOCONNパラメータを使用して、Oracle Portal内でOracle Reportsを実行しています。

- SSOCONNパラメータで指定した接続リソースがOracle Internet Directoryサーバーに作成されていません。

この問題を解決するには、次の作業を実行します。

1. テキスト・エディタを使用して、9.0.4IMのORACLE_HOMEにある次のファイルを開きます。

ORACLE_HOME/Apache/Apache/conf/mod_osso.conf

2. 次のフラグを追加します。

OssoRedirectByForm on

例:

<IfModule mod_osso.c>
OssoIpCheck off
OssoIdleTimeout off
OssoConfigFile
/private1/iasinst/install_set1/904infra/Apache/Apache/conf/osso/osso.conf
OssoRedirectByForm on
</IfModule>

16 Oracle Single Sign-Onの構成と管理

Oracle Single Sign-On (SSO)により、各ユーザーに一意の識別子を設定し、その識別子をユーザー固有のリソースやデータ・ソースと結び付けることができます。たとえば、ユーザーはOracle Portalなどの環境にログインすると、必要な権限のある特定レポートやプリンタにアクセスできます。この環境からレポートを実行するとき、ユーザーはレポートに必要なデータ・ソースにアクセスできます。これは、ユーザーのデータ・ソース接続情報が、Oracle Portalへのログインに使用された単一ユーザーIDとともに格納されているためです。このように、一度ログインすると、レポートの実行に必要なすべてのリソースやデータ・ソースにアクセスできるようになります。

Oracle Reports Servicesアプリケーションは、Oracle Single Sign-On Server 10g (OSSO)との連動に加えて、Oracle Access Manager 11g (OAM)およびOracle Internet Directory (OID)を使用してシングル・サインオン環境で実行できるようになり、同じユーザー・セッション中に多くのアプリケーションにアクセスするための追加または別のログインの必要がなくなりました。

Oracle FMW 11gリリース2のOracle Reports Servicesアプリケーションは、次のいずれかの認証サーバーをシングル・サインオン・モードで使用できるようになりました。

- Oracle Single Sign-On Server (OSSO) 10g

- Oracle Access Manager (OAM) 11g

ユーザーは、これらの認証サーバーの1つを使用してReportsアプリケーションを認証することを選択できます。これらの認証サーバーは、バックエンド・アイデンティティ・ストアとしてOracle Internet Directoryを使用するように構成する必要があります。認証サーバーは、複数のWebベースのアプリケーションにブラウザからアクセスできるWeb環境で機能するように設計されています。認証サーバーがない場合、各ユーザーはアクセスするアプリケーションごとにIDやパスワードを保持する必要があります。複数のアカウントやパスワードを保持するのは安全とは言えず、しかも効率的ではありません。

Oracle Reports Servicesにはセキュリティに対する柔軟なアプローチが備わっており、前述の構成を様々な方法で実装できます。たとえば、単一のユーザーIDとともにデータ・ソース接続情報を格納しないように選択することもできます。また、Oracle Portalのようなプラットフォームのかわりに、URLを直接指定してもレポートを起動できます。さらに、レポートが公開されている場合、セキュリティが不要であれば、レポートのセキュリティをすべてオフにできます。

この章では、Oracle Reports ServicesでOracle Single Sign-Onの様々な構成を実装および管理する方法を説明します。

- 前提条件

- シングル・サインオンの構成

- Single Sign-Onの管理

- Oracle Internet Directoryの接続エンティティの選択

- インストール後の構成

- Reportsサーブレット・ポートをSingle Sign-Onで保護されるように変更する方法

- Oracle Forms Servicesのセキュリティに関する考慮事項

16.1 前提条件

Single Sign-On (SSO)は、セキュアなサーバー環境にのみ実装できます。つまり、Oracle Reports ServicesでSingle Sign-Onの実装を検討する場合、Reports Server構成ファイルにセキュリティ・ポリシーが正しく設定されていることが前提となります。詳細は、第14章「Oracle Reports Servicesの保護」を参照してください。

Single Sign-Onでは、管理者が各ユーザーにユーザーIDを設定します。管理者はこれをOracle Internet Directoryで行います。詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』を参照してください。

ユーザーIDは、ユーザー名とパスワードで構成されます。ユーザーを設定すると、そのユーザーにデータ・ソース接続文字列が関連付けられます。ユーザーは、ログイン時にユーザー名とパスワード(ユーザーID)を入力する必要があります。それにより、そのユーザーIDと関連付けられたすべてのデータ・ソースにアクセスできます。Single Sign-OnではセッションCookieが発行されますが、これはそのセッション用のすべての認可済入り口を開くためのキーとして効果的に機能します。

ノート:

SSO関連コンポーネント(Oracle Internet Directoryなど)を設定するための要件と手順の詳細は、Oracle Fusion Middleware Oracle Internet Directory管理者ガイドおよび『Oracle Fusion Middleware Oracle HTTP Server管理者ガイド』を参照してください。

16.2 シングル・サインオンの構成

レポートを実行するには、有効なSSOのユーザーIDとパスワードでログインする必要があります。Oracle Fusion MiddlewareとともにインストールされるOracle Internet Directoryインスタンスが、ユーザーとグループの情報のデフォルト・リポジトリとして使用されます。別のOracle Internet Directoryインスタンスを使用するようにReports Serverを構成する場合やセキュリティを無効にする場合、第16.3項「Single Sign-Onの管理」を参照してください。Oracle Internet Directoryにユーザーを追加する方法の詳細は、Oracle Fusion Middleware Oracle Internet Directory管理者ガイドを参照してください。また、Oracle Fusion Middlewareのインストールごとに、Reports Serverインスタンスは、そのOracle Fusion Middlewareのインストールに固有のアプリケーション・エンティティとしてOracle Internet Directoryに接続します。この動作の詳細は、第16.3.4項「Oracle Internet Directoryへの接続」を参照してください。

ユーザーがSingle Sign-Onにログインしていない場合、rwservletによりReports Serverに対してレポートを実行しようとすると、ログインするように要求されます。レポートのユーザー・パラメータにSSOCONNが含まれている場合は、OracleAS Single Sign-On ServerによってOracle Internet Directory内にユーザーのデータ・ソース接続情報があるかどうか検索されます。見つからない場合、OracleAS Single Sign-On Serverではユーザーは新しいリソースを作成するように要求されます。rwservletの詳細は、第A.2.5項「rwservlet」を参照してください。SSOCONNの詳細は、第16.3.3.1項「SSOCONN」を参照してください。OAMサーバーの場合、ユーザーのデータ・ソース接続情報がOracle Internet Directoryに存在しないと、Oracle Reportsにより「キーが存在しません」というエラー・メッセージが表示されます。OTN(http://www.oracle.com/technetwork/middleware/reports/overview/index.html)で提供されているLDIFサンプルを使用するか、または第16.3.3.2.3項「バッチ・ロード」を参照して、Oracle Internet Directory内に新しいリソースを作成する必要があります。詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』を参照してください。

Oracle Portalが構成されていれば、Reports ServerはデフォルトでOracle Portalとも連携して動作するように構成されます。必要に応じて、ポータルにレポートを追加して、ユーザーがポータルからレポートを起動できるようにすることができます。この場合、ユーザーはポータルにログインする必要があります。ポータルにログインすることによりSingle Sign-Onモードで識別されるため、レポートの起動時に再度ログインするように要求されません。

必要に応じて、Oracle PortalでReports Serverに関連付けられているリソース(レポート、プリンタ、Reports Server、カレンダなど)にアクセス制御を定義することもできます。リソースへのアクセスを制御するには、それらのリソースをポータルに追加して、それぞれのアクセス・オプションを指定する必要があります。Oracle Portalで指定したリソース・アクセス制御は、ポータルの外部で実行するレポートにも適用されます。たとえば、ユーザーがrwservletによりレポートを実行しようとすると、Oracle Portalで指定したアクセス制御が適用されます。

関連項目:

Oracle PortalとOracle Reports Servicesとの間における統合の詳細は、第15章「Oracle Portalでのレポートの配布」を参照してください。

ノート:

OSSO Serverの場合、Single Sign-onを使用して、URLのauthidを非表示にすることをお薦めします。詳細は、第7.3.1.1.18項「allowauthid」を参照してください。

16.2.1 Oracle Reportsで使用されるSingle Sign-Onコンポーネント

図16-1は、Single Sign-Onのコンポーネント・アーキテクチャの概要です。

図16-1 Single Sign-Onアーキテクチャ

Single Sign-On環境のコンポーネントは、次のとおりです。

- クライアントWebブラウザ

- Oracle HTTP Server
Oracle HTTP Serverは、クライアント・ブラウザからのリクエストを処理します。

ノート:

セキュリティの最高レベルでは、Oracle HTTP Serverとのすべての通信にSSLを使用するように構成できます。Oracle HTTP Serverは、OpenSSLモジュールでSecure Sockets Layer (SSL)およびHTTP Secure Sockets Layer (HTTPS)をサポートします。これがOracle HTTP Serverで設定されると(『Oracle Fusion Middleware Oracle HTTP Server管理者ガイド』を参照)、rwservletではSSLポート番号が自動的に検出されます。

- Reports Servlet
Oracle Reports Servlet (rwservlet)は、Oracle WebLogic Server内で実行されるOracle Reports Servicesのコンポーネントです。レポート・リクエストがOracle HTTP Serverに送信されると、Oracle Reports Servlet (rwservlet)ではジョブ・リクエストがReports Serverに渡されます。

- Reports Server
Reports Server (rwserver)では、クライアント・リクエストを処理します。この処理には、認証と認可の確認、スケジューリング、キャッシュおよび配布が含まれます。

- 認証サーバー

- OracleAS Single Sign-On Server (OSSO) - OracleAS Single Sign-Onは、ユーザーのSingle Sign-Onセッションを管理します。Oracle Internet Directory内を検索して、ログイン資格証明を検証します。

- Oracle Access Manager (OAMサーバー) - これは、Webシングル・サインオン、認証、認可などを含む全セキュリティ機能を提供するOracle FMW 11g認証サーバーです。Reports Servicesを実行するときに、アイデンティティ・ストアとしてOracle Internet Directoryを使用します。Oracle Access Managerは、Oracle HTTP Serverに対して構成されるアクセス・クライアントとしてmod_ossoまたはwebgateを使用できます。

- アクセス・クライアント

- mod_osso - HTTPモジュールmod_ossoは、認証サーバーに対するパートナ・アプリケーションとして機能し、アプリケーションに対して認証を透過的に行うことによって、認証プロセスを簡素化します。Oracle Forms ServicesおよびOracle Reports Servicesは、mod_ossoを使用してパートナ・アプリケーションとして認証サーバーに登録できます。

- webgate - WebGateはシングル・サインオン・サポートを提供します。これは受信HTTPリクエストをインターセプトし、認証のためにそれらをアクセス・サーバーに転送します。Oracle Forms ServicesおよびOracle Reports Servicesは、認証サーバーに対するアクセス・クライアントとしてwebgateを使用できます。

- Oracle Internet Directory
Oracle Internet Directoryは、高度にスケーラブルなLDAPバージョン3のOracle固有サービスであり、Oracle共通のユーザー識別情報をホスティングします。OracleAS Single Sign-Onでは、Oracle Internet Directoryに格納されている情報と照合してユーザーを認証します。すでに説明したとおり、Oracle Reports Servicesに対してSingle Sign-Onが有効であれば、Oracle Internet Directoryでユーザーおよびグループの権限情報がチェックされます。さらに、Oracle Internet Directoryからデータ・ソース接続情報が取得されます。

- Oracle Delegated Administration Service
Delegated Administration Serviceは、Oracle Internet Directoryを更新するための包括的インタフェースを実現します。Oracle Internet Directoryのデータ・ソース接続文字列に関連付けられていないSingle Sign-Onキーを検出すると、Oracle Reports ServicesではOracle Delegated Administration Servicesを表示します。

詳細は、第16章「Oracle Single Sign-Onの構成と管理」を参照してください。

16.2.2 設定プロセス

ユーザーは、インストール時またはインストール後に、Reportsアプリケーションに対してシングル・サインオンを有効化できます。この項では、次のシナリオについて説明します。

- インストール時のReportsアプリケーションのシングル・サインオンの有効化

- インストール後のReportsアプリケーションのシングル・サインオンの有効化

16.2.2.1 インストール時のReportsアプリケーションのシングル・サインオンの有効化

ユーザーが、Oracle Forms and Reports 11g R2のインストール時にアプリケーション・アイデンティティ・ストアおよび認証サーバーを選択すると、Reportsアプリケーションは認証サーバーで認証されるように構成されます。図16-2のフローチャートに、ReportsアプリケーションのSSO認証を有効化するステップを示します。

図16-2 インストール時のReportsアプリケーションのシングル・サインオンの有効化

このフローチャートに示したステップの詳細を表16-1に示します。

表16-1 インストール時にReportsアプリケーションのシングル・サインオンを有効化するためのタスク

タスク

オプション

説明

コメント

タスク1: アプリケーション・アイデンティティ・ストア(OID)の選択

いいえ

ユーザーは、シングル・サインオン認証でReportsを構成しないことを選択します。

はい

ユーザーは、シングル・サインオン認証でReportsを構成することを選択します。ユーザーは、インストール画面でOIDアクセス詳細を入力する必要があります。ユーザーは、続くインストール画面で、SSOサーバーの選択を求められます。

アプリケーション・アイデンティティ・ストアを選択するステップの詳細は、『Oracle Fusion Middleware Oracle Forms and Reportsインストレーション・ガイド』のOracle Forms and Reportsインストレーションおよび構成画面のフローチャートに関する説明を参照してください。

タスク2: 認証(SSO)サーバーの選択

Oracle Single Sign-On Server (OSSO)

ユーザーは、認証サーバーとしてOracle AS 10g Oracle Single Sign On Server (OSSO)を選択します。ここでは追加の資格証明は不要です。

認証サーバーを選択するステップの詳細は、『Oracle Fusion Middleware Oracle Forms and Reportsインストレーション・ガイド』のOracle Forms and Reportsインストレーションおよび構成画面のフローチャートに関する説明を参照してください。

OAMサーバー

ユーザーは、認証サーバーとしてOracle Access Manager (OAMサーバー)を選択します。ユーザーは、OAMサーバーの管理者資格証明を入力する必要があります。

認証サーバーを選択するステップの詳細は、『Oracle Fusion Middleware Oracle Forms and Reportsインストレーション・ガイド』のOracle Forms and Reportsインストレーションおよび構成画面のフローチャートに関する説明を参照してください。

タスク3: Webgateアクセス・クライアントの設定

いいえ

ユーザーは、初期状態の設定で、ReportsアプリケーションをOAM認証サーバーに対して構成することを選択します。mod_ossoは、デフォルトでアクセス・クライアントとして設定されます。この場合、追加のステップは必要ありません。

はい

ユーザーは、webgateをアクセス・クライアントとして使用し、ReportsアプリケーションをOAM認証サーバーに対して構成することを選択します。ユーザーは、Webgateを手動でインストールして構成する必要があります。

Webgateアクセス・クライアントの設定ステップの詳細は、第16.5.3項「OAMに対するWebgateのインストールと構成」を参照してください。

注意:

インストール時のOracle Reportsのシングル・サインオンの有効化の詳細は、『Oracle Fusion Middleware Oracle Forms and Reportsインストレーション・ガイド』を参照してください。

16.2.2.2 インストール後のReportsアプリケーションのシングル・サインオンの有効化

ユーザーがOracle Forms and Reports 11g R2のインストール中にアプリケーション・アイデンティティ・ストアを選択しない場合、Reportsアプリケーションは認証サーバーで認証されません。ただし、ユーザーはインストール後に、Reportsアプリケーションに対するシングル・サインオンの有効化を選択できます。図16-3のフローチャートに、インストール後にReportsアプリケーションに対してSSOを有効化するステップを示します。

図16-3 インストール後のReportsアプリケーションに対するSSOの有効化

このフローチャートに示したステップの詳細を表16-2に示します。

表16-2 インストール後にReportsアプリケーションのシングル・サインオンを有効化するためのタスク

タスク

オプション

説明

コメント

タスク1: Fusion Middleware Control (EM)を使用したReportsアプリケーションとOIDの関連付け

ユーザーは、ReportsアプリケーションをOracle Internet Directoryと関連付けることを選択します。ユーザーは、続く画面で、SSOサーバーの選択を求められます。

アプリケーション・アイデンティティ・ストアの関連付けステップの詳細は、第14.9項「外部のOracle Internet Directoryの構成およびReportsの再関連付け」を参照してください。

タスク2: 認証(SSO)サーバーの選択

Oracle Single Sign-On Server (OSSO)

ユーザーは、認証サーバーとしてOracle AS 10g Oracle Single Sign On Server (OSSO)を選択しました。

すでにOracle Single Sign-On (OSSO) 10gサーバーがインストールされている場合は、それを使用できます。そうでない場合は、Oracle Access Manager 11gをインストールできます。OAM 11gのインストール・ステップの詳細は、『Oracle Fusion Middleware Oracle Forms and Reportsインストレーション・ガイド』を参照してください。

OAMサーバー

ユーザーは、認証サーバーとしてOracle Access Manager (OAMサーバー)を選択しました。

OAM 11gのインストール・ステップの詳細は、『Oracle Fusion Middleware Oracle Forms and Reportsインストレーション・ガイド』を参照してください。

タスク3: osso.confファイルの生成および適用

Oracle Single Sign-On Server (OSSO)

ユーザーは、認証サーバーとしてOracle AS 10g Oracle Single Sign-On Server (OSSO)を選択しました。

認証サーバーでのosso.confファイルの生成ステップの詳細は、第16.5.1項「アクセス・クライアント・ファイルの生成」を参照してください。

OAMサーバー

ユーザーは、認証サーバーとしてOracle Access Manager (OAMサーバー)を選択しました。ユーザーは、OAMコンソールを使用してOAMサーバーでosso.confファイルを生成する必要があります。

タスク5: Webgateアクセス・クライアントの設定

いいえ

ユーザーは、アクセス・クライアントとしてmod_ossoを使用するようにReportsを構成することを選択します。インストール後にSSOを有効化するには、先にmod_ossoをパートナ・アプリケーションとして登録する必要があります。

mod_ossoをOHS内にパートナ・アプリケーションとして登録するステップの詳細は、第16.5.2項「mod_ossoをパートナ・アプリケーションとして登録することによるSSOの有効化」を参照してください。

はい

ユーザーは、webgateをアクセス・クライアントとして使用し、ReportsアプリケーションをOAM認証サーバーに対して構成することを選択します。ユーザーは、Webgateを手動でインストールして構成する必要があります。

Webgateアクセス・クライアントの設定ステップの詳細は、第16.5.3項「OAMに対するWebgateのインストールと構成」を参照してください。

16.3 Single Sign-Onの管理

この項では、Oracle Reports Servicesのセキュリティを維持するために実行する必要のある管理作業を説明します。

- Single Sign-Onの有効化と無効化

- Reports Serverのセキュリティの有効化と無効化

- データ・ソースのセキュリティの有効化と無効化

- Oracle Internet Directoryへの接続

16.3.1 Single Sign-Onの有効化と無効化

Single Sign-Onのデフォルト設定を使用するために、Oracle Reports Servlet (rwservlet)構成ファイル(rwservlet.properties)のSINGLESIGNONパラメータはYESに設定されています。つまり、この設定によりOracleAS Single Sign-Onを使用してユーザーが認証されます。オラクル社ではこれを通常のセキュリティ配置モデルと考えており、完全にカスタマイズしたセキュリティ構成で実行する場合にのみ<singlesignon>no</singlesignon>に設定してください。

ReportsアプリケーションがOAM 11gサーバーを使用して認証される場合、Single Sign-OnパラメータがNoに設定されていても、Reports認証ページではなく、OAM認証ページが表示されます。

構成ファイルを直接変更するのではなく、Oracle Enterprise Managerを使用して構成設定を変更します。OracleAS Single Sign-Onを有効化したり無効化するには、第6.8.6項「Single Sign-Onの有効化と無効化」を参照してください。

16.3.2 Reports Serverのセキュリティの有効化と無効化

JAZN-XML認可などのJPSベース・セキュリティを有効にすることができます。詳細は、第14章「Oracle Reports Servicesの保護」を参照してください。

構成ファイルを直接変更するのではなく、Oracle Enterprise Managerを使用して構成設定を変更します。セキュリティを有効化したり無効化するには、第6.8.1項「セキュリティの有効化と無効化」を参照してください。

Oracle Fusion Middlewareをインストールする際に、アイデンティティ・ストア、ポリシー・ストアおよび資格証明ストアを選択するように求められます。デフォルトでは、これらはファイル・ベースのストアとなります。インストール後、これらのストアのいずれかをLDAPベースのストア(Oracle Internet Directoryなど)に変更できます。詳細は、Oracle Fusion Middlewareセキュリティ・ガイドのID、ポリシーおよび資格証明の理解に関する項を参照してください。

16.3.3 データソースのセキュリティの有効化と無効化

Single Sign-Onによりデータ・ソースのセキュリティを有効にする手順は次のとおりです。

- レポートを起動するURLにSSOCONNを組み込みます。

- 3つの方法のいずれかを使用して、Oracle Internet Directoryにデータ・ソース接続情報を入力します。

独自のプラガブル・データ・ソースに対してSingle Sign-Onを使用してデータ・ソースのセキュリティを実装する場合には、さらに次の手順を実行する必要があります。

- 新しいリソース・タイプをOracle Internet Directoryに追加します。

次の各項では、これらの手順を説明します。

16.3.3.1 SSOCONN

Single Sign-Onによりデータ・ソースのセキュリティを有効にするには、次の形式の値のSingle Sign-Onパラメータ(SSOCONN)をURLに組み込む(またはキー・マップ・ファイルを介して参照する)必要があります。

key_name/data_source_type/conn_string_parameter

key_nameは、データベースへの接続に必要な情報を提供するOracle Internet Directoryに格納されている文字列にマップされています。

key_nameのマッピングの機能は、Single Sign-On環境で使用されている認証サーバーにより異なります。

Oracle Single Sign-On Serverが認証サーバーとして使用されている場合のマッピング

この場合、Oracle Reportsによってkey_nameが検出されると、Oracle Internet Directoryに格納されている対応キーを現行のユーザーが所有しているかどうかがチェックされます。そうである場合、Oracle Reportsではそのキーに格納されている文字列を使用してデータ・ソースに接続します。そうでない場合は、key_nameが公開キーにマップされているかどうかチェックし、マップされていればそのキーを使用します。そうでない場合、Oracle Delegated Administration Servicesにより、新しいリソースを作成するようにユーザーは要求されます。

Oracle Access Managerが認証サーバーとして使用されている場合のマッピング

この場合、Oracle Reportsによってkey_nameが検出されると、Oracle Internet Directoryに格納されている対応キーを現行のユーザーが所有しているかどうかがチェックされます。そうである場合、Oracle Reportsではそのキーに格納されている文字列を使用してデータ・ソースに接続します。そうでない場合は、key_nameが公開キーにマップされているかどうかチェックし、マップされていればそのキーを使用します。そうでない場合は、Oracle Reportsにより「キーが存在しません」というエラー・メッセージが表示されます。

関連項目:

Oracle Internet Directoryへのリソースの入力の詳細は、第16.3.3.2項「Oracle Internet Directoryへの入力」を参照してください。

data_source_typeは、接続するデータ・ソースの種類です。これにより、key_nameに関連付けられている文字列の形式が認識されます。data_source_type値は、Oracle Internet Directoryに格納されている有効なリソース・タイプである必要があります。Oracle Reportsには、次のデータソースについてデフォルトのリソース・タイプが用意されています。

- Oracleデータベース(OracleDB)

- JDBC PDS (JDBCPDS)

独自のプラガブル・データ・ソースについて、Oracle Internet Directoryに追加リソース・タイプも作成できます。

関連項目:

リソース・タイプの追加方法の詳細は、第16.3.3.3項「新しいリソース・タイプの追加」を参照してください。

conn_string_parameterは、Oracle Reportsのシステム・パラメータまたはユーザー・パラメータを示します。このパラメータを使用して、Oracle Reportsに接続文字列を渡します。たとえば、OracleDBデータ・ソースの場合、Oracle ReportsではUSERIDパラメータにより接続文字列を受け取り、これを使用して指定Oracleデータベースに接続します。同様に、JDBCPDSの場合はP_JDBCPDSが使用されます。独自のプラガブル・データ・ソースがある場合、Oracle Reportsに接続文字列を渡すために独自のユーザー・パラメータを定義して、それをSSOCONNのconn_string_parameterとして指定する必要があります。

関連項目:

第A.8.15項「SSOCONN」

16.3.3.1.1 Oracleデータベースの例

Oracleデータベースの場合、SSOCONNを使用してレポートをコールするURLは次のようになります。

http://myhost.mycompany.com:7779/reports/rwservlet?server=rs_cped
&report=my.rdf&destype=cache&ssoconn=mykey/OracleDB/userid&desformat=html

16.3.3.1.2 JDBCプラガブル・データ・ソースの例

JDBCデータ・ソースの場合、Single Sign-Onの値は次のようになります。

http://myhost.mycompany.com:7779/reports/rwservlet?server=rs_cped
&report=Jdbcthin.rdf&destype=cache&desformat=html&ssoconn=jd1/jdbcpds/p_jdbcpds

この場合、jd1はOracle Internet Directoryのリソース名です。

関連項目:

JDBCデータソースの構成方法の詳細は、第13.1項「JDBC PDSの構成と使用」を参照してください。

使用上のノート

- SSOCONNをコマンドラインで使用する場合は、次のことが行えません。

- 同一のコマンドラインでAUTHIDを指定します。

- セキュアでないReports Serverに対して実行します。

- rwservlet.propertiesのSINGLESIGNONをNOに設定します。

SSOCONNをコマンドラインで使用する場合にこのいずれかを実行すると、エラーが発生します。

16.3.3.2 Oracle Internet Directoryへの入力

Single Sign-Onによりデータ・ソースのセキュリティを機能させるには、各ユーザーのデータ接続情報をOracle Internet Directoryに格納するか、リソースをすべてのユーザーに利用可能なデフォルト・リソースにする必要があります。次のいずれかの方法で、この情報をOracle Internet Directoryに入力できます。

- Oracle Delegated Administration Services

- ユーザー・プロンプト

- バッチ・ロード

- すべてのユーザーへのリソースの公開

16.3.3.2.1 Oracle Delegated Administration Services

Oracle Delegated Administration Services (DAS)はOracle Single Sign On Server (OSSO)とともにのみ使用されます。Oracle Access Manager (OAM)サーバーではOID内に新しいリソースを作成するためにDASは使用されません。

OSSO Serverの場合、少数のユーザーの接続情報のみ入力するときは、Oracle Delegated Administration Services (DAS)を使用して、ユーザーごとに接続文字列情報を直接Oracle Internet Directoryに入力できます。

ノート:

ユーザーがOracle Delegated Administration Servicesにアクセスする前に、あらかじめ管理者がそのユーザーのユーザーIDをOracle Internet Directoryに入力しておく必要があります。このステップは、他のソースのLDAPディレクトリにすでに入力されている情報をバッチ・ロードすることで実行できます。

バッチ・ロードの詳細は、Oracle Fusion Middleware Oracle Internet Directory管理者ガイドを参照してください。

このDAS URLを使用して、管理を目的としてOracle Delegated Administration Servicesにアクセスします。Oracle Delegated Administration Servicesにアクセスしたら、「プリファレンス」タブの「リソースのアクセス情報」セクションでユーザーの情報を入力します。図16-4を参照してください。この場合、リソースが入力されていないと「プリファレンス」タブが表示されないことに注意してください。

図16-4 Delegated Administration Servicesの「プリファレンス」タブ

多数のユーザーのデータ・ソース情報を入力する場合、ユーザー・プロンプトまたはバッチを使用してOracle Internet Directoryに入力します。

16.3.3.2.2 ユーザー・プロンプト

ユーザーに各自の接続文字列情報を入力させる場合、あらかじめOracle Internet Directoryにデータ・ソース接続情報を入力する必要はありません。

認証サーバーとしてOSSO Serverを使用している場合、レポートの起動時にSSOCONNを使用しても、そのキーに対する接続文字列がOracle Internet Directoryに格納されておらず、そのキーがすべてのユーザーに利用可能な公開キーでなければ、Oracle Delegated Administration Servicesの「リソースの作成」ページがユーザーに表示されるので、各自のデータ・ソース接続文字列を入力する必要があります。図16-5を参照してください。ユーザーが入力した文字列は今後の使用のために、Oracle Delegated Administration ServicesによってOracle Internet Directoryに格納され、新しく入力された接続文字列をレポートのデータ・ソース接続文字列としてrwservletで使用します。

認証サーバーとしてOAMを使用している場合は、レポートの起動時にSSOCONNを使用しても、そのキーに対する接続文字列がOracle Internet Directoryに存在しなければ、Oracle Reportsにより「キーが存在しません」というエラー・メッセージが表示されます。OTN(http://www.oracle.com/technetwork/middleware/reports/overview/index.html)で提供されているサンプルLDIFを使用してリソースを作成する必要があります。OID内にリソースを作成する方法の詳細は、第16.3.3.2.3項「バッチ・ロード」を参照してください。

ノート:

この機能により、異なるデータ・ソース接続文字列を使用する多くのユーザーが、同じレポートのURLを使用できるようになります。

図16-5 Oracle Delegated Administration Servicesの「リソースの作成」

ノート:

「リソースの作成」ダイアログでJDBC接続文字列を入力するには、「データベース」フィールドにhostname:port:sidと入力します。

16.3.3.2.3 バッチ・ロード

Oracle Reports Servicesのリソースは、次のエントリでOracle Internet Directoryに作成されます。

orclresourcename=resource_name, cn=Resource Access Descriptor,
orclownerguid=guid, cn=Extended Properties, cn=OracleContext,
dc=us,dc=oracle,dc=comFoot 1

始める前に リソースのバッチ・ロードを開始する前に、Oracle Internet Directoryの前述のエントリにorclownerguid=guidを作成しておく必要があります。Oracle Delegated Administration Servicesを使用してユーザーを作成した場合は、orclownerguid=guidが自動的に作成されているため、「リソースのバッチ・ロード」の作業を開始できます。

LDIFファイルでOracle Internet Directoryにユーザーを入力した場合は、「リソースのバッチ・ロード」のステップを実行する前に、次のステップを実行する必要があります。

1. ユーザーのGUIDを取得します。
Oracle Internet Directoryにユーザーを作成した方法に応じて、GUIDを取得する方法がいくつかあります。Oracle Internet Directory LDAP APIを使用してユーザーのGUIDを取得できます。また、次のようにldapsearchコマンドを使用して取得することもできます。

D:\Oracle\BIN>ldapsearch -h host_name -p port_num -L -D cn=orcladmin
-w orcladmin's_password -b "cn=users,dc=us,dc=oracle,dc=com" -s sub "objectclass=*" dn orclguid

2. cn=Extended Properties, cn=OracleContext, dc=us, dc=oracle, dc=comで、ユーザー・エントリorclownerguid=guidを作成します。

1. プレースホルダを実際の値に置き換えて、サンプル・スクリプトORACLE_HOME\reports\samples\scripts\createuser.ldifを変更します。

2. ldapaddを使用してcreateuser.ldifをロードします。例:

D:\Oracle\BIN>ldapadd -D cn=orcladmin -w welcome1
-h host_name -p port_num -f createuser.ldif

3. orclownerguid=guidを作成したら、「リソースのバッチ・ロード」に進みます。

ノート:

サンプルLDIFは、OTN(http://www.oracle.com/technetwork/middleware/reports/overview/index.html)のOracle Reportsページで提供されています。

リソースのバッチ・ロード  次のステップに従って、ユーザーのデータ・ソース・リソースをバッチ・ロードします。

1. orclownerguid=guid, cn=Extended Properties, cn=OracleContext, dc=us, dc=oracle, dc=comで、ユーザーのリソース・エントリorclresourcename=resource_name, cn=Resource Access Descriptorを作成します。ここで、orclownerguid=guidは始める前にで作成したGUIDとなります。

1. プレースホルダを実際の値に置き換えて、サンプル・スクリプトORACLE_HOME\reports\samples\scripts\createresource.ldifを変更します。

2. ldapaddを使用してcreateresource.ldifをロードします。例:

D:\Oracle\BIN>ldapadd -D cn=orcladmin -w orcladmin's_password -h host_name -p port_num -f createresource.ldif

16.3.3.2.4 すべてのユーザーへのリソースの公開

すべてのユーザーがリソースを使用できるようにするステップは次のとおりです。

1. Oracle Delegated Administration Servicesを起動して、「ホーム」タブに移動します。

2. 管理者(orcladmin)としてログインします。

3. 「構成」タブをクリックします。

4. 「プリファレンス」サブ・タブをクリックすると、図16-6のようなページが表示されます。

図16-6 Oracle Internet Directoryの「構成」タブの「プリファレンス」ページ

1. 「デフォルトのリソース・アクセス情報」の「作成」をクリックします。

2. 「リソースの作成」ページで、リソース名を入力し、ドロップダウン・リストからリソース・タイプを選択します。たとえば、「JDBCPDS」を選択します。

3. 「次へ」をクリックします。

4. 接続情報を入力します。たとえば、scott/tiger@mydbと入力します。

5. 「実行」をクリックします。

6. 「OK」をクリックします。
「デフォルトのリソース・アクセス情報」にそのリソースが表示され、すべてのユーザーが使用できるようになります。

16.3.3.3 新しいリソース・タイプの追加

新しいリソース・タイプを追加して独自のプラガブル・データ・ソースをサポートするには、次の手順を実行する必要があります。

1. Oracle Delegated Administration Servicesを起動して、「ホーム」タブに移動します。

2. 管理者(orcladmin)としてログインします。

3. 「構成」タブをクリックします。

4. 「プリファレンス」サブ・タブをクリックすると、図16-6のようなページが表示されます。

5. 「リソース・タイプ情報の構成」で「作成」をクリックすると、図16-7のようなページが表示されます。

図16-7 「リソース・タイプの作成」ページ

6. フィールドにデータを入力します。少なくとも必須フィールドにはデータを入力してください。表16-3では、これらのフィールドについて説明します。

表16-3 「リソース・タイプの作成」プロパティ

プロパティ

説明

リソース・タイプ名

新しいリソース・タイプの名前です。この名前は、SSOCONN文字列のdata_source_type部分などでリソース・タイプを参照する場合に使用されます。

表示名

ユーザー・インタフェースに表示されるリソース・タイプの名前です。

説明

リソース・タイプの説明や、そのリソース・タイプに関連するその他のテキスト情報です。

認証クラス

必須フィールドですが、Oracle Reports Servicesには使用されません。このフィールド値にはダミーのテキストを入力しておきます。

接続文字列フォーマット

そのリソースに関してOracle Internet Directoryに格納されている値を使用して、Oracle Reports Servicesで接続文字列がどのように構成されるかを定義します。例:

OracleデータベースまたはJDBCデータ・ソースの場合、接続文字列は次のような形式になります。

orclUserIDAttribute/orclPasswordAttribute @orclFlexAttribute1

この文字列は、ユーザー名の後にスラッシュ、パスワード、アット・マーク(@)および追加属性1(データベースのTNS名など)が続くことを示します。この形式に従うと、接続文字列は次のようになります。

scott/tiger@db1

ユーザー名/IDフィールド名

orclUserIDAttributeの値が格納されるユーザー名フィールドの表示名です。この表示名は、「リソースの作成」ページ(図16-5)のorclUserIDAttributeに対応するフィールドの横に表示されます。通常、この表示名には「ユーザー名」のような値を入力します。

パスワード・フィールド名

orclPasswordAttributeの値が格納されるパスワード・フィールドの表示名です。この表示名は、「リソースの作成」ページ(図16-5)のorclPasswordAttributeに対応するフィールドの横に表示されます。通常、この表示名には「パスワード」のような値を入力します。

追加フィールド1から3

orclFlexAttribute1、orclFlexAttribute2およびorclFlexAttribute3の値が格納される追加フィールドの表示名です。これらのフィールドには、ユーザー名やパスワード以外で接続文字列に必要な値を指定します。たとえば、これらのフィールドの1つを使用して、サーバー名やドメイン名を格納できます。この表示名は、「リソースの作成」ページ(図16-5)のorclFlexAttribute1、orclFlexAttribute2またはorclFlexAttribute3に対応するフィールドの横に表示されます。通常、この表示名には、「サーバー」や「ドメイン」のような、フィールドの内容を説明する値を入力します。

7. 「実行」をクリックします。リソース・タイプが作成され、SSOCONN値のdata_source_type部分で参照できるようになります。

関連項目:

第16.3.3.1項「SSOCONN」

16.3.4 Oracle Internet Directoryへの接続

第14章「Oracle Reports Servicesの保護」で説明したように、ユーザーの権限を確認して既存のデータソース接続情報を取得するには、Oracle Reports ServicesではOracle Internet Directoryに接続する必要があります。Oracle Internet Directoryに接続する場合、次の点を検討する必要があります。

- Oracle Internet Directoryの接続エンティティの選択

- Oracle Internet Directoryインスタンスの選択

16.3.4.1 Oracle Internet Directoryの接続エンティティの選択

Oracle Reports Servicesは、アプリケーション・エンティティとしてOracle Internet Directoryに接続します。デフォルトでは、Oracle Reports Servicesのアプリケーション・エンティティは、それぞれOracle Fusion Middlewareのインストールに固有です。同一のOracle Fusion Middlewareインストール先(ORACLE_HOME)から起動されるすべてのReports Serverは、同じアプリケーション・エンティティを使用してOracle Internet Directoryに接続します。この設定によって、Reports Serverでは、それぞれのOracle Fusion Middlewareインスタンスに関連するOracle Internet Directoryの情報にのみアクセスできます。

たとえば、財務グループ用と人事管理グループ用の2つのOracle Fusion Middlewareインスタンスがあるとします。財務グループ用のOracle Fusion MiddlewareインスタンスのReports Serverでは、人事管理グループにのみ関連する情報にアクセスできません。また、その逆についても同じです。このように、Oracle Internet Directoryに格納される情報はデフォルトでよりセキュアになります。

Oracle Reports Servicesの以前のリリースでは、すべてのReports Serverが同一のアプリケーション・エンティティとしてOracle Internet Directoryに接続していました。その結果、Reports ServerからOracle Internet Directory内の情報へのアクセスを制限できませんでした。

制限が少ないセキュリティ・モードに戻す場合、『Oracle Fusion Middlewareリリース・ノート』の「Oracle Reports Services」を参照してください。

16.3.4.2 Oracle Internet Directoryインスタンスの選択

Reports Serverはデフォルトで、Oracle Fusion MiddlewareとともにインストールされるOracle Internet Directoryインスタンスを使用するように構成されます。システムを新しく構築する場合は、この構成が適切です。しかし、既存のOracle Internet DirectoryインスタンスをReports Serverで使用する場合、構成を調整する必要があります。

Oracle Internet Directoryインスタンスの変更は、Oracle Fusion Middlewareの中間層を完全に変更する処理の一部として実行する必要があります。このプロセスの詳細は、『Oracle Fusion Middleware管理者ガイド』でApplication Serverインスタンスの再構成に関する章を参照してください。

脚注の凡例

脚注 1: dc=us,dc=oracle,dc=comは、このインスタンスでの例にすぎません。通常、これらの項目には環境に応じた値を入力します。

16.4 Oracle Internet Directoryの接続エンティティの選択

複数のアプリケーション・エンティティをマージできます。これによって、異なるORACLE_HOMEにインストールされたReports Serverでは、利用可能なSSOCONNリソースを共有できます。マージを行うには、ldapmodifyコマンドを使用してLDIFファイルを実行する必要があります。LDIFファイルの内容は次のとおりです。

dn: dn of the group representing the logical grouping of all report instances
changetype: modify
add: uniquemember
uniquemember: dn of the Reports Application Entity

説明:

dn of the group representing the logical grouping of all report instances is
cn=Virtual Application Group, orclApplicationCommonName=reports_application_
entity_name**, cn=Reports, cn=Products, cn=OracleContext

dn of the Reports Application Entity is
orclApplicationCommonName=reports_application_entity_name**, cn=Reports, cn=Products, cn=OracleContext

** reports_application_entity_name is in the format reportsApp_hostname_GUID. For
example, reportsApp_serv1.example.com_C7543D42A9E26726E034080020A46EE

例

LDIFファイルのエントリ:

dn: cn=Virtual Application Group,
orclApplicationCommonName=reportsApp_Group.example.com_C7543D42A9E26726E0340
80020A46EE2, cn=Reports, cn=Products, cn=OracleContext
changetype: modify
add: uniquemember
uniquemember:
orclApplicationCommonName=reportsApp_serv1.example.com_A8654E53B0F37837F1451
91131B57FF3, cn=Reports, cn=Products, cn=OracleContext

コマンドラインの対応するldapmodifyコマンド

ldapmodify -D cn=orcladmin -w welcome1 -h reportsApp_Group.example.com -p 389 -f mergeentity.ldif

ノート:

サンプルLDIFは、OTN(http://www.oracle.com/technetwork/middleware/reports/overview/index.html)のOracle Reportsページで提供されています。

16.5 インストール後の構成

この項では、インストール後のいくつかのステップについて説明します。これらのステップはオプションであり、第16.2.2項「設定プロセス」での選択に応じて、これらのステップの実行が必要になることがあります。この項の内容は次のとおりです。

- アクセス・クライアント・ファイルの生成

- mod_ossoをパートナ・アプリケーションとして登録することによるSSOの有効化

- OAMに対するWebgateのインストールと構成

16.5.1 アクセス・クライアント・ファイルの生成

認証サーバー用に、アクセス・クライアント・ファイルを生成する必要があります。アクセス・クライアント・ファイルの生成手順は、OracleAS Single Sign-On 10gまたはOracle Access Manager 11gのいずれを使用しているかによって異なります。

OracleAS Single Sign-On Server 10g用のosso.confファイルの生成

次のステップを実行して、OSSO Server用のosso.confファイルを生成します。

1. 認証サーバーのORACLE_HOME/sso/binにあるssoreg.shスクリプトを実行します。

ORACLE_HOME/sso/bin/ssoreg.sh
-oracle_home_path <ORACLE_HOME>
-site_name www.example.com
-config_mod_osso TRUE
-mod_osso_url http://www.oidtierexample.com:7777
-config_file osso.conf
-remote_midtier

ノート:

Windowsでssoreg.batファイルを実行します。

2. 生成されたosso.confファイルをORACLE_INSTANCE/config/OHS/<OHS_INSTANCEにコピーします。詳細は、『Oracle Application Server Single Sign-On管理者ガイド』を参照してください。

3. OHSを再起動して、変更を有効にします。

Oracle Access Manager用のosso.confファイルの生成

次のステップを実行して、OAM Server用のosso.confファイルを生成します。

1. OAMコンソールにログインします。

2. 「システム構成」タブにナビゲートします。「エージェント」を選択し、「OSSOエージェント」ノードにナビゲートします。「作成」をクリックします。

3. ベースURLなどの詳細すべてを指定します。「ポリシーの自動作成」チェック・ボックスが選択されていることを確認します。

4. 「適用」をクリックします。
OAMサーバー用にosso.confファイルが生成されます。このファイルの場所は、OAMコンソールに示されます。

5. 生成されたosso.confファイルをORACLE_INSTANCE/config/OHS/<OHS_INSTANCE>にコピーします。

6. OHSを再起動して、変更を有効にします。
OAMコンソールを使用したosso.confファイルの生成の詳細は、Oracle Fusion Middleware Oracle Access Manager管理者ガイドの管理者コンソールを使用したOSSOエージェントの登録と管理に関する説明を参照してください。

16.5.2 mod_ossoをパートナ・アプリケーションとして登録することによるSSOの有効化

Reportsを非SSOモードでインストールして構成することを選択した後で、SSOを有効にする必要がある場合は、次のタスクを実行する必要があります。後でSSOを有効化するには、mod_ossoをOHS内のパートナ・アプリケーションとして認証サーバーに登録する必要があります。これを実行するステップを次に示します。

1. 第16.5.1項「アクセス・クライアント・ファイルの生成」に記載されているステップに従って、osso.confファイルを生成してコピーします。

2. mod_osso.confファイルをORACLE_INSTANCE/config/OHS/<OHS_INSTANCE>/moduleconfディレクトリに作成します。ファイルは次の例のようになります。

LoadModule osso_module ${ORACLE_HOME}/ohs/modules/mod_osso.so
<IfModule mod_osso.c>
OssoIpCheck off
OssoSecureCookies off
OssoIdleTimeout off
OssoConfigFile osso.conf
#
# Insert Protected Resources: (see Notes below for
# how to protect resources)
#
#______-
#
# Notes
#
#______-
#
# 1. Here's what you need to add to protect a resource,
#    e.g. <ApacheServerRoot>/htdocs/private:
#
<Location /reports/rwservlet>
require valid-user
AuthType Osso
</Location>

</IfModule>  # # If you would like to have short hostnames redirected to # fully qualified hostnames to allow clients that need # authentication via mod_osso to be able to enter short # hostnames into their browsers uncomment out the following # lines # #PerlModule Apache::ShortHostnameRedirect #PerlHeaderParserHandler Apache::ShortHostnameRedirect

3. 変更を有効にするために、Oracle WebLogic管理対象サーバー(WLS_REPORTS)とフロントエンドOHSを再起動します。

16.5.3 OAMに対するWebgateのインストールと構成

webgateをOracle Access Manager 11gと連携させるには、webgateを手動でインストールして構成する必要があります。webgateをアクセス・クライアントとしてインストールして構成する方法の詳細は、『Oracle Fusion Middleware Oracle Identity Managmentインストレーション・ガイド』のOAM用のOracle HTTP Server 11g Webgateのインストールと構成に関する説明を参照してください。

インストール後に、webgateをOAM 11gに対して登録し、webgateがOracle Access Manager 11gサービスと直接通信できるようにします。OAMへの登録は、RREGツールまたはOAMコンソールを使用してOAM 11gエージェントを作成することで実行できます。

OAMコンソールまたはRREGツールを使用してwebgateをエージェントとして登録する方法の詳細は、『Oracle Fusion Middleware Oracle Identity Managmentインストレーション・ガイド』の新しいWebgateエージェントの登録に関する説明を参照してください。

ノート:

mod_ossoをアクセス・クライアントとしてOAMサーバーに登録し、後からwebgateアクセス・クライアントに変更できます。これを行うには、osso.confファイルとmod_osso.confファイルを、ORACLE_INSTANCE/config/OHS/ohs1にあるbackupフォルダにコピーします。

16.6 Reportsサーブレット・ポートをSingle Sign-Onで保護されるように変更する方法

Oracle Reports 11gリリース2 (11.1.2)をインストールすると、デフォルトで次のポートが登録されます。

- WebCacheをインストールすると、WebCacheポートが登録されます。

- Oracle HTTP Server (WebCacheなし)をインストールすると、Oracle HTTP Serverポートが登録されます。

Single Sign-Onで保護する必要のあるReports Servletポートを変更するには:

1. OracleAS Single Sign-Onパートナ・アプリケーション管理ページ(http://oidhost:oidport/pls/orasso)にナビゲートします。

2. Oracle Single Sign-On Server管理ホームページで、Single Sign-On Server管理をクリックします。Single Sign-On Server管理ページが表示されます。

3. 「パートナ・アプリケーション管理」をクリックします。「パートナ・アプリケーション管理」ホームページが表示されます。

4. Reports Servletに関連するホストとポートを選択し、「編集」をクリックします。「パートナ・アプリケーションへのログイン」ページが表示されます。

5. 「名前」、「ホームURL」、「成功URL」、「ログアウトURL」の各フィールドに新しいパラメータを入力します。

6. 「適用」をクリックします。

認証サーバーとしてOAM 11gサーバーを選択した場合は、セキュア・モードでOracle Access Managerを使用するようにReportsを構成できます。セキュア・モードでOracle Access Managerを使用するようにReportsを構成するには、『Oracle Fusion Middleware Oracle Forms and Reportsインストレーション・ガイド』のOracle Access Managerを使用したセキュア・モードでのOracle Forms and Reportsの構成に関する項を参照してください。

注意:

SSLポートを使用している場合は、HTTPではなくHTTPSを指定します。詳細は、第7.14項「Oracle ReportsのHTTPSの有効化」を参照してください。

16.7 Oracle Forms Servicesのセキュリティに関する考慮事項

Oracle Fusion Middleware Forms Servicesのデフォルト構成は、Single Sign-On (SSO)モードでは稼動しません。一方、Oracle Reports Servicesのデフォルトの構成は、SSOモードで稼動します。

Oracle Forms Servicesが非SSOモードで稼動し、Oracle Reports ServicesがSingle Sign-Onモードで稼動していても、Reports Serverとリクエスト対象レポートがOracle Portalに登録されていないかぎり、RUN_REPORT_OBJECTビルトイン・プロシージャを使用して、統合されたOracle Reports ServicesをコールするOracle Forms Servicesアプリケーションでは問題が発生することはありません。

その他の要件:

- Reports Serverプロパティは、Oracle Forms Servicesモジュールのすべてのレポート・オブジェクトに対して明示的に設定する必要があります。

- デフォルト以外のReports Serverを使用する場合、そのサーバーは(Oracle Enterprise Managerを使用して)起動する必要があります。

- システム変数REPORTS_PATHは、ファイルORACLE_INSTANCE/config/reports/bin/reports.shで、実行されるレポートのパスを参照するように変更する必要があります。

- Reports Serverを初めて起動すると、ORACLE_INSTANCE\config\ReportsServerComponent\server_nameディレクトリにrwserver.confという構成ファイルが作成されます。

- Reports Serverのデフォルト・ステータスはセキュアです。Reports Serverのステータスを非セキュアに変更するには、<security>タグをコメントアウトし、<job>タグからsecurityIdを削除することで、ORACLE_INSTANCE\config\ReportsServerComponent\server_name\rwserver.confを変更します。

- これらの変更を行ったら、(Oracle Enterprise Managerを使用して)Reports Serverを停止して再起動する必要があります。

- Oracle Forms ServicesがSingle Sign-Onモードで稼動するように構成されている場合、レポート・リクエストは、Single Sign-Onユーザー・ログインに基づいて、指定されているauthidで送信されます。

- 保護されたレポートとReports Serverは、Oracle Portalに登録できます。

表16-4は、FormsとReportsの考えられる組合せと想定される結果のリストです。

表16-4 FormsがSSOモードまたは非SSOモードで稼動する場合のFormsとReportsの統合結果

レポート・タイプ

登録されセキュアなReports Server(登録済レポートのみ実行)

登録されセキュアなReports Server(任意のレポートを実行)

セキュアでないReports Server

パブリック・アクセスをもつレポート

生成される

生成される

生成される

特定のユーザー・アクセスをもつレポート

生成される

生成される

生成される

特定のユーザー・アクセスをもたないレポート

生成されない

生成されない

生成される

登録されていないレポート

生成されない

生成されない

生成される

第IV部

サーバーへのリクエスト送信

第IV部では、レポート公開に関して有用な詳細情報を説明します。これには、リクエストの実行方法、高度な自動レポート配布の設定方法、XMLカスタマイズ・ファイルを使用して実行時にレポートをカスタマイズする方法、データベース・トリガーを使用してレポートを自動的に起動する方法などが含まれます。

- 第17章「レポート・リクエストの実行」

- 第19章「拡張配布の作成」

- 第21章「XMLによるレポートのカスタマイズ」

- 第18章「Oracle ReportsのWebサービスの使用」

- 第20章「イベント・ドリブンによる公開の使用」

17 レポート・リクエストの実行

この章では、Reports Serverにレポート・リクエストを送信する様々な方法について説明します。ここには次の項があります。

- ReportsのURL構文

- レポート・リクエストの方法

- レポートの配布

- Oracle Portalでのレポートの公開

- Webブラウザからのレポート・リクエストの指定

- URLエンジンへのリクエスト送信

- Webサービスを介したレポートの実行

- Oracle Forms ServicesからのOracle Reportsのコール

- Oracle BPEL Process Managerによるレポートの実行

- 自動実行のためのレポートのスケジューリング

- 追加パラメータ

- キャッシュからのレポート出力の再使用

- キー・マップ・ファイルの使用方法

17.1 ReportsのURL構文

この項では、レポートを公開するためのURLの作成に関するクイック・リファレンス情報を提供します。ここで取り上げる配布タイプは、次の2つです。

- Oracle Reports Servlet

- JSP

ここで提供する情報は、Windows環境とUNIX環境でほとんど同じです。相違点も示してあります。

17.1.1 Oracle Reports Servlet

Oracle Reports Servlet (rwservlet)を介したレポート実行のURL構文は、次のとおりです。

http://web_server.domain_name:port/alias/rwservlet?parameters

表17-1では、URLの構成要素について説明します。

表17-1 Oracle Reports ServletをコールするURLの構成要素

コンポーネント

説明

web_server

Oracle HTTP Serverをインストールしたときに各自で付けた名前。

domain_name

所属する組織のドメイン名。

port

Oracle HTTP Serverがリクエストをリスニングするポート番号。ポートが指定されない場合は、デフォルト(80)が使用されます。

alias

URLがアクセスするファイルへの絶対パスにかわる仮想パス。

rwservlet

Oracle Reports Servletを起動します。

?

コマンドライン・オプションの開始を示します。

parameters

すべてのコマンドライン・オプション、またはコマンドライン・オプションが指定されているキー・マップ・ファイルへのキー。

Oracle Reports Servlet (rwservlet)をコールするURLは次のようになります。

http://neptune.world.com:80/reports/rwservlet?keyname

keynameにより、cgicmd.datキー・マップ・ファイルにおいて一意のヘッダー(キー名)の下に示されているコマンドを参照します(詳細は、第17.13項「キー・マップ・ファイルの使用」を参照)。JSPファイルの場合は、この処理が異なるので注意してください。JSPファイルでは、キーワード/値のペア(cmdkey=value)を使用して、cgicmd.datファイル内のコマンドラインに対するキー名を指定します。

Oracle Reports Servlet (rwservlet)を使用する場合、JSPファイルにペーパー・レイアウトが含まれていると、JSPレポート・ファイルを実行できます。レポートを実行する際に、URLにOracle Reports Servlet (rwservlet)を指定し、コマンドライン・オプション(report=myreport.jsp)でJSPをコールします。

例:

http://neptune.world.com:80/reports/rwservlet?report=myreport.jsp&destype=cache&desformat=html

コマンドライン・キーワードおよび値の詳細は、付録A「コマンドライン・キーワード」を参照してください。

17.1.2 JSP

JSPベース・レポートのURLの構文は、次のとおりです。

http://web_server.domain_name:port/alias/myreport.jsp?parameters

表17-2では、JSPベース・レポートのURLの構成要素を説明します。

表17-2 JSPベース・レポートのURLの構成要素

コンポーネント

説明

web_server

Oracle HTTP Serverをインストールしたときに各自で付けた名前。

domain_name

所属する組織のドメイン名。

port

Oracle HTTP Serverがリクエストをリスニングするポート番号。ポートが指定されない場合は、デフォルト(80)が使用されます。

alias

URLがアクセスするファイルへの絶対パスにかわる仮想パス。

myreport.jsp

このURLで実行されるレポートの*.jspファイル。

?

コマンドライン・オプションの開始を示します。

parameters

すべてのコマンドライン・オプション、またはコマンドライン・オプションが指定されているキー・マップ・ファイルへのキー。

JSPベース・レポートの起動に使用されるURLは、次のようになります。

http://neptune.world.com:80/jsp/myreport.jsp?

URLには、追加のコマンドライン・パラメータを含むcgicmd.datファイル内のコマンドラインを参照するキーを指定できます。その場合は、名前と値のペア(cmdkey=keyname)を使用する必要があります。これは、疑問符で示される問合せ文字列の開始点の後であれば、URLの任意の位置に指定できます。例:

http://neptune.world.com:80/jsp/myreport.jsp?userid=scott/tiger@hrdb&cmdkey=key1

URLでパラメータを結合するときは、スペースを一切挿入せずに、アンパサンド(&)を使用します。

JSPを使用する場合、Oracle Reports Servlet (rwservlet)も使用できます。レポートを実行する際に、URLにOracle Reports Servlet (rwservlet)を指定し、コマンドライン・オプション(report=myreport.jsp)でJSPをコールします。

例:

http://neptune.world.com:80/reports/rwservlet?report=myreport.jsp&destype=cache&desformat=html

コマンドライン・キーワードの詳細は、付録A「コマンドライン・キーワード」を参照してください。

17.2 レポート・リクエストの方法

レポート・リクエストは、様々な方法で実行できます。次に各方法について説明します。

- rwclientコマンドライン
rwclientコマンドライン(UNIXではrwclient.sh)は、非Webアーキテクチャ内でコマンドラインからレポート・リクエストを実行するために使用します。これは、コマンドラインを解析して指定のReports Serverに送る実行可能ファイルを参照します。これには、Reports Runtimeコンポーネント・ファイルのrwrun (UNIXではrwrun.sh)で使用されるものと類似したコマンドライン・オプションを使用できます。

Windowsでの典型的なrwclientコマンドライン・リクエストは、次のようになります。

rwclient report=my_report.rdf userid=username/password@my_db server=server_name destype=cache desformat=html

UNIXでは、同じコマンドを次のように記述します。

rwclient.sh report=my_report.rdf userid=username/password@my_db server=server_name destype=cache desformat=html

コマンドライン・オプションの詳細は、付録A「コマンドライン・キーワード」を参照してください。

- URL
ブラウザからレポートを実行する場合は、URL構文を使用します。このURL構文は、Oracle Reports Servlet (rwservlet)によって、rwclientコマンドライン・リクエストに変換され、その後Oracle Reports Servicesによって処理されます。ユーザーのブラウザからレポート・リクエストを行うのに必要なURL構文をユーザーに提供するか、またはURL構文をハイパーリンクとしてWebサイトに追加することができます。この方法については、この後の項で詳しく説明します。

- Oracle Portal経由
Oracle Portalコンポーネントにより、Oracle Portalページやポートレットにレポートへのリンクを追加したり、レポートの結果を直接ポートレットに出力できます。各レポート・リンクは、レポート・リクエストに関する情報を含んだパッケージ・プロシージャを示します。Oracle Reports Servicesのシステム管理者は、Oracle Portalのウィザードを使用してパッケージ・プロシージャを作成することで、Webを通じてレポートをより便利でセキュアに公開できるようにします。Oracle Portalページ・グループにアクセスする権限のあるユーザーは、リンクをクリックするだけでレポートを実行できます。システム管理者はウィザードから直接レポートを実行できます。詳細は、Oracle Portalのオンライン・ヘルプを参照してください。

レポートをポートレットとして公開する方法の詳細は、第17.4項「Oracle Portalでのレポートの公開」を参照してください。

- パッケージ・プロシージャ
SRW.RUN_REPORTは、Reports Runtimeのコマンドを実行するビルトイン・プロシージャです。SRW.RUN_REPORTを指定するときは、SERVERオプションをReports Server名に設定して、SRW.RUN_REPORTコマンドがrwclientコマンドと同じように動作するようにします。

詳細は、第20章「イベント・ドリブンによる公開の使用」を参照してください。SRW.RUN_REPORTの詳細は、Oracle Reportsのオンライン・ヘルプを参照してください。

- Webサービス
Oracle Reports ServicesをWebサービスとして公開し、Webサービスをサポートする環境(Javaアプリケーションなど)からコールできます。

詳細は、第18章「Oracle ReportsのWebサービスの使用」を参照してください。

17.3 レポートの配布

レポートを作成した後、エンド・ユーザーが参照できるようにレポートを配布できます。この項では、ペーパー・レイアウトによるレポート(REP、RDF、XMLまたはJSPレポート)の配布方法およびWebレイアウトによるレポート(JSPレポート)の配布方法について説明します。

注意:

JSPベースのWebレポートの作成とテストの例の詳細は、『Oracle Reportsチュートリアル』およびOracle Reportsレポートの作成マニュアルのJSPベースのWebレポートのシンプル・パラメータ・フォームの作成に関する項を参照してください。

次の表は、レポートの配布に使用できる方法を、レポートのタイプごとに示しています。

表17-3 レポートの配布方法

レポートのタイプ

方法

使用目的

ペーパー・レイアウトを使用したレポート(REP、RDF、XML)

ペーパー・レイアウトを使用したレポートの配布

ペーパー・レイアウトのみを使用してレポートを配布する方法。

ペーパー・レイアウトを使用したJSPレポート

ペーパー・レイアウトを使用したレポートの配布

どのタイプのペーパー・レポートに対しても、最も簡単な配布方法。ただし、JSPレポートでペーパー・レイアウトとWebレイアウトの両方を使用する場合は、第17.3.3項「WebおよびペーパーへのJSPレポートの配布」を参照することをお薦めします。

ペーパー・レイアウトおよびWebレイアウトを使用したJSPレポート

WebおよびペーパーへのJSPレポートの配布

Webレイアウトとペーパー・レイアウトの両方を使用してレポートを公開する場合に推奨される方法。

注意:

rwrunおよびrwclientは、レポートのペーパー・レイアウトを実行します。レポートは、JSPにペーパー・レイアウトのみしかない場合でも処理され、実行されます。JSPにWebレイアウトのみがあり、ペーパー・レイアウトがない場合、rwrunまたはrwclientを使用してJSPレポートを実行すると、出力が空白になります。JSPにペーパー・レイアウトがある場合は、そのJSPをRDFとして保存してから、rwrunまたはrwclientを使用してRDFを実行することをお薦めします。

17.3.1 ペーパー・レイアウトを使用したレポートの配布

ペーパー・レポートを作成した後、ユーザーがレポートを実行できるように、レポートをReports Serverに配布できます。この項のステップでは、RDF、REP、XMLまたはJSPタイプのレポートを配布する方法について説明します。

注意:

JSPレポートは、レポート設計者がJSPレポートに使用したレイアウトに応じて、Webまたはペーパーのどちらへでも配布できます。この項では、ペーパー・レイアウトを使用してJSPレポートを配布する手順について説明します。ペーパー・レイアウトおよびWebレイアウトを使用したJSPレポートを配布する場合は、第17.3.3項「WebおよびペーパーへのJSPレポートの配布」に記載されたステップに従ってください。

レポートがJavaクラス(たとえば、バーコード・クラスやWebサービス・スタブなど)に依存する場合は、これらのクラスにアクセスするようにプロセスを構成する必要があります。つまり、ペーパー・レイアウトがあるJSPレポートにJavaクラスが含まれている場合、サーバー構成ファイル(スタンドアロン・サーバーの場合は$ORACLE_INSTANCE/config/ReportsServerComponent/server_name/rwserver.conf、インプロセス・サーバーの場合は$DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration/rwserver.conf)のengine要素のclassPathプロパティを設定する必要があります。

ペーパー・レポートを配布するには:

1. レポート・ファイル(RDF、REP、XMLまたはJSP)とその関連ファイル(PLL、PLX、参照イメージなど)を、アプリケーション・サーバーの配布ディレクトリに転送します。

注意:

ファイルを転送するには、FTPやWebDAVなどの、サポートされている方法を使用できます。

2. ファイルの転送先であるアプリケーション・サーバーにあるディレクトリが、Reports Serverのアクセス・パスに含まれていることを確認してください。そうでない場合、REPORTS_PATH環境変数を使用するか、サーバー構成ファイルのReports engine要素のsourceDirプロパティを設定します。

17.3.2 ペーパー・レイアウトを使用したレポートの実行

ペーパー・レポートの配布が終了したら、Webブラウザからレポートを実行できます。

たとえば、ブラウザで、「アドレス」フィールドに、次のURLを入力します。

http://your_web_server:port_num/reports/rwservlet?server=server_name&report=
myreport.rdf&userid=username/password@my_db&desformat=pdf&destype=cache

この例では、レポートがブラウザにPDFフォーマット(desformat=PDF)で表示されます。

ブラウザからレポートを実行する方法の詳細は、第17.5項「Webブラウザからのレポート・リクエストの指定」を参照してください。

17.3.3 WebおよびペーパーへのJSPレポートの配布

JSPレポートは2種類の方法で配布できます。1つは既存のOracle Reportsアプリケーションを使用する方法で、もう1つはユーザー自身が作成したJava EEアプリケーションを使用する方法です。JSPベースのWebレポートを開発およびテストする場合は、既存のアプリケーションを使用する方法が便利です。ただし、レポートの配布準備ができている場合は、ユーザー自身が作成したアプリケーションを使用する方をお薦めします。

注意:

JSPレポートを配布する最も簡単な方法は、次のディレクトリにレポートをコピーする方法です。

$DOMAIN_HOME\servers\WLS_REPORTS\tmp\_WL_user\reports_release\dir_name\war

この項に記載されている、独自のEARファイルを作成してデプロイする手順は単なる指針であり、包括的なものではありません。手順の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverへのアプリケーションのデプロイ』を参照してください。

ペーパー・レイアウトとWebレイアウトの両方を使用したJSPレポートについて

Oracle Reports Builderでは、ペーパー・レイアウトまたはWebレイアウト(あるいはその両方)でJSPレポートを作成できます。これらの各レポートは、次の異なるプロセスを使用して実行します。

- ペーパー・レイアウトを使用したJSPレポートは、Oracle Reportsエンジンを介して実行されます。

- Webレイアウトを使用したJSPレポートは、Java EEコンテナを介して実行されます。

レポートがJavaクラス(たとえば、バーコード・クラスやWebサービス・スタブなど)に依存する場合は、これらのクラスにアクセスするようにプロセスを構成する必要があります。つまり、ペーパー・レイアウトがあるJSPレポートにJavaクラスが含まれている場合、サーバー構成ファイル(スタンドアロン・サーバーの場合は$ORACLE_INSTANCE/config/ReportsServerComponent/server_name/rwserver.conf、インプロセス・サーバーの場合は$DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration/rwserver.conf)のengine要素のclassPathプロパティを設定する必要があります。

Webレイアウトを使用したJSPレポートにJavaクラスが含まれる場合は、WARファイルにクラスまたはJARを追加するか、Java EEコンテナのclasspathを変更します。詳細は、Oracle Containers for Java EEのドキュメントを参照してください。

注意:

ペーパーおよびWebレイアウトを使用したレポート作成の例は、Oracle Reportsレポートの作成マニュアルのバーコードを使用したレポートの作成に関する項を参照してください。簡単なJSPベース型Webレポートの例は、『Oracle Reportsチュートリアル』を参照してください。

この項のステップでは、Java EEアプリケーションを使用して、ペーパーおよびWebレイアウトのJSPレポートを配布する方法について説明します。ペーパーおよびWebレイアウトのJSPレポートを配布するために、新たにOracle Reports Java EEアプリケーションを作成できます。このアプリケーションは、Oracle WebLogic Serverの既存インスタンスや新規インスタンスで作成できます。

17.3.3.1 新規Java EEアプリケーションの作成

この項では、Oracle Reports用に新しいJava EEアプリケーションを作成する方法を説明します。アプリケーション情報を含むWebアプリケーション・アーカイブ(WAR)ファイルを作成して、それをエンタープライズ・アーカイブ(EAR)ファイルとしてデプロイします。Java EEアプリケーションを新たに作成するには、Oracle JDeveloperや他のJava開発ツールを使用できますし、手動でも作成できます。アプリケーションの作成にOracle JDeveloperを使用しない場合は、アプリケーションとJSPレポートの両方に若干の変更を加える必要があります。

Java EEアプリケーションを作成するには:

注意:

Java EEアプリケーションの作成に関する知識が十分でない場合、Sun社のWebサイト(http://java.sun.com/javaee)を参照してください。Oracle JDeveloperの使用方法の詳細は、Oracle JDeveloperのオンライン・ヘルプを参照してください。

1. EARファイルを作成する前に、WEB-INFなどのすべての必要なディレクトリとweb.xmlファイルがアプリケーションに含まれることを確認します。

注意:

WEB-INFディレクトリには、reports_tld.jarという名前のOracle Reports用JSPタグ・ライブラリが必要です。Oracle Fusion Middlewareでは、タグ・ライブラリは次のディレクトリにあります。

DOMAIN_HOME/servers/WLS_REPORTS/tmp/_WL_user/reports_version/random_string/war/WEB-INF/lib/reports_tld.jar

2. JSPベースのWebレポートがOracle Reports用JSPタグ・ライブラリの場所を示していることを確認します。そうでない場合は、レポートは実行されません。
JSPタグ・ライブラリの場所を指定するには、JSPファイルでtaglibディレクティブを使用します。

<%@ taglib uri="/WEB-INF/lib/reports_tld.jar" prefix="rw" %>

3. 手動またはOracle JDeveloperなどのツールを使用して、新規EARファイルを作成します。適切なJava EEフォーマットに従って、WARファイルを作成していることを確認してください。

4. JSPレポートでペーパー・レイアウトが使用され、ペーパーとして配布する場合は、web.xmlファイルを開きます。

注意:

Oracle Fusion Middlewareでは、web.xmlファイルは次のディレクトリにあります。

DOMAIN_HOME/servers/WLS_REPORTS/tmp/_WL_user/reports_version/random_string/war/WEB-INF/lib/reports_tld.jar

Webレイアウトのみを使用したJSPレポートを配布する場合は、ステップ7に進みます。

5. web.xmlファイルに、次のコードを追加します。

<servlet>
<servlet-name>rwservlet</servlet-name>
<servlet-class>oracle.reports.rwclient.RWClient</servlet-class>
<load-on-startup>yes</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>rwservlet</servlet-name>
<url-pattern>/rwservlet*</url-pattern>
</servlet-mapping>

この新しい定義により、/rwservletで始まるすべてのURLが、定義したOracle Reports Servletにリダイレクトされます。

注意:

Oracle Reports Servlet名およびURLは変更できます。

6. web.xmlファイルを保存します。

7. WARファイルからEARファイルを作成します。これらのファイルをコンパイルした後で、保存先を書き留めます。

17.3.3.2 WebLogic Serverを使用したJava EEアプリケーションのデプロイ

WARファイルとEARファイルを作成したら、それらをOracle Fusion Middlewareにデプロイできます。これにより、アプリケーションはWebで使用可能になります。これらのファイルは、Oracle Enterprise Managerを使用してデプロイできます。この際、WebLogic Serverインスタンスは既存または新規のどちらでもかまいません。Oracle WebLogic ServerへのJava EEアプリケーションのデプロイの詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverへのアプリケーションのデプロイ』を参照してください。

17.3.4 JSPベースのWebレポートのブラウザからの実行

JSPレポートがWebレポートの場合は、作成したJSPレポートをWebブラウザから実行できます。たとえば、ブラウザで、「アドレス」フィールドに、次のURLを入力します。

http://your_computer_name:port/MyReportApp/JSPreportname.jsp?userid=user ID/password@database_name

注意:

このURLでは、MyReportAppが作成したアプリケーションの名前です。

この時点でJSPベースのWebレポートを変更する場合は、次のいずれかを実行してください。

- 前述の位置で、レポートを置換します。

- 変更したJSPベースのWebレポートでWARファイルを再作成し、アプリケーションをデプロイし直します。詳細は、第17.3.3.1項「新規Java EEアプリケーションの作成」を参照してください。

ブラウザからレポートを実行する方法の詳細は、第17.5項「Webブラウザからのレポート・リクエストの指定」を参照してください。

17.3.5 ペーパー・レイアウトを使用したJSPレポートの実行

JSPレポートがペーパー・レイアウトの場合は、次のURLを使用して、ブラウザからJSPレポートを実行できます。

http://your_web_server:portnum/MyReportApp/rwservlet?report=myreport.jsp&userid=
username/password@my_db&server=server_name&desformat=pdf&destype=cache

この例では、レポートがブラウザにPDFフォーマット(desformat=PDF)で表示されます。

ブラウザからレポートを実行する方法の詳細は、第17.5項「Webブラウザからのレポート・リクエストの指定」を参照してください。

17.3.6 UNIXでWE8MSWIN1252文字セットを使用したレポートの実行

UNIXフォントには、WE8MSWIN1252文字セットが設定されていません。NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252の場合、これによってOracle Reportsが正常に実行されない場合があります。インストールされたフォントのコード・ページ(Tk2Motif.rgbファイルで定義)をWE8MSWIN1252文字セットにマップする必要があります。TK2Motif.rgbファイルは、ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/adminディレクトリにあります。

注意:

このマッピングが必要なのは、Oracle Reports Builder、非バッチ・モード(BATCH=NO)のReports Converter、REPORTS_DEFAULT_DISPLAY=NOに設定されたReports ServerおよびReports Runtimeです。Reports ServerとReports Runtimeでは、REPORTS_DEFAULT_DISPLAYを使用して必要なフォントが判断されます。

例1

Tk2Motif*fontMapCs: ISO8859-1=WE8MSWIN1252 (ISO8859-1フォントがインストールされている場合)

17.4 Oracle Portalでのレポートの公開

レポートを公開する最適な方法の1つが、Oracle Portalのセキュアな宣言型インタフェースを使用する方法です。Oracle Portalでレポートを公開するには、第15章「Oracle Portalでのレポートの配布」を参照してください。その場合は、最初にOracle ReportsコンポーネントをOracle Portalで登録してから(第15.2項「Oracle Reportsコンポーネントの登録」を参照)、レポートをポータルに公開します(第15.3項「レポートのポートレットとしての公開」を参照)。

ノート:

Oracle Portal Security、Portal Destination、Job Status Repositoryなどの機能を使用すると、Oracle Reports Servicesによって確立されたJDBCデータベース接続がNLS_LANGの初期設定よりも優先されることがあります。これにより、PDFでの双方向出力などの、実行中のレポートの動作に影響が及ぶ場合があります。UNIXプラットフォームでは、環境切替え機能を使用して、レポートの環境を動的に設定することで、この問題を解決できます。詳細は、第7.2.2項「動的な環境切替え」を参照してください。

17.5 Webブラウザからのレポート・リクエストの指定

レポート・リクエストに必要なURL構文をユーザーに提供できます。あるいは、URL構文をハイパーリンクとしてWebページに追加することもできます。

URL構文は、次の形式で提示できます。

- 完全なURLリクエスト。例:

http://your_webserver.domain_name:port/alias/rwservlet?report=myreport.rdf&userid=
username/password@my_db&server=server_name&desformat=html&destype=cache

他のコマンドライン・キーワードが必要な場合は、rwservletの有効なコマンドライン・キーワードのリストが掲載されている付録A「コマンドライン・キーワード」を参照してください。

- キー・マッピングを使用して単純化したURLリクエスト。例:

http://your_webserver.domain_name:port/alias/rwservlet?key1

17.6 URLエンジンへのリクエスト送信

Reports ServerのURLエンジンをアクティブにした場合は、次のコマンドライン・オプションを使用してジョブ・リクエストをURLエンジンに送信できます。

- urlParameterは、キャッシュに取り込まれるURLを指定します。たとえば、http://www.oracle.comやJSPレポートなどです。

- jobTypeは、URLエンジンに関連付けられているサーバー構成ファイルでのジョブ・タイプの名前(rwurlなど)です。

注意:

URLエンジンのアクティブ化の詳細は、第7.6項「URLエンジンの構成」を参照してください。

たとえば、urlParameterに外部URLを指定するリクエストは、次のようになります。

http://your_webserver:portnum/reports/rwservlet?server=
ReportsServer+jobType=rwurl+urlParameter=
"http://www.oracle.com"+destype=mail+desname=foo@bar.com+desformat=htmlcss

また、urlParameterにJSPレポートを指定するリクエストは、次のようになります。

http://your_webserver:portnum/reports/rwservlet?server=
ReportsServer+jobType=rwurl+destype=cache+urlParameter=
"http%3A%2F%2Flocalhost%2Ffoo.jsp%3Fuserid%3Dscott%2Ftiger@oraDB%3Fserver%3DreportsServer"

注意:

URLに特殊文字が含まれている場合は、x-www-form-urlencoded形式でそのURLをエンコードする必要があります。

17.7 Webサービスを介したレポートの実行

多くの場合、レポートは、スタンドアロンのアプリケーションではなく、より大規模なアプリケーションを統合して実行されます。したがって、アプリケーション内でレポート・リクエストを生成できれば便利です。この目標は、Oracle Reports ServicesをWebサービスとして公開することで達成できます。Webサービスは、Webサービスをサポートする任意の環境(Javaアプリケーションなど)からコールできます。たとえば、システムにJavaベースの経費報告書フォームがあり、ユーザーが経費報告書フォームへの記入を完成させると、毎回そのPDFバージョンを作成できるようにするとします。Javaプロキシ対応のOracle Reports Webサービスを作成することで、Java開発環境(たとえば、Oracle JDeveloper)からそれを参照し、PDFファイルを生成するOracle Reports Servicesを起動するボタンを簡単に追加できます。

関連項目:

サンプル・プロキシとJavaクライアントをインストールして使用する方法とOracle Reports Webサービスの詳細は、第18章「Oracle ReportsのWebサービスの使用」を参照してください。

17.8 Oracle Forms ServicesからのOracle Reportsのコール

Oracle ReportsとOracle Forms Servicesとの間で緊密に製品を統合すると、2つの製品間でデータ・ブロックの受渡しができ、同じ問合せの実行が不要になります。問合せのパーティション化と呼ばれる技法により、Oracle Reportsではデータのフォーマットのみを行い、トリガーや文字パラメータによる問合せの動的な変更が無視されます。

Oracle Forms Servicesでは、すべてのレポート・リクエストに共有Java Virtual Machine (JVM)コントローラが使用されます。これによって、メモリー使用量が削減されます。

注意:

データ・パラメータが過度に広範な場合や問合せが非常に複雑な場合を除いて、体感パフォーマンスの向上はごくわずかです。また、フォームから渡されるデータを受け取ることができるのは、レポートの最上位レベルのグループのみです。

Oracle Forms ServicesとOracle Reportsとの典型的統合では、データ入力フォームを実現するアプリケーションがあり、レポートの生成に使用されます。このプロセスで実行するステップは次の例に類似しています。

- エンド・ユーザーがフォームに値を入力します。その値の一部またはすべてが関連レポートへのパラメータ入力となります。

- エンド・ユーザーがボタンをクリックすると、次のようにレポートが生成されます。

- Oracle Forms Servicesでは、レポートを実行するためのすべてのパラメータが入力されます。

- Oracle Forms ServicesではRUN_REPORT_OBJECTビルトインをコールして、Oracle Reportsにリクエストを送ります。

- Oracle ReportsではジョブIDを返し、Oracle Forms ServicesではそのジョブIDのステータスに関する問合せを行います。

- ジョブ・ステータスがFINISHEDの場合、Oracle Forms ServicesではWEB.SHOW_DOCUMENTビルトインをコールしてリクエストを送り、レポート出力を開きます。

- WEB.SHOW_DOCUMENTビルトインにより、ブラウザで次のURLを開きます。

http://host:port/reports/rwservlet/getjobidn?server=server_name

注意:

セキュア・モードの場合は、URLにauthid=authidも含まれます。

Oracle Forms Servicesアプリケーションからレポートをコールする方法の詳細は、OTN(http://www.oracle.com/technetwork/developer-tools/forms/documentation/techlisting10g-085500.html)にあるホワイト・ペーパー『Integrating Oracle Forms 10g and Oracle Reports 10g』を参照してください。

17.8.1 異なるインスタンス上にインストールされているReportsとFormsの間の通信

Oracle Reports 11gリリース2 (11.1.2)では、Formsとの通信が行われます。FormsとReportsが異なるOracleインスタンス上に構成されている場合は、Formsで次のステップを実行し、Reports Serverとの通信を容易にする必要があります。FORMS_ORACLE_INSTANCEは、Formsが構成されているOracleインスタンスです。

1. 現在の作業ディレクトリから、次のコマンドを実行します。
cd $FORMS_ORACLE_INSTANCE/config

2. 次のようにReportsToolsディレクトリを作成します。
mkdir -p ReportsToolsComponent/ReportsTools

3. 次のようにtools-logging.xmlファイルをコピーします。
cp $ORACLE_HOME/reports/conf/ReportsTools/tools-logging.xml $FORMS_ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools/logging.xml

4. 次のようにtools-log-template.xmlファイルをコピーします。
cp $ORACLE_HOME/reports/conf/ReportsTools/tools-log-template.xml $FORMS_ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools/component-logs.xml

5. 次のようにrwnetwork.confファイルをコピーします。
cp $ORACLE_HOME/reports/conf/rwnetwork.conf $FORMS_ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools/rwnetwork.conf

6. コピーされたファイルの次のマクロを置き換えます。

- $$Instance.directory$$を$FORMS_ORACLE_INSTANCEで置き換えます。

- $$Self.component_type$$をReportsToolsComponentで置き換えます。

- $$Self.name$$をReportsToolsで置き換えます。

- $$Instance.oracle_home$$をORACLE_HOMEディレクトリへのパスで置き換えます。

FormsとReportsが異なるOHSサーバー上に構成されている場合、次のようにして、Formsが構成されているOHSインスタンスからReportsサーブレットにWebリクエストをルーティングする必要があります。

1. reports_ohs.confファイルを次のようにコピーします。
cp $ORACLE_HOME/reports/conf/reports_ohs.conf $FORMS_ORACLE_INSTANCE/config/OHS/ohs1/moduleconf/.

2. マクロ$$managedserverhost$$および$$managaerserverport$$を、WLS_REPORTS管理対象サーバーのホストおよびポートで置き換えます。

3. FORMS_ORACLE_INSTANCEで実行されているOHSを再起動します。

17.8.2 ランダムで連続していないジョブIDの生成

11gリリース2 (11.1.2)の場合、Oracle Reportsでは連番ではなくランダムなジョブIDを生成できるため、特定のジョブのジョブIDを予測するのは不可能です。インプロセス・サーバーの場合に連番ではなくランダムなジョブIDを生成するには、JVMオプションを使用して"-Djobid=random"をOracle WebLogic Serverに渡す必要があります。

スタンドアロン・サーバーの場合は、コマンドラインでJVMオプションを使用して"-Djobid=random"を渡すか、REPORTS_JVM_OPTIONS変数を設定することによって連番ではなくランダムなジョブIDを生成できます。詳細は、第B.1.54項「REPORTS_JVM_OPTIONS」を参照してください。

これにより、悪意のあるユーザーがURLにジョブIDを入力してセキュアでないレポート出力を表示することができなくなります。

17.9 Oracle BPEL Process Managerによるレポートの実行

11gリリース2 (11.1.2)の場合、Oracle ReportsはOracle Service-Oriented Architecture (SOA)スイートに統合されています。これには、Oracle BPEL Process Managerによるレポート作成要件の自動化と監視が含まれています。

Oracle BPEL Process Managerビジネス・プロセスからOracle Reportsジョブの送信、レポート実行のステータスの取得、およびレポートからOracle BPEL Process Managerビジネス・プロセスの起動が可能です。これにより、注文が承認されたときにレポート・リクエストを送信するなどのレポート作成要件をビジネス・プロセスに簡単に組み込むことができます。

詳細は、第7.10項「Oracle ReportsとOracle BPEL Process Managerとの通信の構成」および『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

17.10 自動実行のためのレポートのスケジューリング

サーバーを使用して、Reports Queue Manager (Windowsの場合はrwrqm、Solarisの場合はrwrqv.sh)、Oracle Portal、またはSCHEDULEコマンドライン・キーワードによって、レポートを自動的に実行できます。スケジューリング機能では、レポートを実行する時刻と頻度を指定できます。

レポートのスケジューリングの詳細は、Reports Queue Managerのオンライン・ヘルプを参照してください。

レポートをOracle Portalページでポータル・コンポーネントとして公開する場合、レポート・リクエストが自動的に実行されるようにスケジューリングし、出力されたレポートを指定のページに送信できます。詳細は、Oracle Portalのオンライン・ヘルプを参照してください。

SCHEDULEコマンドライン・キーワードは、rwclientコマンドとrwservletコマンドで使用できます。詳細は、第A.8.3項「SCHEDULE」を参照してください。

17.11 追加のパラメータ

Reports Serverにrwcgiを介してリクエストを送信すると、次に示す追加パラメータがリクエストとともに暗黙的に渡されます。これらのパラメータの値は変更できません。

表17-4 レポート・リクエストとともに渡される追加のパラメータ

名前

説明

ACCEPT_LANGUAGE

ブラウザ/ユーザーが受け付ける言語をカンマで区切ったリスト。

REMOTE_ADDR

リクエストの送信元であるリモートIPアドレス。

REMOTE_HOST

リクエストの送信元であるリモート・ホスト名。

SCRIPT_NAME

実行されるスクリプトの仮想パス。

SERVER_NAME

Oracle Reports Servlet (rwservlet)が実行されているサーバーのホスト名またはIPアドレス。

SERVER_PORT

Oracle Reports Servlet (rwservlet)が実行されているサーバーのポート番号。

SERVER_PROTOCOL

リクエストの送信に使用された情報プロトコルの名前とリビジョン。

USER_AGENT

リモート・クライアントのブラウザの説明。

17.12 キャッシュからのレポート出力の再使用

レポートを実行すると、レポート出力のコピーがOracle Reports Servicesのキャッシュに保存されます。その後で、同じキャッシュ・キーを使用する同一のレポートが実行されると、現行リクエストは重複ジョブとして認識されます。

次に、Reportsのキャッシュ機能の効果的な使用例をいくつか紹介します。

- 新規ジョブ・リクエストのAがReports Serverに送信された時点で、別のジョブであるBが現行ジョブ・キュー内で同じキャッシュ・キーを使用している(エンジンが利用可能になるのを待っているか実行中)場合は、ジョブAではジョブBからの出力が使用されます。
ジョブのキャッシュ・キーには、destype、desname、server、toleranceの各パラメータを除くほとんどすべてのパラメータが含まれています。

このレベルのキャッシュは、自動的に行われます。コマンドラインにその他のパラメータを指定する必要はありません。

- ユーザーが新規ジョブ・リクエストのAでTOLERANCE=n(nは分単位の数値)を指定した場合、Reports Serverでは、終了したジョブ・キュー内でn分以内に正常終了したジョブの検索を試行します。Reports Serverによってこのようなジョブが検出されると、新規ジョブ・リクエストのAではジョブBの出力が返されます。

注意:

詳細は、第A.8.22項「TOLERANCE」を参照してください。

Oracle Reports Servicesのキャッシュの結果は永続的です。Reports Serverを停止してから再起動すると、以前のキャッシュ結果がすべて復元され、再び使用できます。

17.12.1 使用上の注意

キャッシュのサイズは、Reports Queue Manager (Windowsの場合はrwrqm、Solarisの場合はrwrqv.sh)またはサーバー構成ファイル(rwserver.conf)のcache要素により設定できます。Reports Serverでは、キャッシュ・ファイルの合計サイズを設定サイズ以下に保つために、最も古いキャッシュ・ファイルを削除します。さらに、Reports Queue Managerを使用してキャッシュを空にすることもできます。

キャッシュの設定の詳細は、Reports Queue Managerのオンライン・ヘルプおよび第7章「Oracle Reports Servicesの構成」を参照してください。

17.13 キー・マップ・ファイルの使用

URLをユーザーに提供する場合、あるいはハイパーリンクをWebサイトに追加する場合は、キー・マップ・ファイルを使用して、URLリクエスト内のパラメータを単純化したり非表示にしたりできます。この項の内容は次のとおりです。

- キー・マッピングの理解

- キー・マッピングを使用可能にする方法

- キー・マップ・ファイルへのキー・マッピング・エントリの追加

- JSP以外のレポートでのキーの使用

- JSPとしてのレポート実行でのキーの使用

17.13.1 キー・マッピングの理解

キー・マップ・ファイルには、レポートを実行するコマンド文字列が含まれており、それぞれのコマンド文字列の先頭には一意のキー識別子が付加されています。レポートをJSPとして実行する場合を除いて、ランタイムURLでこのキーのみを参照するようにできます。Oracle Reports Servlet (rwservlet)によってこのキー値はキー・マップ・ファイル(cgicmd.dat)に送信され、このファイルから指定キーに関連付けられたコマンドがrwservletに返されて処理されます。キー・マッピングを使用することによって、すべてのコマンドライン・オプションを非表示にできます。

キー・マッピングは次の場合に便利です。

- URLを短縮して、使いやすくする場合

- 元のURLを変更することなく、ランタイム・コマンドをマッピングし直す場合

- 企業にとって典型的ないくつかの実行構成を標準化する場合

- ユーザーからパラメータの一部(データベース接続文字列など)を非表示にする場合

- ユーザーがレポートの実行に使用できるパラメータを制限する場合

キー・マップ・ファイル(cgicmd.dat)からキー名を指定するときは、そのキー名をレポート・リクエストURLの問合せ文字列の開始位置(疑問符の後)に配置する必要があります。ただし、CMDKEYコマンドライン・キーワードの値としてキー名を指定する場合(CMDKEY=keyname)は例外です。この場合は、レポート・リクエストURLにおける問合せ文字列の任意の位置にキー名を配置できます。CMDKEYキーワードは、JSPとして実行されるジョブおよびrwservletコマンドで使用できます。

ノート:

詳細は、第A.5.14項「CMDKEY」を参照してください。

17.13.2 キー・マッピングを使用可能にする方法

キー・マッピングは、標準ファイル名cgicmd.datを持つ有効なファイルが、Webサーバー・マシン上のデフォルトの場所($DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration/cgicmd.datディレクトリ)にある場合に有効になります(WindowsまたはUNIXの場合)。

17.13.3 キー・マップ・ファイルへのキー・マッピング・エントリの追加

キー・マップ・ファイルにキー・マッピング・エントリを追加するには:

1. Reports Serverをホスティングするマシン上のcgicmd.datファイルにナビゲートし、これをテキスト・エディタで開きます。
このファイルは、WindowsとUNIXのどちらの場合も、次のディレクトリにあります。

$DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration/cgicmd.dat

2. キー・マッピング・エントリを追加します。例:

key1: report=your_report.rdf userid=username/password@my_db desformat=html SERVER=server_name destype=cache

この例のkey1は、キーの名前です。

ファイル自体に記述されている特殊なパラメータを除いて、コマンドライン・オプションはrwclientの構文規則に従います。詳細は、第A.2.1項「rwclient」を参照してください。

3. Webページでハイパーリンクを追加または更新します。
詳細は、第17.5項「Webブラウザからのレポート・リクエストの指定」を参照してください。

17.13.4 JSP以外のレポートでのキーの使用

レポート・リクエストURLにキー名を指定するときは、そのキー名が問合せ文字列内の最初の値(疑問符の直後)になるように配置する必要があります。例:

http://…/rwservlet?keyname

キー名では大文字と小文字が区別されるので、キー・マップ・ファイル(cgicmd.dat)に指定されているとおりに正確に入力する必要があります。

次に示すのは、パラメータ・フォームを使用した制限付きの実行に対するキー・マッピングの例です。

URLは次のようになります。

http://web_server.domain_name:port/reports/rwservlet?run_report&par1&par2&parN

キー・マップ・ファイル(cgicmd.dat)には次の記述が含まれている場合があります。

run_report: report=myreport deptno=%1 myparam=%2 %*

これによって、次のコマンドライン・リクエストに相当するリクエストが生成されます。

rwclient report=myreport deptno=par1 myparam=par2 parN

17.13.5 JSPとしてのレポート実行でのキーの使用

レポートをJSPとして実行する場合に、cgicmd.datファイル内のコマンド・キーをコールするときは、URLでcmdkeyキーワードを使用する必要があります。cmdkeyの値(keyname)では大文字と小文字が区別されるので、cgicmd.datに指定されているとおりに正確に入力する必要があります。たとえば、JSP URLは次のようになります。

http://…/myreport.jsp?cmdkey=keyname

注意:

rwservletコマンドでcmdkeyを使用することもできます。

JSPまたはrwservletでcmdkeyを使用する場合は、問合せ文字列内の任意の位置に配置できます。例:

http://…/example.jsp?parameter1=value1&cmdkey=keyname
http://…/rwservlet?parameter1=value1&cmdkey=keyname

使用上の注意

キー・マッピングの使用時に、パラメータがURLからキーに置換される順序は、URLのcmdkeyの配置により決定されます。たとえば、cgicmd.datファイルに次のようなキーがあるとします。

mykeys: DEPTNO=%1 MYPARAM=%2

このキーを参照するJSPレポートを次のように実行します。

http://neptune.world.com:80/jsp/myreport.jsp?userid=scott/tiger@hrdb
&cmdkey=mykeys&10&test

このURLでのcmdkeyの配置により、10は%1に対応し、testは%2に対応します。これらがURLで1番目と2番目のパラメータではなくても、URLのcmdkeyに従い、10とtestは1番目と2番目のパラメータになります。この例では、URLは次のようになります。

http://neptune.world.com:80/jsp/myreport.jsp?userid=scott/tiger@hrdb
&DEPTNO=10&MYPARAM=test

18 Oracle ReportsのWebサービスの使用

Webサービスは、標準のインターネット技術とXML技術を基に構築されたアプリケーションで、次の特徴があります。

- XMLを使用して定義および記述されたパブリック・インタフェースとバインディングを提供します。

- 他のプログラムから使用できるように、これらのパブリック・インタフェースとバインディングをネットワーク全体に公開します。

Webサービスではリクエストを受信すると、そのリクエストに基づいて適切な機能が実行され、レスポンスを返します。リクエストとレスポンスは同一の操作で実行される場合と、別の操作として実行される場合があります。後者の場合、サービス利用者はレスポンスを待つ必要がありません。通常、リクエストとレスポンスには、ポータブルなデータ交換フォーマットであるXMLを使用し、HTTPなどの通信プロトコルによって伝達されます。

Webサービス・トランザクションの多くは、ビジネス組織間でやり取りされます。あるサービスの提供者であるビジネス組織が別のサービスの利用者である場合もあります。軽量プロトコル経由でWebサービス・プロバイダに接続しているThinクライアントなどのクライアント・デバイスが、Webサービス利用者となる場合もあります。

この章ではOracle ReportsのWebサービスについて説明します。この章の内容は次のとおりです。

- 概要

- スタート・ガイド

- Oracle ReportsのWebサービスの操作

- RWWebServiceUtilを使用したRWWebServiceのテスト

18.1 概要

Oracle Reportsには、ジョブ・リクエストをサーバー・インフラストラクチャに送信して処理するための手段が複数用意されています。

- rwservlet
rwservletは、HTTPとReports Serverとの間で、ジョブ・リクエストを変換して伝達します。Webブラウザからの送信やイベント・ドリブン型公開APIによる送信を行う場合などで使用されます。

- rwclient
rwclientは、コマンドラインを解析して送信し、リモートのReports Serverでレポートを実行します。

- Oracle Forms
Oracle Formsは、Rapid Application Development (RAD)ツールで、高度なスケーラビリティを持つインターネット・データベース・アプリケーションの構築に使用します。

Oracle Reportsテクノロジをカスタム・アプリケーション(特に、Javaアプリケーション)と統合するには、それらのアプリケーションからサーバーにジョブを送信する際にrwservlet、rwcgi、rwclientおよびOracle Formsで使用されるメカニズムを実装する必要があります。

Webサービスとしての公開と動作に必要なパブリック・インタフェースとバインディングは、RWWebServiceサーブレットにより提供されます。この機能により、アプリケーション開発者はアプリケーションにOracle Reportsを統合できます。

18.2 スタート・ガイド

この項では、次の操作に必要なステップについて説明します。

- RWWebserviceサーブレットの起動

- WSDLの表示

18.2.1 RWWebserviceサーブレットの起動

RWWebServiceサーブレットを起動するには:

1. Oracle Reportsインスタンスが常駐するOracle WebLogic Serverインスタンスを起動します。

2. ブラウザの「アドレス」フィールドに、次のURLを入力します。 http://yourwebserver:port/reports/rwwebservice
これにより、RWWebServiceのエンドポイントに進みます。RWWebServiceのエンドポイント・ページでは、次のことを実行できます。

1. Oracle ReportsのWebサービスのWSDLを表示します。

2. WebベースのUIを使用して任意のRWWebServiceコマンドを実行します。

18.2.2 WSDLの表示

Web Service Description Language (WSDL)は、利用可能なサービスを、ドキュメント指向またはプロシージャ指向のいずれかの情報を含むメッセージを操作する一連のエンドポイントとして記述するXMLフォーマットです。操作とメッセージは抽象的に記述され、エンドポイントを定義するために、具体的なネットワーク・プロトコルとメッセージ・フォーマットにバインドされます。

ノート:

Oracle ReportsのWebサービスは、Universal Description Discovery and Integration (UDDI)サーバーへの公開によりWSDLの動的検出を行う機能には対応していません。

1. 「RWWebService 」のWebページの「WSDL」リンクをクリックし、Oracle ReportsのWebサービスのWSDLドキュメントを表示します。

ノート:

WSDL XML出力を表示するには、Internet Explorerを使用してください。

2. WSDLの最後のエントリはサービスの説明で、ここにはWebサービスの位置が記述されます。

<soap:address location="http://yourwebserver:8888/reports/rwwebservice" />

図18-1 WSDLの表示

http://yourwebserver:port/reports/rwwebserviceで、URLとポート番号が正しく定義されていることを確認します。

ノート:

指定されているホスト名は、Oracle WebLogic Serverインスタンスが動作しているホスト名であり、Reports Serverが動作しているホスト名ではありません。

Oracle ReportsのWSDL

<?xml version="1.0" encoding="UTF-8"?>
<!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Oracle JAX-WS 2.1.4. -->
<!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Oracle JAX-WS 2.1.4. -->
<definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://oracle.reports/rwclient/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://oracle.reports/rwclient/" name="RWWebService">
<types>
<xsd:schema>
<xsd:import namespace="http://oracle.reports/rwclient/" schemaLocation="http://localhost:8888/reports/rwwebservice?xsd=1"/>
</xsd:schema>
</types>
<message name="getServerInfo">
<part name="parameters" element="tns:getServerInfo"/>
</message>
<message name="getServerInfoResponse">
<part name="parameters" element="tns:getServerInfoResponse"/>
</message>
<message name="getJobInfo">
<part name="parameters" element="tns:getJobInfo"/>
</message>
<message name="getJobInfoResponse">
<part name="parameters" element="tns:getJobInfoResponse"/>
</message>
<message name="getAPIVersion">
<part name="parameters" element="tns:getAPIVersion"/>
</message>
<message name="getAPIVersionResponse">
<part name="parameters" element="tns:getAPIVersionResponse"/>
</message>
<message name="killJob">
<part name="parameters" element="tns:killJob"/>
</message>
<message name="killJobResponse">
<part name="parameters" element="tns:killJobResponse"/>
</message>
<message name="runJob">
<part name="parameters" element="tns:runJob"/>
</message>
<message name="runJobResponse">
<part name="parameters" element="tns:runJobResponse"/>
</message>
<portType name="RWWebService">
<operation name="getServerInfo">
<input message="tns:getServerInfo"/>
<output message="tns:getServerInfoResponse"/>
</operation>
<operation name="getJobInfo">
<input message="tns:getJobInfo"/>
<output message="tns:getJobInfoResponse"/>
</operation>
<operation name="getAPIVersion">
<input message="tns:getAPIVersion"/>
<output message="tns:getAPIVersionResponse"/>
</operation>
<operation name="killJob">
<input message="tns:killJob"/>
<output message="tns:killJobResponse"/>
</operation>
<operation name="runJob">
<input message="tns:runJob"/>
<output message="tns:runJobResponse"/>
</operation>
</portType>
<binding name="RWWebServicePortBinding" type="tns:RWWebService">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<operation name="getServerInfo">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="getJobInfo">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="getAPIVersion">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="killJob">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="runJob">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="RWWebService">
<port name="RWWebServicePort" binding="tns:RWWebServicePortBinding">
<soap:address location="http://localhost:8888/reports/rwwebservice"/>
</port>
</service>
</definitions>

18.3 Oracle ReportsのWebサービスの操作

Oracle Reportsでは、XMLを使用して定義して記述されたパブリック・インタフェースとバインディングを持つWebサービスとしてRWWebServiceサーブレットが公開されます。これらのパブリック・インタフェースとバインディングは、WSDLを介してネットワーク全体に発行されます。

18.3.1 Oracle Enterprise Managerを使用したRWWebServiceのテスト

Oracle Enterprise ManagerでRWWebserviceをテストするには、次のステップを実行します。

1. Oracle Enterprise Managerにログインします。

2. 「WebLogicドメイン」にナビゲートします。

3. 「WebLogicドメイン」メニューから「Webサービス」→「Webサービスのテスト」を選択します。
「Webサービスのテスト」ページが表示されます。

4. WSDLのURLを入力し、「WSDL解析」をクリックします。

5. 起動するWebサービス操作を選択します。

6. 該当するフィールドに有効な値を入力します。

7. 「Webサービスのテスト」をクリックします。
「Webサービスのレスポンス」が表示されます。

8. 値を編集する場合は、「リクエスト」タブをクリックし、ステップ6および7を実行します。

RWWebServiceのエンドポイントでは、次の操作がサポートされています。

- getAPIVersion

- getServerInfo

- getJobInfo

- killJob

- runJob

18.3.1.1 getAPIVersion

getAPIVersion()操作では、Reports Serverのバージョンの詳細をXMLフォーマットで返します。この操作にはパラメータは必要ありません。

ノート:

getAPIVersionは、SOAPレスポンス全体を結果とともに(文字列で)返す唯一の操作です。runJobなどの他の操作では、SOAPレスポンス内に埋め込まれたXMLブロックとしてレスポンスが返されます。

getAPIVersionレスポンスを表示するには:

1. Oracle Enterprise Managerの「Webサービスのテスト」ページにナビゲートします。第18.3.1項「Oracle Enterprise Managerを使用したRWWebServiceのテスト」のステップ1から3を参照してください。

2. 「操作」ドロップダウン・リストから、「getAPIVersion」を選択します。
「テスト」ページにパラメータは表示されません。

3. 「Webサービスのテスト」をクリックします。
SOAPレスポンスが、「レスポンス」タブに表示されます。

次は、getAPIVersion操作のレスポンス例です。

<?xml version="1.0" encoding="UTF-8" ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<ns1:getAPIVersionResponse
xmlns:ns1="http://oracle.reports.rwclient/RWWebService.wsdl"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<return xsi:type="xsd:string">11.1.1.1.0</return>
</ns1:getAPIVersionResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

18.3.1.2 getServerInfo

getServerInfo(String serverName, String authId)操作では、2つのパラメータを使用し、Reports Serverの情報をXMLフォーマットで返します。

有効なパラメータは、次のとおりです。

- serverName: NULLでない有効なサーバー名です。指定されたサーバーがネットワークで稼動していない場合、この操作によってエラーが発生します。

- authId: ユーザー名/パスワード形式の文字列で、セキュリティ保護されたサーバーに指定する必要があります。セキュリティ保護されていないサーバーの場合、このパラメータは無視されます。

getServerInfoレスポンスを表示するには:

1. Oracle Enterprise Managerの「Webサービスのテスト」ページにナビゲートします。第18.3.1項「Oracle Enterprise Managerを使用したRWWebServiceのテスト」のステップ1から3を参照してください。

2. 「操作」ドロップダウン・リストから、「getServerInfo」を選択します。
「テスト」ページに「入力引数」セクションの関連パラメータ・フィールドが表示されます。

3. Reports Server名(arg0)とauthId (arg1)を入力します。

4. 「Webサービスのテスト」をクリックします。
SOAPレスポンスが、「レスポンス」タブに表示されます。

次は、getServerInfo操作の出力例です。

<?xml version = '1.0' encoding = 'ISO-8859-1' standalone = 'yes'?>
<serverInfo name="repserv" version="11.1.1.1.0">
<host>incq246bc</host>
<processId>2588</processId>
<startTime>27-May-2003 10:09:34</startTime>
<queue maxQueueSize="1000"/>
<engine id="rwEng" activeEngine="1" runningEngine="0"/>
<engine id="rwURLEng" activeEngine="1" runningEngine="0"/>
<performance>
<property name="successfulJobs" value="6"/>
<property name="currentJobs" value="0"/>
<property name="futureJobs" value="0"/>
<property name="transferredJobs" value="0"/>
<property name="failedJobs" value="0"/>
<property name="AverageResponseTime" value="2124"/>
<property name="executionTimeToDate" value=""/>
</performance>
</serverInfo>

18.3.1.3 getJobInfo

getJobInfo(Integer jobId, String serverName, String authId)操作では、ジョブ情報をXMLフォーマットで返します。

有効なパラメータは、次のとおりです。

- jobId: 情報が必要なジョブのJob IDです。

- serverName: NULLでない有効なサーバー名の値を指定する必要があります。指定されたサーバーがネットワークで稼動していない場合、この操作によってエラーが発生します。

- authId: ユーザー名/パスワード形式の文字列で、セキュリティ保護されたサーバーに指定する必要があります。セキュリティ保護されていないサーバーの場合、このパラメータは無視されます。

getJobInfoレスポンスを表示するには:

1. Oracle Enterprise Managerの「Webサービスのテスト」ページにナビゲートします。第18.3.1項「Oracle Enterprise Managerを使用したRWWebServiceのテスト」のステップ1から3を参照してください。

2. 「操作」ドロップダウン・リストから、「getJobInfo」を選択します。
「テスト」ページに「入力引数」セクションの関連パラメータ・フィールドが表示されます。

3. jobId (arg0)、Reports Server名(argm1)およびauthId (arg2)を入力します。

4. 「Webサービスのテスト」をクリックします。
SOAPレスポンスが、「レスポンス」タブに表示されます。

次は、job id=3を指定した場合のgetJobInfo操作の出力例です。

<?xml version = '1.0' encoding = 'ISO-8859-1' standalone = 'yes'?>
<serverQueues>
<job id="3" queueType="past">
<name>test.rdf</name>
<type>report</type>
<status code="4">Finished successfully</status>
<owner>RWUser</owner>
<server>repserv</server>
<destination>
<desType>cache</desType>
<desFormat>html</desFormat>
<file>21748116.htm</file>
<file>217481161.jpg</file>
<file>217481160.jpg</file>
</destination>
<timingInfo>
<queued>27-May-2003 10:21:50</queued>
<started>27-May-2003 10:21:50</started>
<finished>27-May-2003 10:21:51</finished>
</timingInfo>
</job>
</serverQueues>

18.3.1.4 killJob

killJob(Integer jobId, String serverName, String authId)操作では、指定されたジョブIDに基づいてジョブを削除し、操作のステータスをXMLフォーマットで返します。

有効なパラメータは、次のとおりです。

- jobId: 情報が必要なジョブのJob IDです。

- serverName: NULLでない有効なサーバー名の値を指定する必要があります。指定されたサーバーがネットワークで稼動していない場合、この操作によってエラーが発生します。

- authId: ユーザー名/パスワード形式の文字列で、セキュリティ保護されたサーバーに指定する必要があります。セキュリティ保護されていないサーバーの場合、このパラメータは無視されます。

killJobレスポンスを表示するには:

1. Oracle Enterprise Managerの「Webサービスのテスト」ページにナビゲートします。第18.3.1項「Oracle Enterprise Managerを使用したRWWebServiceのテスト」のステップ1から3を参照してください。

2. 「操作」ドロップダウン・リストから、「killJob」を選択します。
「テスト」ページに関連パラメータ・フィールドが表示されます。

3. jobId (arg0)、Reports Server名(arg1)、およびauthId (arg2)を入力します。

4. 「Webサービスのテスト」をクリックします。
SOAPレスポンスが、「レスポンス」タブに表示されます。

次は、Job ID=3を指定した場合のkillJob操作の出力例です。

<?xml version = '1.0' encoding = 'ISO-8859-1' standalone = 'yes'?>
<serverQueues>
<job id="3" queueType="past">
<name>test.rdf</name>
<type>report</type>
<status code="7">Canceled upon user request</status>
<owner>RWUser</owner>
<server>repserv</server>
<destination>
<desType>cache</desType>
<desFormat>html</desFormat>
</destination>
<timingInfo>
<queued>27-May-2003 10:21:50</queued>
<started>27-May-2003 10:21:50</started>
<finished>27-May-2003 10:22:00</finished>
</timingInfo>
</job>
</serverQueues>

18.3.1.5 runJob

runJob(String commandLine, Boolean synchronous)操作では、commandLineパラメータの一部として指定されたReports Serverに対してジョブを実行します。

ノート:

Oracle ReportsのWebサービスでは、ジョブの出力や実際のレポートが返されません。

有効なパラメータは、次のとおりです。

- commandLine: ジョブを送信するための完全なコマンドライン構文です。例:

server=repserv report=test.rdf destype=file desname=output.pdf desformat=pdf         userid=scott/tiger@oraDB

ノート:

コマンドライン・パラメータでは、paramform=yesを指定できません。パラメータの実際の値をcommandLine引数の一部として渡す必要があります。

- synchronous: ジョブを同期で実行するかどうかを指定するBOOLEANオブジェクトです。

runJobレスポンスを表示するには:

1. Oracle Enterprise Managerの「Webサービスのテスト」ページにナビゲートします。第18.3.1項「Oracle Enterprise Managerを使用したRWWebServiceのテスト」のステップ1から3を参照してください。

2. 「操作」ドロップダウン・リストから、「runJob」を選択します。
「テスト」ページに関連パラメータ・フィールドが表示されます。

3. コマンドライン構文を入力します(arg0)。また、ジョブを同期で実行するかどうか(T/F、Y/N)を指定します(arg1)。

4. 「Webサービスのテスト」をクリックします。
SOAPレスポンスが、「レスポンス」タブに表示されます。

次は、runJob操作の出力例です。

<?xml version = '1.0' encoding = 'ISO-8859-1' standalone = 'yes'?>
<serverQueues>
<job id="7" queueType="current">
<name>test.rdf</name>
<type>report</type>
<status code="1">Waiting in the queue</status>
<owner>RWUser</owner>
<server>repserv</server>
<destination>
<desType>file</desType>
<desName>output.pdf</desName>
<desFormat>pdf</desFormat>
</destination>
<timingInfo>
<queued>27-May-2003 10:22:00</queued>
<started>27-May-2003 10:22:00</started>
<finished>27-May-2003 10:22:00</finished>
</timingInfo>
</job>
</serverQueues>

18.4 RWWebServiceUtilを使用したRWWebServiceのテスト

Oracle Reportsのインストールには、サンプルRWWebServiceUtil Webサービス・テスト・ユーティリティ・クラスが用意されています。これはORACLE_HOME /reports/jlib/rwrun.jarにあります。RWWebServiceUtilを使用して、RWWebServiceがサポートする様々な処理をテストできます。

このユーティリティの使用に必要なステップは、次のとおりです。

1. クラスパスにrwrun.jarを追加します。

2. 次のようにRWWebServiceUtilを通常のJavaプログラムとして実行します。
$ORACLE_HOME\jdk\bin\java oracle.reports.rwclient.RWWebServiceUtil

3. 次のような使用状況が表示されます。

-endpoint       url of the webservice
-method         web service operation to invoke

runJob,getJobInfo,getServerInfo,killJob,getAPIVersion

Input Parameters for runJob
-cmdline        command line to be used while submitting the job
-sync           boolean value to specify if job should be submitted
in synchronous manner or asynchronous manner

Input Parameters for getJobInfo
-server         server to be used for processing the request
-jobid          jobid in numeric format
-authid         user/password for authentication, if server is secure

Input Parameters for getServerInfo
-server         server to be used for processing the request
-authid         authid for authentication, if server is secure

Input Parameters for killJob
-server         server to be used for processing the request
-jobid          jobid in numeric format
-authid         authid for authentication, if server is secure

4. このユーティリティを使用すると、次のコマンドを使用してReports Serverにジョブを送信できます。

$ORACLE_HOME\jdk\bin\java
oracle.reports.rwclient.RWWebServiceUtil -endpoint
http://yourmachine:port/reports/rwwebservice -method runjob -cmdline
"report=test.rdf desformat=pdf destype=file desname=/tmp/output.pdf
server=ReportsServer" -sync true

5. これにより、リクエストがサーバーに送信され、SOAPレスポンスが次の書式で返されます。

<?xml version = '1.0' encoding = 'UTF-8' standalone = 'yes'?>
<serverQueues>
<job id="2" queueType="past">
<name>/home/vnanda/test.rdf</name>
<type>report</type>
<status code="4">Report  finished successfully.</status>
<owner>RWUser</owner>
<server>reportsserver</server>
<destination>
<desType>file</desType>
<desName>/tmp/output.pdf</desName>
<desFormat>pdf</desFormat>
<file>output1.pdf</file>
</destination>
<timingInfo>
<queued>Feb 17, 2009 9:41:36 AM</queued>
<started>Feb 17, 2009 9:41:36 AM</started>
<finished>Feb 17, 2009 9:41:38 AM</finished>
</timingInfo>
</job>
</serverQueues>

6. 同様に、RWWebServiceUtilを使用してRWWebServiceに対する他の処理も起動できます。

19 拡張配布の作成

レポートに拡張配布を定義する場合は、配布XMLファイラの作成を通じて配布を設計できます。このファイルでは、レポートのセクションごとに宛先と出力フォーマットを指定できます。1つの配布XMLファイルに、各自で設計したカスタム(プラガブルな)宛先を含めて複数の異なる宛先を指定できます(第19.4.9項「destype」を参照)。

ノート:

配布XMLファイル(distribution.xml)のサンプルは、Oracle Reportsの$ORACLE_HOME/reports/samples/demoディレクトリにあります。このファイルを目的に合せて再利用すれば、いちから作成する必要はありません。

この章では、配布XMLファイルの作成について説明するとともに、いくつかの使用例を示します。ここには主に次のような項があります。

- 配布の概要

- このリリースでの新機能

- 配布XMLファイルの概要

- 配布XMLファイルの要素

- 配布XMLファイルの例

- 実行時の配布XMLファイルの使用方法

- 配布の使用に関する制限

19.1 配布の概要

配布XMLファイルは、レポート出力の配布を指定するために必須ではありませんが、配布が複雑である場合に役立ちます。たとえば、あるレポートの出力を様々な方法で公開する場合があります。レポートのエグゼクティブ・サマリーを上級管理職に、詳細な内訳を個々の部門管理者にそれぞれ電子メールで送信するとします。この場合、2つのレポート・セクションからなる1つのレポートを作成します。1つは縦長のサマリー・セクション、もう1つは横長の詳細セクションです。管理者のリストが含まれるデータ・モデル・グループに詳細セクションを関連付け、宛先を変更してグループの各インスタンスでレポートを一括処理し、関連する管理者に各部門の出力を送信します。

配布XMLファイルを使用すると、ある特定のレポートの複数の出力を1つのXMLファイルに定義し、そのファイルをコマンドラインまたはURLから呼び出すことができるため、配布の複雑さが軽減されます。

XMLやDELIMITEDDATAなどのデータドリブン形式とPDFやENHANCEDSPREADSHEETなどのレイアウトドリブン形式での一括処理および配布を、同じレポート定義ファイルを使用して行うには、次の要件を満たしている必要があります。

- 配布XMLファイルでinclude要素が指定されていること。例:

&lt;include src="mainSection"/&gt;

- 配布XMLファイルで指定されたセクションに「繰返し」プロパティを適切に設定する必要があります。

- ペーパー・レイアウトを使用したレポートでは、配布XMLファイルで指定されたセクションを空欄にしないようにする必要があります。

19.2 このリリースでの新機能

Oracle Reports 11gリリース2 (11.1.2)では、表19-1(表1-1「11gの機能と10gの機能との比較の一部」)に示すように、すべての出力フォーマットに一括処理して配布する機能が強化されています。また、他にも新機能が追加されています。

表19-1 11gの配布一括処理機能と10gの機能との比較

11gの新機能

10gにおける同等機能

次のものを含めてすべての宛先と出力フォーマットに一括処理して配布する機能が完全にサポートされています。

- すべてデフォルトのプラガブル宛先

- XMLやDELIMITEDDATAなどのデータ駆動型フォーマット、および新機能のENHANCEDSPREADSHEETフォーマットなどのレイアウトベース・フォーマット

一括処理と配布では宛先と出力フォーマットが制限されています。

レポート定義においてシステム・パラメータが配布に対応しました。レポート定義で指定したDESTYPEシステム・パラメータ、DESFORMATシステム・パラメータおよびDESNAMEシステム・パラメータにおいて、配布出力が対応しました。

たとえば、次のシステム・パラメータをレポートで定義するとします。

DESTYPE=FILE、DESFORMAT=PDFおよびDESNAME=/tmp/a.pdf

配布XMLファイルまたはコマンドラインで指定する必要があるパラメータ値なしでこれらの値を使用して、レポート出力が生成され配布されます。

さらに、ユーザーがDESTYPE、DESFORMATまたはDESNAMEの値をランタイム・パラメータ・フォームで実行時に変更したり、実行時における計算に基づいてOracle Reportsによりこれらのシステム・パラメータの値を設定すると、レポートが配布される際にパラメータの値が使用されます。

レポート定義で指定されたDESTYPE、DESFORMATまたはDESNAMEのシステム・パラメータの値は配布出力では使用されません。これらのシステム・パラメータのデフォルト値を配布レポート用に変更するには、配布レポートまたはコマンドラインで指定する必要があります。

配布宛先用のセキュリティ・チェック:セキュリティ・ポリシーを配布ジョブ用に定義できる機能です。たとえば、レポート出力がENHANCEDSPREADSHEETフォーマットに対して一括処理できないように指定するセキュリティ・ポリシーを定義できます。配布XMLファイルでENHANCEDSPREADSHEETフォーマットが指定されると、この出力フォーマットにレポートを生成しようとするとエラーが表示されます。

配布XMLファイルで指定された宛先に対してセキュリティ・チェックは実行されません。

その他の改善点: 一括処理ジョブと改善された診断がサポートされるなど改善点が他にもあります。

該当なし

19.3 配布XMLファイルの概要

この項では、配布に関連するXMLファイルの使用方法について説明します。

- distribution.dtdファイル

- 属性内での変数の使用

19.3.1 distribution.dtdファイル

配布XMLファイルを作成する際は、WindowsとUNIXの次のディレクトリにあるdistribution.dtdファイルに定義されている構文に従います。

ORACLE_HOME\reports\dtd

次の各項では要素や属性が説明されているので、distribution.dtdファイルを印刷して参照しながら読み進めると参考になります。

ノート:

配布XMLファイル内では、データの大文字と小文字が区別されます。各種の要素および属性の大文字と小文字は、distribution.dtdファイルで指定されているとおりに記述する必要があります。

distribution.dtdファイルには、配布XMLファイル内で有効なすべての要素が示されます。これらの要素にはそれぞれ属性があります。デフォルト値がある属性は、その値を変更する必要がないかぎり、指定しなくてもかまいません。

多数の様々な属性に変数値を使用すると、動的な配布を作成できます。変数値は、配布XMLファイルを使用するレポート内の列を参照します。

19.3.2 属性内での変数の使用

属性内で変数を使用するには、静的値の位置に&amp;column_nameまたは&amp;&lt;column_name&gt;を入力します。

ノート:

アンパサンド(&)と小なり記号(<)は、XMLで特別の意味を持ちます。また、特定のOracle Reportsコマンドライン・オプションに必要な記号でもあります(たとえば、文字パラメータではアンパサンド記号が必要)。変数を設定する際に、XMLにおけるこれらの記号の意味と競合しないようにするには、エンコード形式のアンパサンド(&amp;)および小なり記号と大なり記号(&lt;と&gt;)を指定します。例:

XMLファイル内で間違ってコーディングされた変数は次のようになります。

<mail id="a1" to="&<manager>@mycompany.com" …

XMLファイル内で正しくコーディングされた変数は次のようになります。

<mail id="a1" to="&amp;&lt;manager&gt;@mycompany.com" …>

変数での大なり記号(>)の使用については特に制約がありませんが、一貫性を持たせるために、エンコード形式(&gt;)の使用をお薦めします。

使用する変数の構文は、値が単独で表されるか、または他の値や文字列と組み合せて表されるかによって異なります。たとえば、mail要素のto属性の値は、次のいずれかで表されます。

<mail id="a2" to="&amp;email" …>

または

<mail id="a3" to="&amp;&lt;first_name&gt;.&amp;&lt;last_name&gt;@myco.com …>

最初の例(id="a2")では、変数が参照する列(email)に完全なメール・アドレスが含まれているため、追加情報が必要ありません。2番目の例(id="a3")では、変数値(first_nameとlast_name)と静的テキストを組み合せて電子メール・アドレスを表しています(静的テキストはfirst_nameの後のピリオドと@myco.com)。どちらの場合も、電子メールのアドレスが動的に指定されます。どちらの例を使用するかは、変数に必要なすべての情報が含まれているか、または補完のための追加情報を必要とするかによって異なります。

さらに複雑なレイアウトの場合は、PL/SQL式で作成したレポート列を参照することもできます。たとえば、レポートの中で次のPL/SQL列を定義するとします。

PL/SQL formula CF_MAILID: return(:first_name||'.'||:last_name)

この列を、配布XMLファイルで次のように参照します。

to="&amp;&lt;CF_MAILID&gt;@mycompany.com"

19.4 配布XMLファイルの要素

配布XMLファイルの要素は、次のとおりです。

- destinations

- foreach

- mail

- body

- attach

- include

- file

- printer

- destype

- property

このうちほとんどの要素には、その要素の動作を定義する属性があります。次の各項では、配布XMLファイル要素とその関連属性について説明します。第19.5項「配布XMLファイルの例」では、一般的なシナリオにおける配布XMLファイルの要素と属性の使用例を示します。

19.4.1 destinations

例

<destinations>

one or more distribution specifications

</destinations>

必須/オプション

必須です。配布XMLファイルには、1つのdestinations要素を指定する必要があります。

説明

destinations要素は、配布XMLファイルのコンテンツ領域を開始および終了します。配布XMLファイルのタグ階層で見ると、destinations要素にそれ以外のすべての要素が従属しています。

19.4.2 foreach

例

<foreach>
<mail id="a1" to="my_addressee@mycompany.com" subject="Fourth Quarter Results">
<attach format="pdf" name="dept_&amp;&lt;department_ID&gt;.pdf'
srcType="report" instance="this">
<include src="mainSection"/>
</attach>
</mail>
</foreach>

または

<mail id="a4" to="recipient@mycompany.com" subject="Regional Results">
<foreach>
<attach format="pdf" name="report.pdf" srcType="report" instance="all">
<include src="mainSection"/>
</attach>
</foreach>
</mail>

必須/オプション

オプションです。foreach要素は、必要な数だけ指定できます。

説明

foreach要素は、繰返しグループに対して配布を一括処理するために使用します。foreachを使用できるのは、関連するレポート定義ファイル(RDF、JSP、XMLのいずれか)において、一括処理されるセクションに対する繰返しプロパティが、該当するグループに設定されている場合にかぎられます。foreach要素は、開始と終了タグの間に定義されている配布を、各繰返しグループに対して実行するように指定します。

「繰返し」プロパティは、レポート・セクション(ヘッダー、メイン、トレーラ)でデータ・モデルのブレーク・グループをセクションに関連付けるために設定できます。セクションに「繰返し」プロパティを設定すると、セクションの複数インスタンス(繰返しセクション)を生成できます。

レポートで一括処理および配布を実装する場合は、セクションの「繰返し」プロパティをデータ・モデルのブレーク・グループに設定すると、セクション・レベルの配布を生成することができます。これにより、そのブレーク・グループの列レコードごとにセクションのインスタンスが生成されます。その後、セクションの各インスタンスを適宜配布できます(たとえば、MANAGERグループ内の個々のマネージャへの配布)。

「繰返し」プロパティを複数のレポート・セクション(ヘッダー、メインおよびトレーラ)に対して設定する場合は、「繰返し」プロパティの値は同じデータ・モデルのブレーク・グループに設定する必要があります。ヘッダー、メインおよびトレーラ・セクションのいずれかで「繰返し」プロパティを異なるデータ・モデルのブレーク・グループに設定した場合、Oracle Reportsでは次のメッセージが表示されます。

REP-177: Error while running in remote server
REP-34320: Report sections used in destination '<destination id>' do not repeat on the same group

この項の始めで2番目の例に示されているとおり、foreach要素をmail要素のサブ要素としても使用できます。(この例では、mainSectionがG_DEPARTMENT_IDで繰り返されることを前提として、レポートのmainSectionのすべてのインスタンスを含んだ1つの添付が1つのファイルに作成されます。)

foreach要素の動作には、attach要素およびfile要素のinstance属性が密接に関係しています。foreachでレコード・グループに従って配布を実行するように指定し、instanceで、一括処理されるグループを1つのファイルで配布するか(instance="all")、または別々のファイルとして、つまりグループ・インスタンスごとに1つのファイルを配布するか(instance="this")を指定します。

mail要素とともに使用した場合、foreachの意味は、mail要素に対するその位置によって変わります。

- foreachがmail要素およびinstance="this"の前にある場合は、各グループ・インスタンスが別々のメールとして送信されます。例:

<foreach>
<mail id="a1" to="managers@mycompany.com" subject="results">
<attach name="department_&amp;&lt;department_id&gt;.pdf" instance="this">
<include src="mainSection" />
</attach>
</mail>
</foreach>

レポートがdepartment_idに従ってグループ化され、かつ4つの部門が存在する場合は、グループ・インスタンスの数が4つになります。つまり、受信者ごとに4通の電子メールが作成され、各電子メールにその独自のグループ・インスタンスが添付されます。たとえば、ある電子メールに部門10のレポート、別の電子メールに部門20のレポートが添付され、残りの電子メールにもそれぞれ違う部門のレポートが添付されます。各受信者が、4通の電子メールすべてを受け取ります。

- foreachがmail要素およびinstance="this"の後にある場合は、各グループ・インスタンスが1通の電子メールに添付され、それが各受信者に送信されます。例:

<mail id="a1" to="managers@mycompany.com" subject="results">
<foreach>
<attach name="department_&amp;&lt;department_id&gt;.pdf" instance="this">
<include src="mainSection" />
</attach>
</foreach>
</mail>

19.4.3 mail

例

<mail id="a1" to="jsmith@foo.com" subject="Results">
<body srcType="text">
Attached are quarterly results.
</body>
<attach srcType="report">
<include src="headerSection"/>
<include src="mainSection"/>
</attach>
</mail>

または

<mail id="a4" to="recipient@mycompany.com" subject="Regional Results">
<foreach>
<attach format="pdf" name="report.pdf" srcType="report" instance="this">
<include src="mainSection"/>
</attach>
</foreach>
</mail>

必須/オプション

オプションです。mail要素は、必要な数だけ指定できます。

説明

mail要素は、SMTPベースの発信メール・サーバーを介した配布を指定するために使用します。この要素を使用して、電子メールの受信者、件名および優先度を指定します。

mail要素の開始と終了タグの間には、bodyサブ要素を1つだけ指定できます。また、任意数のattachサブ要素とforeachサブ要素を任意の場所に指定できます。

mail要素には、関連する属性もあります。これらの属性は、mailタグ内に記述されます。たとえば、id、to、subjectの3つの属性が記述されます。

<mail id="a1" to="jsmith@foo.com" subject="Recent Hires">

表19-2では、mail要素の属性を説明します。

表19-2 mail要素の属性

属性

有効値

説明

id

文字列

必須です。特定のmail要素を識別する、配布XMLファイル内で一意のキーワードです。テキスト文字列と1つ以上の数値を組み合せた値を指定できます(id="a1"など)。id値は、必ず英字で始まる必要があります。

to

文字列

必須です。変数値を指定できます。電子メールの受信者を指定します。完全で正式な電子メール・アドレスを含みます。例:

to="jsmith@foo.com"

複数の受信者は、カンマで区切ります。

関連レポートで使用されている列を参照する変数値を指定することもできます。詳細は、第19.3.2項を参照してください。

cc

文字列

オプションです。変数値を指定できます。電子メールのコピーを受け取る受信者を指定します。

bcc

文字列

オプションです。変数値を指定できます。電子メールのブラインド・コピーを受け取る受信者を指定します。

from

文字列

オプションです。変数値を指定できます。電子メールの送信者を指定します。

replyTo

文字列

オプションです。変数値を指定できます。返信の送信先となる電子メール・アカウントを指定します。

subject

文字列

デフォルト: Mail Sent from &amp;Report

オプションです。変数値を指定できます。電子メールの件名を指定します。subjectが指定されなかった場合は、件名の行にMail Sent from [Name of Report]と表示されます。

priority

highest|high|normal|low|lowest

デフォルト: normal

電子メールの配信優先度。

returnReceipt

true|false

デフォルト: false

電子メールが受信されたときに返信先の個人またはアカウントに通知するかどうかを指定します。

organization

文字列

オプションです。変数値を指定できます。電子メールを配布する組織の名前を指定します。例:

organization="Region 10 Sales"

または

organization="&amp;department_name"

ノート:

mail要素が正しく機能するには、Reports Serverで、メールの送信先である発信SMTPメール・サーバーを認識できる必要があります。この情報は、Reports Server構成ファイル(rwserver.conf)で指定します。このファイルのpluginParam要素に、メール・サーバーの名前を入力できます。例:

<pluginParam name="mailServer" value="%MAILSERVER%">
<property name="enableSSL" value="yes"/>
</pluginParam>

詳細は、第7章「Oracle Reports Servicesの構成」を参照してください。

19.4.4 body

例

Windowsの場合

<mail id="a1" to="jsmith@foo.com" subject="Results">
<body srcType="file">
<include src="c:\mail\body.html"/>
</body>
</mail>

UNIXの場合

<mail id="a1" to="jsmith@foo.com" subject="Results">
<body srcType="file">
<include src="/mail/body.html"/>
</body>
</mail>

必須/オプション

オプションです。1つのmail要素には、body要素を1つだけ関連付けることができます。

説明

body要素は、mail要素のサブ要素です。これは、電子メールの内容(body)を指定します。bodyでは、body要素の開始タグと終了タグとの間にテキスト文字列を入力することも、includeサブ要素を使用して外部ファイル、レポートまたはレポートのセクションを指定することもできます。例:

<mail id="a1" to="jsmith@foo.com" subject="Results">
<body srcType="text">
Attached are quarterly results.
</body>
…

または

<mail id="a1" to="jsmith@foo.com" subject="Results">
<body srcType="file">
<include src="d:/reports/admin/results.html"/>
</body>
…

または

<mail id="a1" to="&amp;&lt;first_name&gt;.&amp;&lt;last_name&gt;@myco.com"
subject="Quarterly Results">
<body srcType="report" format="html">
<include src="headerSection"/>
</body>
…

body要素には、srcType、format、instanceの3つの属性があります。詳細は、表19-3を参照してください。

表19-3 mailのbodyサブ要素の属性

属性

有効値

説明

srcType

file|report|text

デフォルト: report

電子メールの内容のソース。内容は電子メールの本文に表示されます。srcTypeを指定しなかった場合は、デフォルト値が使用されます。

format

html|htmlcss|ascii|delimiteddata

デフォルト: html

srcTypeがreportであり、formatがデフォルトのhtml以外の場合は必須です。それ以外の場合、formatはオプションです。内容のフォーマットを指定します。

instance

this|all

デフォルト: all

foreach要素が存在する場合にも使用します。グループ化されたレポートが別々のレポートに一括処理される場合は、instanceで、グループをグループ・インスタンスごとに個別の内容へと分割するか(this)、またはすべてを同じ内容に収めるか(all)を指定します。

19.4.5 attach

例

<mail id="a1" to="jsmith@foo.com" subject="Results">
<body srcType="text">
Attached are quarterly results.
</body>
<foreach>
<attach format="html" name="contacts.htm" srcType="report" instance="all">
<include src="headerSection"/>
<include src="mainSection"/>
</attach>
</foreach>
</mail>

または

<mail id="DEST1" to="tsmith@oracle.com" subject="Mail from dest" >
<attach srcType="report" format="delimiteddata" name="myattach.txt"
<include src="report"/>
</attach>
</mail>

必須/オプション

オプションです。attach要素は、1つのmail要素に対して必要な数だけ指定できます。attachは、foreachのサブ要素でもあることに注意してください。foreachでは、そのサブ要素(mail、file、printer、destypeおよびattach)を1つ以上使用する必要があります。

説明

attach要素は、電子メールの添付を指定します。attachには1つ以上のincludeサブ要素が必要です。srcType="report"である場合は、このサブ要素を複数指定できます。

表19-4ではattach要素の属性を説明します。

表19-4 mailのattachサブ要素の属性

属性

有効値

説明

format

pdf|html|htmlcss|rtf|ascii|xml|
delimiteddata|
spreadsheet|
enhancedspreadsheet|
dflt

デフォルト: pdf

添付のフォーマットを指定します(format="htmlcss"など)。srcTypeがreportであり、レポート・フォーマットがデフォルトのpdf以外の場合は必須です。それ以外の場合、formatはオプションです。

name

文字列

オプションです。変数値を指定できます。添付のファイル名を指定します。関連レポートで使用されている列を参照する変数値を指定することもできます。詳細は、第19.3.2項を参照してください。

srcType

file|report|text

デフォルト: report

添付のソース(ファイル、レポート、テキストのいずれか)。

instance

this|all

デフォルト: all

foreach要素が存在する場合にも使用します。グループ化されたレポートが別々のレポートに一括処理される場合は、instanceで、グループをグループ・インスタンスごとに個別の内容へと分割するか(this)、またはすべてを同じ内容に収めるか(all)を指定します。

これらの属性をforeach要素と併用すると、グループ・インスタンスで繰り返される宛先を設計し、グループの添付ごとに電子メールを生成できます。例:

<foreach>
<mail id="a2" to="first.name@myco.com,second.name@myco.com, third.name@myco.com,
fourth.name@myco.com" subject="Department Summaries">
<body srcType="text">
Attached is the breakdown of department summaries for the last quarter.
</body>
<attach format="htmlcss" name="deptsum.html" srcType="report" instance="this">
<include src="report"/>
</attach>
</mail>
</foreach>

foreach要素の位置を変えると、複数のファイルが添付された1通の電子メールを生成できます。この場合、グループ・インスタンスごとに添付が異なります。

<mail id="a2" to="first.name@myco.com,second.name@myco.com, third.name@myco.com,
fourth.name@myco.com" subject="Department Summaries">
<body srcType="text">
Attached is the breakdown of department summaries for the last quarter.
</body>
<foreach>
<attach format="htmlcss" name="deptsum.html" srcType="report" instance="this">
<include src="report"/>
</attach>
</foreach>
</mail>

19.4.6 include

例

<mail id="a1" to="jsmith@foo.com" subject="Q4">
<body srcType="text">
Attached are quarterly results.
</body>
<attach srcType="report" format="pdf">
<include src="report"/>
</attach>
</mail>

または

<mail id="a1" to="jsmith@foo.com" subject="Q4">
<body srcType="text">
Attached are quarterly results.
</body>
<attach srcType="report" format="htmlcss">
<include src="headerSection"/>
</attach>
</mail>

または

<mail id="a1" to="jsmith@foo.com" subject="Q4">
<body srcType="text">
Attached are quarterly results.
</body>
<attach srcType="file">
<include src="d:/management/reports/current/Q4.htm"/>
</attach>
</mail>

必須/オプション

bodyおよびattachと併用する際、srcTypeがreportまたはfileである場合は必須です。ただし、srcTypeがtextである場合はオプションです。また、file、printerおよびdestypeとともに使用する場合は必須です。includeが必要なインスタンスでは、必ず1つ指定する必要があります。複数指定してもかまいません。

説明

include要素は、body、attach、file、printerおよびdestypeの各要素とともに使用できます。これは、電子メールの本文に含めるファイル、レポートまたはレポート・セクションを、電子メールの添付、ファイルの内容、プリンタ出力またはカスタム宛先タイプの内容として指定します。

レポート全体ではなく複数のセクションを指定する場合は、必要なセクションごとにincludeを入力します。例:

<mail id="a1" to="jsmith@foo.com" subject="Results">
<body srcType="text">
Attached are quarterly results.
</body>
<attach srcType="report" format="htmlcss">
<include src="headerSection"/>
<include src="mainSection"/>
</attach>
</mail>

先に指定されたbody要素やattach要素のsrcType属性がfileである場合、これに続くincludeで、そのファイルをディレクトリ・パスとファイル名で指定できますし、単にファイル名でも指定できます(そのファイルがREPORTS_PATH環境変数で示されたディレクトリ内にある場合)。例:

<mail id="a1" to="jsmith@foo.com">
<body srcType="file">
<include src="q4sales.pdf"/>
</body>
</mail>

パスを指定する場合は、プラットフォームに適した標準を使用してください。例:

Windowsの場合:

<include src="c:\management\reports\current\Q4.htm"/>

UNIXの場合:

<include src="/management/reports/current/Q4.htm"/>

include要素の開始タグと終了タグの間に他のXML要素は記述されません。

表19-5では、include要素のsrc属性について説明します。

表19-5 bodyまたはattachとともに使用されるincludeサブ要素の属性

属性

有効値

説明

src

(パスおよび)ファイル名

report

headerSection

mainSection

trailerSection

必須です。先行するattach、body、file、printerまたはdestypeの各要素に指定されているデータのソースを指定します。

配布XMLファイルは、特定のレポートを実行するときに呼び出されるため、src="report"である場合は、src属性にレポートの名前や位置を指定する必要がありません。

(パスおよび)ファイル名: 先行する要素がbodyまたはattachで、srcType=fileである必要があります。ディレクトリ・パスとファイル名を指定するか、そのファイルがREPORTS_PATH環境変数で示されたディレクトリにある場合はファイル名のみを指定します。

その他の値: 先行するbody要素またはattach要素でsrcType=reportを指定する場合、レポート全体を指定するか(report)、または本文に含めたり添付する対象レポートのセクションを指定します(たとえば、headerSection、mainSectionまたはtrailerSection)。

19.4.7 file

例

Windowsの場合

<file id="a7" name="c:\management\reports\report.pdf" format="pdf">
<include src="report"/>
</file>

または

<file id="MyFiles2" name="c:\My_Departments_Report.txt" format="delimiteddata">
<include src="report"/>
</file>

UNIXの場合

<file id="a7" name="/management/reports/report.pdf" format="pdf">
<include src="report"/>
</file>

または

<file id="MyFiles2" name="/My_Departments_Report.txt" format="delimiteddata">
<include src="report"/>
</file>

WindowsまたはUNIXの場合

<foreach>
<file id="a7" name="section&amp;&lt;department_id&gt;.pdf" format="pdf"
instance="this">
<include src="mainSection"/>
</file>
</foreach>

必須/オプション

オプションです。file要素は、必要な数だけ指定できます。

説明

file要素は、ファイルへの配布を指定するために使用します。file要素には、includeというサブ要素が1つあります。file要素の開始タグと終了タグの間には、少なくとも1つのincludeサブ要素が必要です。このサブ要素は複数指定できます。

file要素を、foreach要素およびinstance="this"属性とともに使用すると、グループ化されたレポートの各グループ・インスタンスを別々のファイルに配布できます。たとえば、レポートをdepartment_idでグループ化し、4つの部門が存在する場合は、foreach/file/instance="this"を組み合せて、それぞれが別々の部門のレポートを含んだ4つのファイルを生成できます。この場合、配布XMLファイルにおけるfileエントリは、次のようになります。

<foreach>
<file id="a3" name="dept_&amp;&lt;department_id&gt;.pdf" format="pdf"
instance="this">
<include src="report"/>
</file>
</foreach>

この例では、すべてのレポート・セクション(ヘッダー、メインおよびトレーラ)が同じグループ・インスタンス(department_idなど)で繰り返されます。

表19-6では、file要素の属性を説明します。

表19-6 file要素の属性

属性

有効値

説明

id

文字列

必須です。特定のfile要素を識別する、配布XMLファイル内で一意のキーワードです。テキスト文字列と1つ以上の数値を組み合せた値を指定できます(id="a1"など)。id値は、必ず英字で始まる必要があります。

name

文字列

必須です。変数値を指定できます。宛先ファイルの場所とファイル名を指定します。ディレクトリ・パスを入力します。ファイル名も含めます。例:

Windows: name="d:\reports\q4sales.pdf"

UNIX: name="reports/q4sales.pdf

関連レポートで使用されている列を参照する変数値を指定することもできます。詳細は、第19.3.2項を参照してください。

format

pdf|html|htmlcss|rtf|ascii|xml|
delimiteddata|
spreadsheet|
enhancedspreadsheet|
bitmap

デフォルト: pdf

宛先ファイルのフォーマットです。例:

format="htmlcss"

instance

this|all

デフォルト: all

foreach要素が存在する場合にも使用します。グループ化されたレポートが別々のレポートに一括処理される場合、instanceで、グループをグループ・インスタンスごとに個別のファイルへと分割するか(this)、すべてを同じファイルに収めるか(all)を指定します。

19.4.8 printer

例

Windowsの場合

<printer id="a1" name="\\server_name\printer_name" copies="5">
<include src="report"/>
</printer>

UNIXの場合

<printer id="a1" name="alias_to_registered_printer" copies="5" instance="all">
<include src="report"/>
</printer>

必須/オプション

オプションです。printer要素は、必要な数だけ指定できます。

説明

printer要素は、プリンタへの配布を指定するために使用します。printer要素には、includeというサブ要素が1つあります。printer要素の開始タグと終了タグとの間には、1つ以上のincludeサブ要素が必要です。このサブ要素は複数指定できます。

printer要素を、foreach要素とinstance="this"属性と併用すると、グループ化されたレポートの各グループ・インスタンスを別々の印刷ジョブに配布できます。たとえば、レポートをdepartment_idでグループ化し、4つの部門が存在する場合、foreach/printer/instance="this"を組み合せて、4つの印刷レポート(それぞれが別々の部門のレポートを含んだレポート)を生成できます。この場合、配布XMLファイルにおけるprinterエントリは、次のようになります。

<foreach>
<printer id="a7" name="\\server_name\printer_name" instance="this">
<include src="report"/>
</printer>
</foreach>

この例では、すべてのレポート・セクション(ヘッダー、メインおよびトレーラ)が同じグループ・インスタンス(department_idなど)で繰り返されます。

表19-7では、printer要素の属性を説明します。

表19-7 printer要素の属性

属性

有効値

説明

id

文字列

必須です。特定のfile要素を識別する、配布XMLファイル内で一意のキーワードです。テキスト文字列と1つ以上の数値を組み合せた値を指定できます(id="a1"など)。id値は、必ず英字で始まる必要があります。

name

文字列

必須です。変数値を指定できます。宛先のプリンタを指定します。この情報の入力方法は、WindowsとUNIXで異なります。

Windowsの場合は、プリンタ・サーバー名とプリンタ名を指定します。例:

name="\\server_name\printer_name"

UNIXの場合は、登録されたプリンタに割り当てられた別名を指定します。例:

name="sales_printer"

関連レポートで使用されている列を参照する変数値を指定することもできます。詳細は、第19.3.2項を参照してください。

copies

文字列

デフォルト: 1

各レポートまたは各レポート・グループ・インスタンスの印刷部数。

instance

this|all

デフォルト: all

foreach要素が存在する場合にも使用します。グループ化されたレポートが別々のレポートに一括処理される場合、instanceで、グループをグループ・インスタンスごとに別々の印刷レポートへと分割するか(this)、すべてを同じ印刷レポートに収めるか(all)を指定します。

19.4.9 destype

例

<destype id="acustom1" name="fax">
<include src="headerSection"/>
<property name="number" value="914925551212"/>
</destype>

配布XMLファイルにdestype要素を使用して、配布の宛先をOracle Portal、FTP、WebDAVおよびFAXに指定する例の詳細は、第19.5項「配布XMLファイルの例」を参照してください。

必須/オプション

オプションです。destype要素は、必要な数だけ指定できます。

説明

destype要素は、FAXマシンやFTPサイトなどのカスタムの宛先への配布を指定するために使用します。また、Oracle Portalで作成されたポータルへの配布を指定する場合も、destype要素を使用します。destype要素では、propertyおよびincludeの2つのサブ要素を使用できます。このうち、includeは少なくとも1つ指定する必要があります。

ノート:

カスタムの宛先タイプを指定するには、レポートの内容をカスタムの出力先に導くための配布ハンドラを定義する必要があります。カスタムの宛先タイプは、Oracle Reports Services Destinations APIで作成します。

使用可能なOracle ReportsのAPIの詳細は、Oracle Technology Network (OTN)(http://www.oracle.com/technetwork/middleware/reports/overview/index.html)で提供されている『Oracle Reports Java API Reference』を参照してください。

destype要素を、foreach要素とinstance="this"属性と併用すると、グループ化されたレポートの各グループ・インスタンスを別々のdestypeインスタンス(別々のFAXなど)に配布できます。たとえば、レポートをdepartment_idでグループ化し、4つの部門が存在する場合は、それぞれが別々の部門のレポートが含まれる4つのdestypeインスタンスを生成できます。この場合、配布XMLファイルにおけるdestypeエントリは、次のようになります。

<foreach>
<destype id="a9" name="fax" instance="this">
<include src="report"/>
<property name="number" value="&amp;&lt;fax_number&gt;"/>
</destype>
</foreach>

この例では、すべてのレポート・セクション(ヘッダー、メインおよびトレーラ)が同じグループ・インスタンス(fax_numberなど)で繰り返されます。

カスタムの宛先タイプには、関連する属性もあります。これらの属性は、destypeタグ内に記述されます。たとえば、id、name、instanceの3つの属性が記述されます。

<foreach>
<destype id="a1" name="name_of_destination_type" instance="all">
<include src='report'/>
</destype>
</foreach>

表19-8ではdestype要素の属性を説明します。

表19-8 destype要素の属性

属性

有効値

説明

id

文字列

必須です。特定のfile要素を識別する、配布XMLファイル内で一意のキーワードです。テキスト文字列と1つ以上の数値を組み合せた値を指定できます(id="a1"など)。id値は、必ず英字で始まる必要があります。

name

文字列

必須です。カスタムの宛先の名前を指定します。たとえば、FAXの場合は次のように指定します。

name="fax"

Oracle Portalで作成されたポータルの場合は、次のように指定します。

name="oraclePortal"

instance

this|all

デフォルト: all

foreach要素が存在する場合にも使用します。グループ化されたレポートが別々のレポートに一括処理される場合は、instanceで、グループをグループ・インスタンスごとに個別のdestypeインスタンスへと分割するか(this)、すべてを同じdestypeインスタンスに収めるか(all)を指定します。

たとえば、カスタムの宛先タイプがFAXである場合、instance="this"はグループ・インスタンスごとに個別のFAXを使用することを意味し、instance="all"はすべてのグループに同じFAXを使用することを意味します。

19.4.10 property

例

<foreach>
<destype id="custom1" name="fax" instance="all">
<include src="headerSection"/>
<property name="number" value="914925551212"/>
</destype>
</foreach>

必須/オプション

オプションです。destype要素の下には、必要な数のプロパティを指定できます。

説明

property要素には、カスタムの宛先タイプ(destype)で認識できる用語により表された名前/値のペアを指定します。プロパティは、単に宛先ハンドラに渡されます。Oracle Reports Services内では特に機能しません。プロパティの指定方法は、使用するカスタムの宛先の要件に完全に依存します。

19.5 配布XMLファイルの例

この項では、配布XML要素の単純な例から複雑な例までを紹介します。これらの例は、次に示すdistribution.dtdの主要な要素に基づいて編成されています。

- foreachの例

- mailの例

- fileの例

- printerの例

- destypeの例

19.5.1 foreachの例

この項で取り上げる例は、次のとおりです。

- レポート・グループを個別の添付とする単一の電子メール

- グループ・インスタンスごとに個別の電子メール

- 単独のセクションを添付とする個別の電子メール

- セクションごとに異なるファイル

- レポートごとに実行される印刷

19.5.1.1 レポート・グループを個別の添付とする単一の電子メール

この例では、各添付がヘッダー、メイン、トレーラの各セクションの対応するインスタンスを含んでいます。つまり、レポートがdepartment_idでグループ化され、最初の部門が部門10である場合は、部門10の情報を含んでいるヘッダー、メイン、トレーラの各セクションからなるレポートが最初の添付となります。この例が有効となるのは、同じグループ・インスタンス(この例の場合はdepartment_id)でヘッダー、メイン、トレーラの各セクションが繰り返される場合にかぎられます。

<mail id="a1" to="managers@mycompany.com" subject="New Hires">
<foreach>
<attach format="html" srcType="report" instance="this">
<include src="report"/>
</attach>
</foreach>
</mail>

まず、この例では、managers@mycompany.comが各部門の管理者に配信を行うメーリング・リストのアドレスであることを前提とします。10、20、30、40の4つの部門がある場合は、最初の添付に部門10に対応するヘッダー、メイン、トレーラの各セクションが取り込まれ、後続の各添付に残りの各部門に対応するセクションが取り込まれます。この例では、4つの添付を伴う電子メールが受信者ごとに1通ずつ作成されます。

19.5.1.2 グループ・インスタンスごとに個別の電子メール

この例では、各受信者が、グループ化されたレポートごとに異なる電子メールを受け取ります。たとえば、レポートがdepartment_idでグループ化され、4つの部門が存在する場合は、1人の受信者がそれぞれに各部門のレポートが添付された4通の電子メールを受け取ります。

<foreach>
<mail id="weeklies" to="managers@mycompany.com">
<attach format="htmlcss" srcType="report" instance="this">
<include src="mainSection"/>
</attach>
</mail>
</foreach>

19.5.1.3 単独のセクションを添付とする個別の電子メール

この例では、個別のセクションが別々のグループで繰り返されます。各受信者が、グループ化されたメイン・セクションごと、およびグループ化されたトレーラ・セクションごとの添付を伴う個別の電子メールを受信するように配布が設定されます。

<foreach>
<mail id="a6" to="managers@mycompany.com" subject="Personnel Reports">
<attach format="pdf" name="attach.pdf" srcType="report" instance="this">
<include src="mainSection"/>
</attach>
<attach format="rtf" name="attach.rtf" srcType="report" instance="this">
<include src="trailerSection"/>
</attach>
</mail>
</foreach>

19.5.1.4 セクションごとに異なるファイル

この例では、グループ・インスタンスごとに異なるファイルが生成されます。グループはdepartment_idで繰り返されます。各ファイルには、関連する部門IDから名前が付けられます。

<foreach>
<file id="a10" name="department_&amp;&lt;department_id&gt;.pdf" instance="this">
<include src="mainSection"/>
</file>
</foreach>

この例では、10から40までの4つの部門があることを前提に、department_10.pdf、department_20.pdfなどの名前で4つのファイルが作成されます。

file要素にはformat属性が含まれていません。srcTypeがfileまたはtextである場合は、これが不要であるためです。srcTypeがreportである場合、これは必須です。

ノート:

この例で、変数値を使用するために一意のファイル名を指定しないと(第19.3.2項を参照)、後から作成される各ファイルによって、前に作成されたファイルが上書きされます。つまり、部門20のdepartment.pdfファイルによって部門10のdepartment.pdfファイルが上書きされます。この上書きは、最後の部門(部門40)レポートの情報を含んだdepartment.pdfが唯一のファイルとなるまで続きます。

Oracle Reports 11gリリース2 (11.1.2)では、レポートの配布と一括処理におけるPDF暗号化をサポートしています。この機能を使用することで、次のように、レポート出力をPDFセキュリティによって保護できます。

<foreach>
<file id="a10" name="department_&amp;&lt;department_id&gt;.pdf" instance="this">
<property name="pdfuser" value="&amp;&lt;department_id&gt;"/>
<include src="mainSection"/>
</file>
</foreach>

生成されたPDF出力を開くには、departmentidとしてパスワードを入力する必要があります。

19.5.1.5 レポートごとに実行される印刷

プリンタ名の指定方法は、WindowsとUNIXで異なります。最初にWindowsの例を示します。次にUNIXの例を示します。

19.5.1.5.1 Windows

この例では、レポートがdepartment_idでグループ化されるという前提で、レポートが部門ごとに印刷されます。

<foreach>
<printer id="a7" name="\\server_name\printer_name" instance="this">
<include src="report"/>
</printer>
</foreach>

19.5.1.5.2 UNIX

この例では、レポートがdepartment_idでグループ化されるという前提で、レポートが部門ごとに印刷されます。

<foreach>
<printer id="a7" name="printer_alias" instance="this">
<include src="report"/>
</printer>
</foreach>

19.5.2 mailの例

この項で取り上げる例は、次のとおりです。

- レポート全体を本文とする電子メール

- レポートの1つのセクションを本文とする電子メール

- レポートの2つのセクションを本文とする電子メール

- 外部ファイルを本文とし、レポートを添付とする電子メール

- レポート全体およびグループ化されたセクションが添付された電子メール

- 関連する管理者と部門に送信される電子メール

19.5.2.1 レポート全体を本文とする電子メール

レポートがこの電子メールの内容となります。つまり、受信者がこの電子メールを開くと、レポートが表示されます。

<mail id="a5" to="managers@mycompany.com" subject="Quarterly Report">
<body srcType="report" format="html">
<include src="report"/>
</body>
</mail>

19.5.2.2 レポートの1つのセクションを本文とする電子メール

レポートの1つのセクションがこの電子メールの内容となります。つまり、受信者がこの電子メールを開くと、レポートのセクションが表示されます。

<mail id="a6" to="employees@mycompany.com">
<body srcType="report" format="html">
<include src="mainSection"/>
</body>
</mail>

このmail要素にはsubject属性が含まれないため、デフォルトの件名であるMail Sent From &amp;Reportが使用されます。変数&amp;Reportは、実行時にレポートの名前で置き換えられます。

19.5.2.3 レポートの2つのセクションを本文とする電子メール

レポートの2つのセクションがこの電子メールの内容となります。つまり、受信者がこの電子メールを開くと、1つのレポートに結合された2つのセクション(headerSectionとmainSection)が表示されます。

<mail id="emp_addresses" to="employees@mycompany.com" subject="Employee Address List">
<body srcType="report" format="html">
<include src="headerSection"/>
<include src="mainSection"/>
</body>
</mail>

19.5.2.4 外部ファイルを本文とし、レポートを添付とする電子メール

このメールでは、外部ファイルが本文の内容となり、レポートが添付となります。外部ファイルへのパスの表し方は、WindowsとUNIXで異なります。

19.5.2.4.1 Windows

<mail id="XQRSN" to="accounting@mycompany.com" subject="Salaries">
<body srcType="file">
<include src="c:\mail\body.html"/>
</body>
<attach format="pdf" name="salaries.pdf" srcType="report">
<include src="report"/>
</attach>
</mail>

19.5.2.4.2 UNIX

<mail id="XQRSN" to="accounting@mycompany.com" subject="Salaries">
<body srcType="file">
<include src="/mail/body.html"/>
</body>
<attach format="pdf" name="salaries.pdf" srcType="report">
<include src="report"/>
</attach>
</mail>

19.5.2.5 レポート全体およびグループ化されたセクションが添付された電子メール

この例では、受信者が複数の添付を伴う1通の電子メールを受け取ります。その内訳は、グループ・インスタンスごとの1つの添付と、レポート全体を含んだ1つの添付です。レポートがdepartment_idでグループ化され、4つの部門が存在する場合は、受信者が5つの添付を受け取ります(部門ごとに1つの添付とレポート全体の添付)。

<mail id="grx90" to="sales@mycompany.com">
<body srcType="text">Attached you will find the summary report and breakdown by department of weekly totals.
</body>
<attach format="rtf" name="myAttach.rtf" srcType="report">
<include src="report"/>
</attach>
<foreach>
<attach format="pdf" name="myattach.pdf" srcType="report" instance="this">
<include src="mainSection"/>
</attach>
</foreach>
</mail>

19.5.2.6 関連する管理者と部門に送信される電子メール

この例では、部門10の管理者が部門10のレポートを受け取り、部門20の管理者が部門20のレポートを受け取ります。このタグ・セットが有効となるためには、添付されたセクションで使用されている「繰返し」グループに含まれる列を変数が参照する必要があります。つまり、セクションがG_department_idで繰り返される場合、managerがそのグループの列である必要があります。

<foreach>
<mail id="mgr1090" to="&amp;&lt;manager&gt;@mycompany.com">
<attach format="pdf" name="attach.pdf" srcType="report" instance="this">
<include src="mainSection"/>
</attach>
</mail>
</foreach>

Oracle Reports 11gリリース2 (11.1.2)では、レポートの配布と一括処理におけるPDF暗号化をサポートしています。この機能を使用することで、次のように、レポート出力をPDFセキュリティによって保護できます。

<foreach>
<mail id="mgr1090" to="&amp;&lt;manager&gt;@mycompany.com">
<property name="pdfuser" value="&amp;&lt;manager&gt;" />
<attach format="pdf" name="attach.pdf" srcType="report" instance="this">
<include src="mainSection"/>
</attach>
</mail>
</foreach

19.5.3 fileの例

グループ化されたレポートを一括処理してファイルに配布する場合は、繰返しグループに基づいた変数値またはその他の変数情報を使用してファイル名を指定する必要があります。そうしないと、ファイルが作成されるたびに、前に作成されたファイルが上書きされるおそれがあります。たとえば、department.pdfの出力ファイル名を指定し、各部門のレポートのインスタンスを個別に出力すると、2番目のdepartment.pdfファイルによって最初のdepartment.pdfファイルが上書きされ、3番目のdepartment.pdfファイルによって2番目のdepartment.pdfファイルが上書きされます。その結果、最後の部門のレポートのみが残ることになります。グループ化されたレポートをグループ・インスタンスごとに個別に出力する場合は、変数値を使用してファイル名を指定してください(name="department_&amp;&lt;department_id&gt;.pdf"など)。

この項で取り上げる例は、次のとおりです。

- レポート全体のファイル

- 結合されたレポート・セクションのファイル

- 結合されたセクションからなる各グループのファイル

- レポート・グループ・インスタンスごとのファイル

19.5.3.1 レポート全体のファイル

この例では、レポート全体を含むreport.pdfというファイルが作成されます。

19.5.3.1.1 Windows

<file id="a1" name="c:\reports\report.pdf" format="pdf">
<include src="report"/>
</file>

19.5.3.1.2 UNIX

<file id="a1" name="/reports/report.pdf" format="pdf">
<include src="report"/>
</file>

19.5.3.2 結合されたレポート・セクションのファイル

この例では、レポートのヘッダー・セクションとメイン・セクションで構成されるレポートを含んだ、sections.pdfというファイルが作成されます。

<file id="a2" name="sections.pdf" format="pdf">
<include src="headerSection"/>
<include scr="mainSection"/>
</file>

19.5.3.3 結合されたセクションからなる各グループのファイル

この例では、繰返しグループごとに異なるファイルが作成されます。各ファイルには、関連するグループのメイン・セクションとトレーラ・セクションを結合したレポートが格納されます。メイン・セクションとトレーラ・セクションが、同じグループで繰り返される必要があります。また、変数のファイル名が、"つまり、レポートがdepartment_idで繰り返され、10から40までの4つの部門が存在する場合は、あるファイルに部門10のメイン・セクションとトレーラ・セクションが収められ、次のファイルに部門20のメイン・セクションとトレーラ・セクションが収められ、残りの部門も同様に処理されます。nameの中の変数値は、G_department_idグループに含まれている列を参照する必要があります。

<foreach>
<file id="file9" name="department_&amp;&lt;department_id&gt;.pdf" instance="this">
<include src="mainSection"/>
<include src="trailerSection"/>
</file>
</foreach>

19.5.3.4 レポート・グループ・インスタンスごとのファイル

この例では、レポートがdepartment_idでグループ化され、10から40までの4つの部門が存在することを前提として、4つのファイルを作成します。それぞれのファイル名はdepartment_10.pdf、department_20.pdf、department_30.pdfおよびdepartment_40.pdfです。

<foreach>
<file id="a20" name="department_&amp;&lt;department_id&gt;.pdf" instance="this">
<include src="report"/>
</file>
</foreach>

19.5.4 printerの例

この項で取り上げる例は、次のとおりです。

- レポート全体の印刷

- レポートの2つのセクションの印刷

- グループ化されたレポートの印刷

- 結合されたセクションをグループ・インスタンスごとに印刷

- レポートの適切なインスタンスをその関連プリンタに印刷

プリンタ名の指定方法は、WindowsとUNIXで異なります。各例では、それぞれの指定方法を示します。

19.5.4.1 レポート全体の印刷

この例では、レポート全体が指定のプリンタに送信されます。

19.5.4.1.1 Windows

<printer id="a80" name="\\neptune\prtr20">
<include src="report"/>
</printer>

19.5.4.1.2 UNIX

<printer id="a80" name="10th_floor_printer">
<include src="report"/>
</printer>

19.5.4.2 レポートの2つのセクションの印刷

この例では、レポートの2つのセクションがプリンタに送信されます。

19.5.4.2.1 Windows

<printer id="a1" name="\\neptune\prtr20">
<include src="headerSection"/>
<include src="mainSection"/>
</printer>

19.5.4.2.2 UNIX

<printer id="a1" name="10th_floor_printer">
<include src="headerSection"/>
<include src="mainSection"/>
</printer>

19.5.4.3 グループ化されたレポートの印刷

この例では、1つのレポートが印刷されます。このレポートは、department_idなどでグループ化されます。そのためには、レポートのすべてのセクションを同じグループで繰り返す必要があります。

19.5.4.3.1 Windows

<foreach>
<printer id="prt20" name="\\neptune\prtr20" instance="all">
<include src="report"/>
</printer>
</foreach>

19.5.4.3.2 UNIX

<foreach>
<printer id="prt20" name="10th_floor_printer" instance="all">
<include src="report"/>
</printer>
</foreach>

19.5.4.4 結合されたセクションをグループ・インスタンスごとに印刷

この例では、グループ・インスタンスごとに1つずつ印刷ジョブが生成されます。結合されたセクションを、同じグループで繰り返す必要があります。レポートがdepartment_idで繰り返され、10から40までの4つの部門が存在する場合は、4つの印刷ジョブが生成されます。つまり、部門10に1つのジョブが生成され、残りの部門にも1つずつジョブが生成されます。メイン・セクションとトレーラ・セクションの両方が、department_idで繰り返される必要があります。

19.5.4.4.1 Windows

<foreach>
<printer id="prt20" name="\\neptune\prtr20" instance="this">
<include src="mainSection"/>
<include src="trailerSection"/>
</printer>
</foreach>

19.5.4.4.2 UNIX

<foreach>
<printer id="prt20" name="10th_floor_printer" instance="this">
<include src="mainSection"/>
<include src="trailerSection"/>
</printer>
</foreach>

19.5.4.5 レポートの適切なインスタンスをその関連プリンタに印刷

この例が機能するには、repeat onグループにホスト・プラットフォームの適切なプリンタ名を含んだ列が含まれている必要があります。つまり、printer_name列に適切なプリンタの別名(UNIX)またはプリンタ・サーバー/名前の組合せ(Windows)が含まれている必要があります。たとえば、レポートがdepartment_idでグループ化される場合は、G_department_idにprinter_name列が必要となります。printer_nameが部門に関連付けられているとすると、部門10のレポートが部門10のプリンタに印刷され、部門20のレポートが部門20のプリンタに印刷されます(以下同様)。

<foreach>
<printer id="a60" name="&amp;printer_name" instance="this">
<include src="mainSection"/>
</printer>
</foreach>

各グループ・インスタンスは、個別の印刷ジョブに相当します。各印刷ジョブは、関連する部門のプリンタに送信されます。

19.5.5 destypeの例

destypeを使用すると、配布時に、Oracle Reportsで使用可能なカスタムの宛先またはプラガブル宛先を定義できます。詳細は、第19.4.9項「destype」を参照してください。この項では、次の宛先の例について説明します。

- Oracle Portal宛先

- FTP宛先

- WebDAV宛先

- FAX宛先

19.5.5.1 Oracle Portal宛先

この例では、レポート出力をOracle Portalの宛先に送信する場合の汎用タグ構造を示します。DESTYPE=ORACLEPORTALを使用してレポート出力をOracle Portalに配信するときは、レポート出力はPAGEGROUPフォルダに作成されます。

関連項目:

この例にあるプロパティの詳細は、付録A「コマンドライン・キーワード」を参照してください。

<destinations>
<destype id="customforPortal" name="oraclePortal">
<property name="outputpage" value="sample_report"/>
<property name="statuspage" value="Reports_Status"/>
<property name="pagegroup" value="REPORTS_OUTPUT"/>
<property name="itemtitle" value="MyReport"/>
<include src="report"/>
</destype>
</destinations>

19.5.5.2 FTP宛先

この例では、レポート出力をFTPの宛先に送信する場合の汎用のタグ構造を示します。

<destinations>
<foreach>
<destype id="ftp1" name="ftp" instance="this" format="pdf">
<property name="desname"
value="ftp://username:passwd@ftpServer/dir/myreport_&amp;&lt;
DEPARTMENT_NAME&gt;.pdf"/>
<include src="mainSection"/>
</destype>
</foreach>
</destinations>

19.5.5.3 WebDAV宛先

この例では、レポート出力をWebDAVの宛先に送信する場合の汎用のタグ構造を示します。

<destinations>
<foreach>
<destype id="webdav1" name="webdav" instance="this" format="pdf">
<property name="desname"
value="http://user:passwd@WebDAVServer/dir/myreport_&amp;&lt;
DEPARTMENT_NAME&gt;.pdf"/>
<include src="mainSection"/>
</destype>
</foreach>
</destinations>

19.5.5.4 FAX宛先

この例では、レポート出力をFAXの宛先に送信する場合の汎用のタグ構造を示します。

<destype id="faxdest" name="fax">
<property name="number" value="123456789"/>
<include src="report"/>
</destype>

これとは別に、使いやすさを考慮して、次のようなより具体的なカスタムのタグ構造を指定することもできます。

<fax id="faxdest" number="123456789">
<include src="report"/>
</fax>

ノート:

distribution.xslファイルを変更した後は、そのファイルを同じ位置に同じファイル名で保存する必要があります。Oracle Reportsでは、宛先を解決する際に自動的にこのファイルが検索されます。

19.6 実行時の配布XMLファイルの使用

実行時に配布XMLファイルを使用する方法は、URLまたはコマンドラインのどちらで使用する場合も基本的に同じです。次のオプションを使用します。

destination=filename.xml distribute=yes

filenameは、配布XMLファイルの名前です。XMLファイルの相対パスまたは絶対パスを指定する必要があります。たとえば、Windowsの場合は次のように指定します。

destination=c:\%ORACLE_HOME%\reports\distribution\filename.xml distribute=yes

UNIXの場合は次のように指定します。

destination=$ORACLE_HOME/reports/distribution/filename.xml distribute=yes

URLでの完全なコマンドは次のようになります。

http://your_server:port/reports/rwservlet?report=rep.jsp&userid=db_credentials
&destination=$ORACLE_HOME/reports/distribution/distribution.xml&distribute=yes

例に示されているパスは、一例にすぎません。配布XMLファイルの格納場所には制約がありません。必要な場所に保存することができます。

ノート:

Microsoft Internet Explorerでは、URLの戻りストリームのMIMEタイプが無視され、URLを参照しMIMEタイプが設定される場合があります。Oracle Reports Servicesの配布機能を使用しているときは、これが問題となることがあります。たとえば、URLの最後に次のようなdestinationパラメータがある場合です。

...distribute=yes destination=c:\oracle\reports\distribution\mydist.xml

この場合、URLが拡張子.xmlで終わるため、Internet Explorerでは、URLの戻りストリームが実際はHTMLであったとしても、XMLとして処理されます。結果として、ブラウザ・エラーが発生します。この問題を回避するには、URLの最後に一般的なファイル拡張子を使用しないようにします。前述の例では、URLでdistributeパラメータとdestinationパラメータの位置を入れ替えます。

コマンドラインおよびURLからレポートを実行する操作、およびcgicmd.datファイルの使用に関する詳細は、第17章「レポート・リクエストの実行」を参照してください。

19.7 配布の使用に関する制限

この項では、Oracle Reportsで配布を使用する場合の各種の制限について説明します。

- デリミタ付き出力

- 動的フォーマット値

19.7.1 デリミタ付き出力

- デリミタ付き出力フォーマットではレポートの一括処理と配布がサポートされていません。DELIMITEDは、配布XMLファイルまたは「配布」ダイアログ・ボックスで出力フォーマットとして指定できません。

ノート:

レポートは、配布XMLファイルか、Reports Builderの「配布」ダイアログ・ボックスで指定したDelimitedData出力フォーマットで配布できます。

19.7.2 動的フォーマット値

XML配布では、distribution.dtdにあるように、format属性の静的値のみがサポートされます。そのため、実行時に解決される、format属性の文字パラメータは指定できません。したがって、レポート全体についても、特定のセクションについても、formatを動的に決定することはできません。

20 イベント・ドリブンによる公開の使用

現代のビジネス・プロセスでは、様々なファンクションやプロシージャを背後で実行することによって暗黙的に実環境に自動化を取り入れるという要求が生じはじめています。背後で実行されるタスクには、発注が処理される際に自動的に印刷される請求書などの出力の自動生成、最新データで自動的に更新されるWebサイト、トランザクション完了時の最新レポートの自動メール送信などが挙げられます。

イベントに応じた自動出力は、かつてはかなり複雑な作業でした。特に、Oracle Reports Developerなどの対話型RAD開発ツールにより可能なかぎり同じ結果を実現しようとする場合は非常に困難でした。

自動出力の要件に対応するために、Oracle Reports Servicesにはスケジューリング・メカニズムが用意されています。これによって、定期的にレポートを起動できます。その際、さらなるユーザー操作は不要です。ただし、これでも解決されない要求が1つだけ残されています。それは、レコードの挿入や値の変更といったデータベース内のイベントに応じて、自動的にレポートを実行する機能です。

Oracle Reports ServicesのEvent-Driven Publishing APIにより、データベース内のイベント(レコードの挿入や値の変更など)に応じて自動的にレポートを実行できます。Event-Driven Publishing APIはPL/SQL APIにより、データベースからOracle Reports Servicesへのジョブの自動送信が可能になります。

この章では、Event-Driven Publishing APIの概要とともに、その使用例を示します。内容は次のとおりです。

- Event-Driven Publishing API

- Event-Driven Publishing APIを使用するアプリケーションのデバッグ

- データベース・イベントからのレポートの起動

- Oracle Advanced Queuingとの統合

20.1 Event-Driven Publishing API

Event-Driven Publishing APIは、データベース内のイベントに応じるプロシージャの開発に必要な、基本的なファンクションを提供するPL/SQLパッケージです。イベント・ドリブン・ジョブは、HTTPプロトコルを使用して送信されます。サーバーは、すべてのコールに一意のjob_identレコードを割り当てます。これは、ジョブのステータスを追跡する際に役立ちます。

20.1.1 APIの要素

このAPIは、いくつかの重要な要素から構成されています。

- SRWパッケージには、ジョブの送信、ジョブ・ステータスのチェック、ジョブの取消しおよびパラメータ・リストの操作に関連するすべてのファンクションとプロシージャが含まれています。

- SRW_ParamListは、パラメータ・リストを定義します。パラメータ・リストは、ジョブを送信する際に値を渡すための主要な手段です。パラメータ・リストは、ジョブ送信ごとに必要となります。このリストには、複数の重要なパラメータが含まれています。

- SRW_ParamList_Objectは、アドバンスト・キューイングなどの機能に必要です。これらの機能では、パラメータ・リストをデータベースに格納して、メッセージとともに渡せるようにする必要があります。

APIの各要素については、この後の項で詳しく説明します。

このAPIは、Oracle Reports Services SecurityおよびOracle Portalとともにインストールされますが、どちらも必須ではありません。Oracle Portalを使用しないデータベースにもAPIをインストールできるように、インストール・スクリプトが別途用意されています。

- srwAPIins.sqlは、Event-Driven Publishing APIをインストールします。

- srwAPIgrant.sqlは、APIへのアクセス権限を付与します。このスクリプトは、APIへのアクセス権限を付与するユーザーごとに実行します。全員がアクセス可能である場合は、このスクリプトを1回実行し、PUBLICにアクセス権限を付与できます。

- srwAPIdrop.sqlは、APIを削除します。

20.1.2 パラメータ・リストの作成と操作

パラメータ・リストは、SRW_PARAMLISTタイプのPL/SQL変数です。このタイプの変数は、SRW_PARAMETERタイプの255個の要素からなる配列です。この要素自体は、2つの属性NAMEおよびVALUEから構成されます。APIには、パラメータ・リストを操作するための次のプロシージャが用意されています。

- Add_Parameter

- Remove_Parameter

- Clear_Parameter_List

20.1.2.1 Add_Parameter

パラメータ・リストを初めて使用するときは、そのパラメータ・リストを初期化してからパラメータを追加する必要があります。例:

DECLARE

myPlist SRW_PARAMLIST;

BEGIN

myPlist := SRW_PARAMLIST(SRW_PARAMETER('',''));
srw.add_parameter(myPlist,'myParameter','myValue');

END;

パラメータの属性(NAMEとVALUE)はどちらもVARCHAR2タイプで、その長さはNAMEが80文字、VALUEが255文字に制限されています。

ADD_PARAMETERファンクションには、オプションでMODEという4番目の属性を指定できます。MODEは、同じ名前のパラメータがすでに存在する場合に、そのパラメータを上書きするか、またはエラーが発生するかを決定します。重複する名前があった場合にエラーが発生するように指定するには、定数CHECK_FOR_EXISTANCEを使用します。これは、MODE属性のデフォルト値です。重複する名前があった場合にパラメータを上書きするように指定するには、定数OVERWRITE_IF_EXISTSを使用します。

20.1.2.2 Remove_Parameter

REMOVE_PARAMETERは、パラメータ・リストからパラメータを削除するために使用します。このプロシージャを呼び出し、対象となるパラメータ・リストとともに削除するパラメータの名前を渡します。

例:

DECLARE

myPlist SRW_PARAMLIST;

BEGIN

myPlist := SRW_PARAMLIST(SRW_PARAMETER('',''));
srw.add_parameter(myPlist,'myParameter','myValue');
srw.remove_parameter(myPlist,'myParameter');

END;

20.1.2.3 Clear_Parameter_List

リストからすべてのパラメータを削除するには、CLEAR_PARAMETER_LISTを使用します。例:

DECLARE

myPlist SRW_PARAMLIST;

BEGIN

myPlist := SRW_PARAMLIST(SRW_PARAMETER('',''));
srw.add_parameter(myPlist,'myParameter','myValue');
srw.clear_parameter_list(myPlist);

END;

これによって、リストからすべてのパラメータが削除されます。

20.1.3 パラメータの名前と値での非ASCII文字の使用

Event-Driven Publishing APIの使用時に、ユーザー・パラメータの名前と値に非ASCII文字を使用するには、パラメータDEFAULTCHARSETを、有効な文字セット名に値を設定して、パラメータ・リストに追加する必要があります。この文字セット名は、データベースのNLS_CHARACTERSET (JA16SJISなど)、またはIANA定義文字セット名(WINDOWS-31Jなど)に指定できます。また、rwservlet.propertiesファイルに指定されているdefaultcharsetパラメータとDEFAULTCHARSETパラメータの値が一致していることを確認する必要があります。ユーザー・パラメータの名前と値においてASCIIでない文字のエンコードに、DEFAULTCHARSETで指定された文字セットをOracle Reports Servicesで使用されます。このため、パラメータの名前と値においてASCIIでない文字のあるレポートにEvent-Driven Publishing APIを使用できます。

ノート:

パラメータ・リストにDEFAULTCHARSETパラメータを追加しないと、Oracle Reports Servicesでは、ユーザー・パラメータの名前と値のエンコードに、データベースのNLS_CHARACTERSETが使用されます。

20.1.4 ジョブの送信

パラメータ・リストには、ジョブの送信に不可欠なすべてのパラメータが含まれている必要があります。ジョブ・タイプによって、リストに必要なパラメータが決まり、Reports Serverでリクエストを処理できるようになります。

リスト内のパラメータは、ブラウザからOracle Reports Servlet (rwservlet)にジョブを送信する際に指定するパラメータと同じです。この場合、ジョブがレポートであるときは、少なくとも次のパラメータが必要です(それ以上指定してもかまいません)。

- GATEWAYにより、リクエストの処理に使用するOracle Reports Servlet (rwservlet)へのURLを渡します。

- SERVERにより、Oracle Reports Servlet (rwservlet)とともに使用されるReports Serverを特定します。

- REPORTは、実行するレポート・ファイルを特定します。

- USERIDは、レポートを実行するユーザーの名前とIDを特定します。

- AUTHIDは、セキュリティで保護されたサーバーにアクセスする場合の認証情報を提供します。

各リクエストからは、job_identレコードが返されます。このレコードには、ジョブを一意に識別するための情報が含まれています。この情報は、SRW.JOB_IDENTタイプの変数に格納されます。この情報はPACKAGE-TYPEであり、SRW.JOB_IDENTとして参照する必要があることに注意してください。一方、パラメータ・リストはOBJECT-TYPEであり、SRW_PARAMLISTとして参照する必要があります。

例:

DECLARE

myPlist SRW_PARAMLIST;
myIdent SRW.Job_Ident;

BEGIN

myPlist := SRW_PARAMLIST(SRW_PARAMETER('',''));
srw.add_parameter(myPlist,'GATEWAY','http://…');
srw.add_parameter(myPlist,'SERVER','mySVR');
srw.add_parameter(myPlist,'REPORT','myReport.RDF');
srw.add_parameter(myPlist,'USERID','me/secret');
myIdent := srw.run_report(myPlist);

END;

APIのRUN_REPORTメソッドは、必要不可欠なすべての情報を含んだパラメータ・リストを入力として(ADD_PARAMETERを使用)、リクエストを作成して送信するとともに、job_identレコードを返します。

返されたjob_identレコードには、次のパラメータが含まれます。

- MyIdent.GatewayURL

- MyIdent.ServerName

- MyIdent.JobID

- MyIdent.AuthID

これらのパラメータは、SRW.REPORT_STATUSファンクションが、送信されたジョブのステータス情報を取得するために必要となります。

20.1.5 ステータスの確認

Event-Driven Publishing APIにより、Reports Serverとの双方向通信を実現します。ユーザーは、サーバーにジョブを送信するとともに、SRW.REPORT_STATUSファンクションを使用して、このジョブのステータスをサーバーに問い合せることができます。

このファンクションからは、SRW.STATUS_RECORDタイプのレコードが返されます。このレコードには、rwservletのWebコマンドshowjobsを実行したときにジョブ・ステータス表示に示される情報と同じ情報が含まれています。

例:

DECLARE

myPlist SRW_PARAMLIST;
myIdent SRW.Job_Ident;
myStatus SRW.Status_Record;

BEGIN

myPlist := SRW_PARAMLIST(SRW_PARAMETER('',''));
srw.add_parameter(myPlist,'GATEWAY','http://…');
srw.add_parameter(myPlist,'SERVER','mySVR');
srw.add_parameter(myPlist,'REPORT','MyReport.RDF');
srw.add_parameter(myPlist,'USERID','me/secret');
myIdent := srw.run_report(myPlist);
myStatus := srw.report_status(myIdent);

END;

返されたステータス・レコードを使用して、ジョブのステータスに関する情報をフェッチできます。

20.1.6 サーバーのステータス・レコードの使用

ステータス・レコードには、ジョブに関する処理情報が含まれています。これには、サーバー・キュー内の情報(showjobsで表示)と同じ情報が含まれます。さらに、終了したジョブに対して生成されたファイルに関する情報、およびスケジュールされたジョブの系統に関する情報も含まれます。

ステータス・レコードで最も重要な情報は、ランタイム・エラーとその原因をチェックするために使用される、現行ジョブ・ステータスとステータス・テキストです。

タイミング情報を使用して、完了までの予測時間を超過した場合にジョブが取り消されるかどうかを確認できます。

ステータス・レコードの用途の1つに、ジョブの取消しがあります。Event-Driven Publishing APIでは、サーバーに送信されたジョブを取り消す方法を提供しています。この方法は、許可されている実行時間を超過したジョブを削除する場合、または単にスケジュールされているジョブを取り消す場合に便利です。

ジョブを取り消すには、次のプロシージャを使用します。

DECLARE

myPlist SRW_PARAMLIST;
myIdent SRW.JOB_IDENT;
myStatus SRW.STATUS_RECORD;

BEGIN

myPlist := SRW_PARAMLIST(SRW_PARAMETER('',''));
SRW.ADD_PARAMETER(myPlist,'GATEWAY','http://…');
SRW.ADD_PARAMETER(myPlist,'SERVER','mySVR');
SRW.ADD_PARAMETER(myPlist,'REPORT','myReport.RDF');
SRW.ADD_PARAMETER(myPlist,'USERID','me/secret');
myIdent := SRW.RUN_REPORT(myPlist);
myStatus := SRW.REPORT_STATUS(myIdent);
if myStatus.StatusCode != srw.RUNNING then
SRW.CANCEL_REPORT(myIdent);

END;

この例からわかるように、レポートを取り消す場合は、CANCEL_REPORTプロシージャ(SRW.CANCEL_REPORT)をコールし、取り消すジョブのjob_identレコードをそのプロシージャに渡します。このプロシージャでは、オプションのパラメータ・リストによって、必要な追加のパラメータを渡すことができます。

20.2 Event-Driven Publishing APIを使用するアプリケーションのデバッグ

これまでに説明した処理はすべて背後で実行されるため、通常の実行ではデバッグ情報を生成できません。このためAPIには、特別なデバッグ・モードに切り替えるための2種類のプロシージャが用意されており、DBMS_OUTPUTによって拡張デバッグ情報が生成されます。

- SRW.START_DEBUGGING

- SRW.STOP_DEBUGGING

デバッグ・モードに切り替えるには、SRW.START_DEBUGGINGをコールします。デバッグ・モードをオフにするには、SRW.STOP_DEBUGGINGをコールします。デバッグ・モードは、実際のロジックを実行する直前に開始する必要があります。これは、パッケージの現行インスタンスがロードされているかぎり持続します。

この情報を表示する1つの方法として、スクリプトを実行する前に、SQL*PlusでSERVEROUTをONに設定します。

このデバッグ方法に加えて、APIにはエラー処理に使用する一連の事前定義の例外が用意されています。Oracle Reports Servicesのインストールに含まれるsrw_test.sqlスクリプトには、これらの例外の例が示されています。

20.3 データベース・イベントからのレポートの起動

データベース・トリガーは、Event-Driven Publishing APIでレポートを起動するための主要なメカニズムです。Oracleデータベースでは、各種イベントに応じて起動される様々な範囲のトリガーを定義できます。データベース・ドリブン・ジョブを送信するには、これまでの項で説明したコードを、データベース・トリガー内で使用します。

イベント・ドリブンの公開には、多数の用途があります。その1つとして、権限が付与されたとき、またはユーザーがログイン/ログオフしたときに起動されるトリガーを使用して、セキュリティ・プロトコルを作成できます。また、あるタイプの変更が表内のデータに加えられた場合に実行される自動処理を作成することもできます。たとえば、経費報告書のステータスがDONE(完了)に変わったときにデータベース・トリガーを起動し、それによって従業員の管理者にそのレポートを自動的に送信できます。

例:

CREATE TRIGGER EXP_REP_TRG

AFTER INSERT OR UPDATE on EXP_REP FOR EACH ROW
myPlist SRW_PARAMLIST;
myIdent SRW.JOB_IDENT;

BEGIN

IF (:new.ExpStat = 'DONE') THEN

myPlist := SRW_PARAMLIST(SRW_PARAMETER('',''));
SRW.ADD_PARAMETER(myPlist,'GATEWAY','http://…');
SRW.ADD_PARAMETER(myPlist,'SERVER','fooSVR');
SRW.ADD_PARAMETER(myPlist,'REPORT','foo.RDF');
SRW.ADD_PARAMETER(myPlist,'USERID','foo/bar');
SRW.ADD_PARAMETER(myPlist,'ExpenseID',:new.ExpID);
myIdent := SRW.RUN_REPORT(myPlist);

END IF;

END;

このトリガーは、EXP_REP表が更新されるたびに起動されます。ステータスがDONEに変わると、レポート・リクエストが実行されます。

cgicmd.datキー・マップ・ファイルに指定されたキーを使用してリクエストを実行する場合(詳細は、第17.13項「キー・マップ・ファイルの使用」を参照)、REPORTパラメータのかわりにCMDKEYパラメータを指定します。このキーにユーザーID情報が含まれている場合は、USERIDパラメータも省略できます。例:

CREATE TRIGGER EXP_REP_TRG

AFTER INSERT OR UPDATE on EXP_REP FOR EACH ROW
myPlist SRW_PARAMLIST;
myIdent SRW.JOB_IDENT;

BEGIN

IF (:new.ExpStat = 'DONE') THEN

myPlist := SRW_PARAMLIST(SRW_PARAMETER('',''));
SRW.ADD_PARAMETER(myPlist,'GATEWAY','http://…');
SRW.ADD_PARAMETER(myPlist,'SERVER','fooSVR');
SRW.ADD_PARAMETER(myPlist,'CMDKEY','keyvalue');
SRW.ADD_PARAMETER(myPlist,'ExpenseID',:new.ExpID);
myIdent := SRW.RUN_REPORT(myPlist);

END IF;

END;

さらに、配布XMLファイルを通じて拡張配布モデルを定義した場合は、DESTINATIONパラメータにそのファイルを指定できます。例:

CREATE TRIGGER EXP_REP_TRG

AFTER INSERT OR UPDATE on EXP_REP FOR EACH ROW
myPlist SRW_PARAMLIST;
myIdent SRW.JOB_IDENT;

BEGIN

IF (:new.ExpStat = 'DONE') THEN

myPlist := SRW_PARAMLIST(SRW_PARAMETER('',''));
SRW.ADD_PARAMETER(myPlist,'GATEWAY','http://…');
SRW.ADD_PARAMETER(myPlist,'SERVER','fooSVR');
SRW.ADD_PARAMETER(myPlist,'REPORT','foo.RDF');
SRW.ADD_PARAMETER(myPlist,'USERID','foo/bar');
SRW.ADD_PARAMETER(myPlist,'DISTRIBUTE','YES');
SRW.ADD_PARAMETER(myPlist,'DESTINATION','filename.xml');
SRW.ADD_PARAMETER(myPlist,'ExpenseID',:new.ExpID);
myIdent := SRW.RUN_REPORT(myPlist);

END IF;

END;

これは、この種のロジックをアプリケーションからデータベースに移し、データベースをビジネス・プロセスの中心的なストレージとして使用するための1つの方法です。

ノート:

Oracle Reports Servicesのインストールに含まれているsrw_test.sqlデモ・スクリプトには、Event-Driven Publishing APIのその他の使用例が示されています。

20.4 Oracle Advanced Queuingとの統合

Oracle Advanced Queuingは、キューと2つのプロセスを中心として非同期のリクエスト/レスポンス・メカニズムを構築するための手段となります。2つのプロセスとは、MESSAGESをキューに入れるENQUEUE、およびキューを読み取るDEQUEUEです。

アドバンスト・キューイングは、キュー間でメッセージを配布し、キューをサブスクライブするための高度なメカニズムを備えています。これらのメカニズムは、いずれも基本要素(ENQUEUE、DEQUEUEおよびMESSAGES)をベースに構築されています。

Event-Driven Publishing APIでは、これらのキューを使用してレポート・ジョブを保存および送信することができます。Oracle Reports Servicesで用意されているメカニズムが要件に適合しない場合、独自のキューイング・メカニズムも作成できます。

20.4.1 SRW_PARAMLISTタイプのメッセージを保持するキューの作成

キューは、いくつかの管理列とメッセージを表すオブジェクト列で構成されるデータベース内の表です。ここでのメッセージは、パラメータ・リストです。

アドバンスト・キューイング付属のdbms_AQadmパッケージには、アドバンスト・キューイング・システムの設定に必要なすべての管理ファンクションが含まれています。

データベースに物理的な表を作成するには、dbms_AQadm.Create_Queue_Tableを使用します。その場合、表の名前、およびそのキューのメッセージを定義するオブジェクト・タイプの名前を渡す必要があります。

例:

…
execute dbms_AQadm.Create_Queue_Table

(queue_Table=>'queuename._tab',
queue_Payload_Type=>'SRW_PARAMLIST_OBJECT',
compatible=>'9.0');

前述の例で、SRW_PARAMLISTタイプをカプセル化するオブジェクト・タイプSRW_PARAMLIST_OBJECTをすでに作成しているので、これをメッセージとして使用できます。

キュー表を作成したら、dbms_AQadm.Create_Queueでキューを作成し、dbms_AQadm.Start_Queueでキューを開始する必要があります。

例:

…
execute dbms_AQadm.Create_Queue

(Queue_Name=>'queuename',Queue_Table=>'queuename._tab');

prompt … starting queue
execute dbms_AQadm.Start_Queue

(Queue_Name=>'queuename');

…

ノート:

Oracle Reports Servicesのインストールに含まれているsrwAQsetup.sqlデモ・ファイルには、単純なキューの設定、作成および開始を行うために完全な例が示されています。

キューを作成して開始した後に必要となるのは、このキューにメッセージを作成するプロシージャと、キューを読み取ってサーバーにジョブを送信するプロシージャです。次の各項では、これらのプロシージャを説明します。

20.4.2 エンキュー・プロシージャの作成

エンキュー・プロシージャは、キューにメッセージを挿入します。このプロシージャは、データベース・トリガーによってコールされるアプリケーション、または外部のメカニズムを通じて提供されるアプリケーションに組み込むことができます。この項では、このキューに単純なメッセージを挿入するストアド・プロシージャの作成例を示します。

ここでは、メッセージがパラメータ・リストそのものであるため、プロシージャはかなり簡単です。パラメータ・リストを作成するには、前述の項で使用したコードを使用します。使用した変数に加えて、キューに入れるメッセージを保持するobject変数を定義します。

…
plist_object SRW_ParamList_Object;
…

パラメータ・リストを作成したら、オブジェクト・コンストラクタで実際のメッセージ・オブジェクトを作成します。

…
plist_object := SRW_PARAMLIST_OBJECT(plist);
…

その後に、アドバンスト・キューイング付属のエンキュー・プロシージャでメッセージをエンキューします。

…
dbms_aq.enqueue(queue_name => 'myQueue',

enqueue_options => enqueue_options,
message_properties => message_properties,
payload => PList_Object,
msgid => message_handle);

…

メッセージがキューに挿入されます。メッセージ配布は一切設定していないため、次の項で説明するデキュー・プロシージャによってフェッチされるまで、メッセージはキューに入ったままとなります。

ノート:

dbms_aq.enqueueの正しい構文は、Advanced Queuing APIのリファレンス・ドキュメントで確認してください。

Oracle Reports Servicesのインストールに含まれているsrwAQsetup.sqlファイルには、その他の例が示されています。

20.4.3 デキュー・プロシージャの作成

デキュー・プロシージャは、キュー内のすべてのメッセージを読み取って処理します。ここでは、メッセージを読み取り、メッセージに添付されたパラメータ・リストを使用してサーバーにジョブを送信します。

この処理には、次の例を使用します。

BEGIN

dequeue_options.wait := 1;

loop

DBMS_AQ.DEQUEUE(queue_name => 'myQueue',

dequeue_options => dequeue_options,
message_properties => message_properties,
payload => PList_Object,
msgid => message_handle);

COMMIT;
plist := plist_object.params;
r_jid := SRW.RUN_REPORT(plist);

end loop;
exception when aq_timeout then

begin

NULL;

end;

END;

このサンプル・コードでは、すべてのメッセージが処理されるまでキューが読み取られます。処理に使用できる時間は、コードの2行目に定義されているタイムアウトによって決まります。このタイムアウトによって、タイムアウト例外が作成されるまでデキュー・プロシージャがメッセージを待機できる秒数が定義されます。

アドバンスト・キューイングには、メッセージを読み取るためのDBMS_AQ.DEQUEUEビルトインが用意されています。これは、情報を保持するオブジェクトであるメッセージのペイロードを、ペイロード・パラメータで定義されたオブジェクトに挿入します。

plistを使用して、ペイロード・オブジェクトから情報を抽出します。すでに説明したように、ここではオブジェクトにパラメータ・リストが含まれています。これは、オブジェクト内部のPARAMS属性に格納されています。抽出されたパラメータ・リストは、ジョブを送信するSRW.RUN_REPORTに渡されます。

このデキュー・プロシージャを手動で起動しないようにするには、データベース内部でジョブとして実行します。

21 XMLによるレポートのカスタマイズ

Extensible Markup Language (XML)は、情報をより詳細に識別する方法を実現することにより、Webの機能を向上させることを目的として設計された言語です。それは実のところメタ言語(他の言語を定義するための言語)であり、様々なタイプのドキュメント用にカスタマイズされたマークアップ言語の設計に使用できます。

XMLドキュメントは、マークアップとその内容の両方で構成されます。

- 要素は、XMLのビルディング・ブロックです。要素インスタンスは、タグ(メインのタグと適切にネストされたタグ)、属性、タグとタグの間にネストされた要素内容からなる構造を持ちます。

- タグは、要素とその内容を定義するために使用されます。

- 属性は、各タグの追加情報を提供するものです。

XMLカスタマイズを使用すると、実行時に元のレポートを変更することなくレポートをカスタマイズできます。ランタイム・コマンドラインにCUSTOMIZEキーワードを追加し、カスタマイズ・ファイルを呼び出して、レポートのレイアウトやデータ・モデルへの追加や変更を実行できます。1つのXMLカスタマイズ・ファイルで、これらすべての作業または任意の作業の組合せを実行できます。XMLを使用して、カスタムのJSPベース・レポートに取り込むレポート・データ・モデルを作成することも可能です。

様々なXMLカスタマイズを作成して適用すると、レポート出力をユーザー単位またはユーザー・グループ単位で変更できます。同じレポートを使用して、利用対象者ごとに異なる出力を生成できます。

XMLカスタマイズをレポートに適用するときに、結合した定義をファイルに保存することができます。このため、XMLカスタマイズを使用して、既存のレポート定義をバッチ更新できます。Oracle Reports Builderで1つずつファイルを開くことなく、大量のレポートをすばやく更新できます。

Oracle Reports Servicesでは、XMLでレポート・データ・モデル全体を作成できるようになり、Oracle Reports XMLによるカスタマイズのタイプが強化されました。これには、複数データ・ソースの作成、データ・ソース間のリンク、および各データ・ソース内でのグループ階層が含まれます。Oracle Reports XMLカスタマイズによるデータ・モデルのサポートにより、Oracle Reports Builderで作成可能なすべてのデータ・モデルを、XMLを指定して作成できるようになりました。さらに、データ・モデル・オブジェクトに設定可能なすべてのプロパティを、XMLで設定できるようになりました。

この章では、XMLを使用して実行中にレポートをカスタマイズする方法、およびXMLでデータ・モデルを作成する方法について説明します。内容は次のとおりです。

- カスタマイズの概要

- XMLカスタマイズの作成

- XMLデータ・モデルの作成

- 実行時のXMLファイルの使用方法

- XMLレポート定義のデバッグ

この章では、reports.dtdファイルでサポートされる要素を紹介し、その例を示します。ただし、これらの要素の属性については、一部のみを紹介します。

追加属性や、Oracle Reports XMLの要素、タグおよび属性の詳細は、次を参照してください。

- reports.dtdファイルには、Oracle Reports XMLのすべての要素、タグと属性、そして存在する場合は属性のデフォルト値が含まれます。reports.dtdファイルは、WindowsとUNIXどちらの場合も、ORACLE_HOME\reports\dtd\にあります。サブ要素の多くは、使用時の規則を示す記号を含んでいます。例:

- プラス記号(+)は、XMLファイルでそのタイプの要素を1つ以上使用できることを意味します。

- アスタリスク(*)は、XMLファイルでそのタイプの要素を0から多数の範囲で使用できることを意味します。

- 疑問符(?)は、XMLファイルでそのタイプの要素を0または1つだけ使用できることを意味します。

- 記号が付いていない場合は、XMLファイルでそのタイプの要素を1つだけ使用する必要がある(必須である)ことを意味します。

複数のサブ要素が括弧で囲まれ、その直後に記号が付いている場合は、その記号が括弧内のすべてのサブ要素に適用されます。

- 選択したOracle Reports XMLタグの詳細は、Oracle Reportsのオンライン・ヘルプの「リファレンス」セクションにあるOracle Reports XMLタグに関するトピックを参照してください。

- 作成しようとするカスタマイズのタイプを含んだレポートを作成し、レポートをXMLとして保存し、さらにテキスト・エディタで保存したファイルを表示します。これは、実際のOracle Reports XMLを参照する優れた手段であると同時に、より複雑なモデルを構築する場合の参考になります。

ノート:

Oracle Reports 10g リリース2 (10.1.2)パッチ2より前のリリースで開発されたレポートでは、XMLレポートを開くと、PL/SQLパッケージ仕様または本体が欠落している場合があります。その場合、次のいずれかを実行します。

- RDFが存在する場合、Oracle Reports 10g リリース2 (10.1.2)パッチ2以降を使用して、XML出力ファイルを再生成します。

- または、次のようにXMLを編集して、function要素にtype="packageSpec"またはtype="packageBody"(あるいはその両方)を追加します。

<programUnits>
<function name="a" type="packageSpec">
<textSource>
<![CDATA[PACKAGE a IS
function lire return date ;
END a;]]>
</textSource>
</function>
<function name="a" type="packageBody">
<textSource>
<![CDATA[PACKAGE BODY a IS
function lire return date is
c2 date;
...
END;]]>
</textSource>
</function>
<function name="cf_1formula" returnType="date">
...
</function>
</programUnits>

21.1 カスタマイズの概要

Oracle Reports XMLタグを使用すると、Oracle Reports Builderを使用して作成したレポートをカスタマイズできます。

ノート:

Oracle Reports XMLのタグを使用してレポート全体を手動で作成することも可能ですが、ドキュメントに記載されサポートされているのは、手動で作成されるカスタマイズとデータ・モデルのみです。

XMLカスタマイズの作成と適用は、3つのステップで行われます。

1. Oracle Reports XMLのタグを使用してカスタマイズ・ファイルを作成します。
Oracle Reports Builderでレポートを作成し、そのレポートをXMLとして保存することで、このカスタマイズを作成できます。任意のテキスト・エディタや高機能のXMLエディタにより、手動でもカスタマイズを作成できます。これは、特別なOracle Reportsカスタマイズに必要なXMLタグを使用する場合にかぎられます。

2. Oracle Reports Servicesでアクセス可能な場所にXMLカスタマイズを格納します。

3. XMLカスタマイズを、CUSTOMIZEコマンドライン・キーワードまたはSRW.APPLY_DEFINITIONビルトイン・プロシージャを使用して、別のレポートに適用します。カスタマイズに完全なレポート定義が含まれている場合は、REPORT(またはMODULE)コマンドライン・キーワードを使用してXMLカスタマイズを単独で実行できます。

関連項目:

第A.5.21項「CUSTOMIZE」

ノート:

SRW.APPLY_DEFINITIONビルトイン・プロシージャを含むSRWビルトイン・パッケージの詳細は、Oracle Reportsのオンライン・ヘルプを参照してください。

21.2 XMLカスタマイズの作成

この項では、様々なレポート・カスタマイズの例を示します。ここでは次の例を取り上げます。

- 必須XMLタグ

- スタイルの変更

- 書式マスクの変更

- 書式例外の追加

- プログラム・ユニットとハイパーリンクの追加

- 新規問合せの追加と新規ヘッダー・セクションでの結果の使用

- URLのエンコード

21.2.1 必須XMLタグ

すべてのXMLカスタマイズには、次のタグ・ペアが必要です。

<report></report>

たとえば、最小限のXMLカスタマイズは次のとおりです。

<report name="emp" DTDVersion="9.0.2.0.0">
</report>

このXMLカスタマイズには何も含まれていないので、レポートに適用しても効果は一切ありません。必要なタグがあるので解析はできますが、単に必須タグの例として示しています。

<report>タグは、レポート・カスタマイズの開始、レポート・カスタマイズ名およびこのXMLカスタマイズで使用するデータ型ディクショナリ(DTD)ファイルのバージョンを示します。</report>タグは、レポート・カスタマイズの終了を示します。

reportタグのname属性には、任意の名前を指定できます。たとえば、XMLファイルでカスタマイズするレポートの名前でも、それ以外の名前でもかまいません。

この例では、<report>タグが最小限で使用されています。<report>タグにも多数の属性がありますが、そのほとんどは暗黙的に示されており、指定する必要はありません。<report>に唯一必要な属性は、DTDVersionです。

ノート:

XMLカスタマイズ・ファイルを適用して、既存のレポート・トリガーを変更するか新しいレポート・トリガーを作成するには、<report>タグの関連トリガー属性を指定する必要があります。

たとえば、Before Reportトリガーを変更または作成するには、beforeReportTrigger属性を使用します。

<report DTDVersion="9.0.2.0.0" beforeReportTrigger="BeforeReport">

XMLカスタマイズ・ファイルを適用してレポート・トリガーを変更または作成するときにこの属性を指定しないと、XMLカスタマイズ・ファイルがレポートに適用されたときに、レポート・トリガーのPL/SQLコードがローカル(依存しない)ファンクションとして扱われます。

完全なレポート定義には、データ・モデルとレイアウトの両方が必要です。したがって、次のタグとその内容を定義する必要があります。

- <data></data>

- <layout></layout>

dataタグには、属性がありません。layoutタグには、panelPrintOrderとdirectionの2つの属性があり、その両方が必須です。これらの属性にデフォルト値(それぞれacrossDownとdefault)を使用する場合は、それらを指定する必要はありません。data要素とlayout要素の例は、次の各項で示します。

21.2.2 スタイルの変更

この項の例では、XMLを使用して、レポート・フィールドF_Mincurrent_pricePersymbolおよびF_Maxcurrent_pricePersymbolに使用されている塗りつぶしカラーと線カラーを変更しています。

<report name="anyName" DTDVersion="9.0.2.0.0">
<layout>
<section name="main">
<field name="F_Mincurrent_pricePersymbol"
source="Mincurrent_pricePersymbol"
lineColor="black"
fillColor="r100g50b50"/>
<field name="F_Maxcurrent_pricePersymbol"
source="Maxcurrent_pricePersymbol"
lineColor="black"
fillColor="r100g50b50"/>
</section>
</layout>
</report>

この例では、sectionタグとfieldタグのname属性が、このXMLファイルでカスタマイズされるレポートのメイン・セクションに含まれるフィールドの名前と一致していることが前提となっています。この前提を踏まえて、fieldタグのその他の属性は、レポートのメイン・セクション内にある同じ名前のフィールドのみに適用されます。

21.2.3 書式マスクの変更

この項の例では、XMLを使用して、レポート・フィールドf_trade_dateに使用される書式マスクを変更しています。

<report name="anyName" DTDVersion="9.0.2.0.0">
<layout>
<section name="main">
<field name="f_trade_date"
source="trade_date"
formatMask="MM/DD/RR"/>
</section>
</layout>
</report>

fieldタグが独自の終了書式(/>)を使用していることに注意してください。fieldタグが追加の子タグを使用する場合は、それを</field>で閉じます。

21.2.4 書式例外の追加

この項の例では、XMLを使用して、レポートのf_p_eおよびf_p_e1フィールドで10より大きな値をハイライトする書式例外を追加しています。

<report name="anyName" DTDVersion="9.0.2.0.0">
<layout>
<section name="main">
<field name="f_p_e" source="p_e">
<exception textColor="red">
<condition source="p_e" operator="gt" operand1="10"/>
</exception>
</field>
<field name="f_p_e1" source="p_e">
<exception textColor="blue">
<condition source="p_e" operator="gt" operand1="10"/>
</exception>
</field>
</section>
</layout>
</report>

この例では、operatorの値が、「より大きい」を示すgtに設定されています。operatorには、表21-1に示すものを指定できます。

表21-1 operator属性の値

値

使用方法

eq

等しい

lt

より小さい

lteq

以下

neq

等しくない

gt

より大きい

gteq

以上

btw

範囲内

notBtw

範囲外

like

類似

notLike

非類似

null

null

notNull

非NULL

前の例とは異なり、この例のfieldタグは、子タグを使用しているために、自己完結型の終了書式(/>)ではなく、</field>で閉じられていることにも注意してください。

21.2.5 プログラム・ユニットとハイパーリンクの追加

この項の例では、XMLを使用してレポートにプログラム・ユニットを追加しています。このプログラム・ユニットによって、従業員の社会保障番号(:SSN)から従業員の詳細にアクセスするハイパーリンクが追加されます。

<report name="anyName" DTDVersion="9.0.2.0.0">
<layout>
<section name="header">
<field name="F_ssn1" source="ssn1">
<advancedLayout formatTrigger="F_ssn1FormatTrigger"/>
</field>
</section>
<section name="main">
<field name="F_ssn" source="ssn">
<advancedLayout formatTrigger="F_ssnFormatTrigger"/>
</field>
</section>
</layout>
<programUnits>
<function name="F_ssn1FormatTrigger">
<textSource>
<![CDATA[
function F_ssn1FormatTrigger return boolean is
begin
SRW.SET_HYPERLINK('#EMP_DETAILS_&<' || LTRIM(TO_CHAR(:SSN)) || '>');
return (TRUE);
end;
]]>
</textSource>
</function>
<function name="F_ssnFormatTrigger">
<textSource>
<![CDATA[
function F_ssnFormatTrigger return boolean is
begin
SRW.SET_LINKTAG('EMP_DETAILS_&<' || LTRIM(TO_CHAR(:SSN)) || '>');
return (TRUE);
end;
]]>
</textSource>
</function>
</programUnits>
</report>

CDATAタグは、PL/SQLをXMLと区別する目的で、PL/SQLの周辺で使用されています。XMLファイルにHTMLを埋め込むときも、同じタグ・シーケンスを使用します。この例では、advancedLayoutタグのformatTrigger属性の名前でファンクションが参照されています。

21.2.6 新規問合せの追加と新規ヘッダー・セクションでの結果の使用

この項の例では、XMLを使用して、レポートに新しい問合せを追加するとともに、その問合せの結果を利用する新しいヘッダー・セクションを追加しています。

<report name="ref" DTDVersion="9.0.2.0.0">
<data>
<dataSource name="Q_summary">
<select>select portid ports, locname locations from portdesc</select>
</dataSource>
</data>
<layout>
<section name="header">
<tabular name="M_summary" template="BLAFbeige.tdf">
<labelAttribute font="Arial" fontSize="10"
fontStyle="bold" textColor="white"/>
<field name="F_ports" source="ports" label="Port IDs"
font="Arial" fontSize="10"/>
<field name="F_locations" source="locations" label="Port Names"
font="Arial" fontSize="10"/>
</tabular>
</section>
</layout>
</report>

この例のXMLは、データ・モデルと完全なレイアウトを備えているため、単独で実行できます。

列名が必ず一意となるように、SELECT文では別名を使用します。別名を使用しなかった場合は、レポート列のデフォルト名が使用されるため、予定外の名前になる可能性があります(たとえば、portidではなくportid1など)。fieldタグのsource属性を指定する場合は、ソース列(フィールド)の正しい名前を使用する必要があるので、この名前の指定は重要なポイントになります。

labelAttribute要素は、レイアウト内のフィールド・ラベルの書式を定義します。これはfieldタグの開始と終了タグの外側にあるため、表形式レイアウトのすべてのラベルに適用されます。この書式をいずれか1つのフィールドに関連付ける場合は、この要素を<field></field>タグ・ペアの内側に配置します。グローバルおよびローカルのlabelAttribute要素が両方とも(1つは<field></field>タグ・ペアの外側に、もう1つは内側に)存在する場合は、ローカルなラベル属性がグローバルな属性より優先されます。

21.2.7 URLのエンコード

スペースおよび制御文字が正しく渡されるようにするには、レポートの各フィールドに対してURLエンコードをオンまたはオフにする必要があります。URLエンコードのオンとオフの切替えは、レポートにRW:FIELDタグを使用します。

<rw:field
...
urlEncode=yes|no
...
/>

urlEncodeのデフォルト値は、noです。

21.3 XMLデータ・モデルの作成

Oracle Reports Servicesでは、Oracle Reports XMLのタグを使用して、より高度なデータ・モデルのタイプを作成できます。次の処理にXMLを使用できます:

- 複数のデータ・ソースの作成

- データ・ソース間のリンク

- 各データ・ソース内でのグループ階層の作成

- クロス積(マトリックス)グループの作成

- あらゆるレベルでの式、サマリーおよびプレースホルダの作成

- パラメータの作成

この項では、XMLを使用した処理の例を示します。

これらのデータ・モデル・タイプに加えて、Oracle Reports ServicesではXMLにおけるPL/SQLの使用をサポートしています。これには、ローカルなプログラム・ユニット、レポートレベルのトリガーおよび連結PL/SQLライブラリに対するサポートが含まれます。

21.3.1 複数のデータソースの作成

<data>タグが、新しいプラガブル・データ・ソースと複数のデータ・ソースの作成をサポートするようになりました。各データソースは、それぞれの<dataSource>タグ内に記述されます。dataSource要素のデータ型定義は、次のとおりです。

<!ELEMENT dataSource
((select|plugin|plsql),
comment?,
displayInfo?,
formula*,
group*)>
<!ATTLIST dataSource
name CDATA #IMPLIED
defaultGroupName CDATA #IMPLIED
maximumRowsToFetch CDATA #IMPLIED>

次の例では、2つのSQLデータ・ソースを作成し、それぞれにQ_1およびQ_2という名前を付けます。また、各データ・ソースに必要なすべての列を作成するとともに、デフォルト・グループを作成します。このグループの名前には、指定のdefaultGroupNameが設定されます。defaultGroupNameが指定されていない場合は、デフォルトで独自の名前が設定されます。

<report name="anyname" DTDVersion="9.0.2.0.0">
<data>
<dataSource name="Q_1" defaultGroupName="G_DEPARTMENTS">
<select>
select * from departments
</select>
</dataSource>
<dataSource name="Q_2" defaultGroupName="G_EMPLOYEES">
<select>
select * from employees
</select>
</dataSource>
</data>
</report>

21.3.2 データソース間のリンク

複数のデータ・ソースが存在するときは、それらのデータ・ソースをリンクして適切なデータ・モデルを作成することが必要となる場合もあります。Oracle Reports XMLでは、データ・モデル・リンク・オブジェクトも公開されています。このオブジェクトは、グループレベルおよび列レベルのリンクをサポートします。任意の数のリンクを指定して、必要なデータ・モデルを作成できます。

link要素のデータ型定義は、次のとおりです。

<!ELEMENT link EMPTY>
<!ATTLIST link
name CDATA #IMPLIED
parentGroup CDATA #IMPLIED
parentColumn CDATA #IMPLIED
childQuery CDATA #IMPLIED
childColumn CDATA #IMPLIED
condition (eq|lt|neq|gt|gteq|like|notLike) "eq"
sqlClause (startWith|having|where) "where">

link要素は、data要素の内部に配置され、data要素内に定義されているdataSourceオブジェクトのうち任意の2つをリンクします。例:

<report name="anyname" DTDVersion="9.0.2.0.0">
<data>
<dataSource name="Q_1" defaultGroupName="G_DEPARTMENTS">
<select>
select * from departments
</select>
</dataSource>
<dataSource name="Q_2" defaultGroupName="G_EMPLOYEES">
<select>
select * from employees
</select>
</dataSource>
<link name="L_1" parentGroup="G_DEPARTMENTS"
parentColumn="DEPARTMENT_ID" childQuery="Q_2"
childColumn="DEPARTMENT_ID1" condition="eq" sqlClause="where"/>
</data>
</report>

link要素内では、Oracle Reportsのデフォルト設定メカニズムによって、DEPARTMENT_ID1がEMPLOYEES表におけるDEPARTMENT_ID列の別名として認識されます。この場合、ユーザーが明示的に別名を作成する必要はありません。

21.3.3 各データ・ソース内でのグループ階層の作成

Oracle Reports Servicesでは、完全なグループ階層を利用できます。各グループ内ですべての列を指定し、それらの列の順序をブレークすることができます。式、サマリーおよびプレースホルダを使用して、グループ内でさらにオブジェクトをカスタマイズできます。

group要素のデータ型定義は、次のとおりです。

<!ELEMENT group
(field|exception|rowDelimiter|xmlSettings|displayInfo|dataItem|formula|
summary|placeholder|filter|comment)*>
<!ATTLIST group
name CDATA #IMPLIED
fillColor CDATA #IMPLIED
lineColor CDATA #IMPLIED
formatTrigger CDATA #IMPLIED>

次の例では、group要素を使用して、データ・ソースの下にブレーク・グループを作成しています。

<report name="anyname" DTDVersion="9.0.2.0.0">
<data>
<dataSource name="Q_1">
<select>
select * from employees
</select>
<group name="G_DEPARTMENTS">
<dataItem name="DEPARTMENT_ID"/>
</group>
<group name="G_EMPLOYEES">
<dataItem="EMPLOYEE_ID"/>
<dataItem="FIRST_NAME"/>
<dataItem="LAST_NAME"/>
<dataItem="JOB_ID"/>
<dataItem="MANAGER_ID"/>
<dataItem="HIRE_DATE"/>
<dataItem="SALARY"/>
<dataItem="COMMISSION_PCT"/>
</group>
</dataSource>
</data>
</report>

21.3.4 クロス積(マトリックス)グループの作成

クロス積グループを使用すると、データ・モデルに任意の数のグループのマトリックスを定義できます。クロス積の各ディメンション・グループは、同じデータ・ソースに属している場合でも、様々なデータ・ソースから結合されている場合でも、マトリックスを作成できます。この柔軟性に対応して、<crossProduct>タグは、すべてのデータ・ソースとグループが作成された後で、<data>タグ内に配置されます。

crossProduct要素のデータ型定義は、次のとおりです。

<!ELEMENT crossProduct
(xmlSettings|displayInfo|dimension|(formula|summary|placeholder)*|comment)*>
<ATTLIST crossProduct
name CDDATA #IMPLIED
mailText CDDATA #IMPLIED>

次の例では、単一問合せマトリックスを作成しています。

<report name="anyname" DTDVersion="9.0.2.0.0">
<data>
<dataSource name="Q_1">
<select>
select * from employees
</select>
<group name="G_DEPARTMENTS">
<dataItem name="DEPARTMENT_ID"/>
</group>
<group name="G_JOB_ID>
<dataItem name="JOB_ID"/>
</group>
<group name="G_MANAGER_ID">
<dataItem name="MANAGER_ID"
</group>
<group name="G_EMPLOYEE_ID">
<dataItem name="EMPLOYEE_ID"/>
<dataItem name="FIRST_NAME"/>
<dataItem name="LAST_NAME"/>
<dataItem name="HIRE_DATE"/>
<dataItem name="SALARY"/>
<dataItem name="COMMISSION_PCT"/>
</group>
</dataSource>
<crossProduct name="G_Matrix">
<dimension>
<group name="G_DEPARTMENTS">
</dimension>
<dimension>
<group name="G_JOB_ID">
</dimension>
<dimension>
<group name="G_MANAGER_ID">
</dimension>
</crossProduct>
</data>
</report>

21.3.5 あらゆるレベルでの式、サマリーおよびプレースホルダの作成

式、サマリーおよびプレースホルダは、データ・モデル内のあらゆるレベルに配置できます。さらに、これらの各オブジェクトの属性は、どれも完全に制御することができます。

次の例では、ソースがグループ・レベルの式列に基づいている、レポートレベルのサマリーを作成しています。

<report name="anyname" DTDVersion="9.0.2.0.0">
<data>
<dataSource name="Q_1">
<select>
select * from employees
</select>
<group name="G_EMPLOYEES">
<dataItem="EMPLOYEE_ID"/>
<dataItem name="EMPLOYEE_ID"/>
<dataItem name="FIRST_NAME"/>
<dataItem name="LAST_NAME"/>
<dataItem name="HIRE_DATE"/>
<dataItem name="SALARY"/>
<dataItem name="COMMISSION_PCT"/>
<dataItem name="DEPARTMENT_ID"/>
<formula name="CF_REMUNERATION" source="cf_1formula"
datatype="number" width="20" precision="10"/>
</group>
</dataSource>
<summary name="CS_REPORT_LEVEL_SUMMARY" function="sum" width="20"
precision="10" reset="report" compute="report"/>
</data>
<programUnits>
<function name="cf_1formula" returnType="number">
<textSource>
<![CDATA[
function CF_1Formula return Number is
begin
return (:salary + nvl(:commission_pct,0));
end;
]]>
</textSource>
</function>
</programUnits>
</report>

21.3.6 パラメータの作成

Oracle Reports XMLでは、parameter要素がdataタグの開始と終了との間に配置されます。parameter要素のデータ型定義は、次のとおりです。

<!ELEMENT parameter (comment?|listOfValues?)>
<!ATTLIST parameter
name CDATA #REQUIRED
datatype (number|character|date) "number"
width CDATA "20"
scale CDATA "0"
precision CDATA "0"
initialValue CDATA #IMPLIED
inputMask CDATA #IMPLIED
validationTrigger CDATA #IMPLIED
label CDATA #IMPLIED
defaultWidth CDATA #IMPLIED
defaultHeight CDATA #IMPLIED>

次の例は、動的値リスト(LOV)、初期値および検証トリガーを示しています。

<report name="anyname" DTDVersion="9.0.2.0.0">
<data>
<dataSource name="Q_1" defaultGroupName="G_DEPARTMENTS">
<select>
select * from departments
</select>
</dataSource>
<parameter name="P_LAST_NAME" datatype="character" precision="10"
initialValue="SMITH" validationTrigger="p_last_namevalidtrigger"
defaultWidth="0" defaultHeight="0">
<listOfValues restrictToList="yes">
<selectStatement hideFirstColumn="yes">
<![CDATA[select last_name, 'last_name||'-'||employee_id'
from employees]]>
</selectStatement>
</listOfValues>
</parameter>
</data>
<programUnits>
<function name="p_last_namevalidtrigger" returnType="character">
<textSource>
<![CDATA[function P_LAST_NAMEValidTrigger return boolean is
last_name char(20);
begin
select count(*) into last_name from employees
where upper(last_name)=upper(:p_last_name);
exception when OTHERS then return(FALSE);
end;
return(TRUE);
end;
]]>
</textSource>
</function>
</programUnits>
</report>

21.4 実行時のXMLファイルの使用

作成したOracle Report XMLカスタマイズ・ファイルは、次の方法で使用できます。

- CUSTOMIZEコマンドライン・キーワードまたはSRW.APPLY_DEFINITIONビルトイン・プロシージャを指定して、実行時にXMLレポート定義をRDFまたはその他のXMLファイルに適用します。詳細は、第21.4.1項「実行時のXMLレポート定義の適用」を参照してください。

ノート:

Oracle Reportsでは、REPファイルのXMLカスタマイズはサポートされません。

- REPORT(またはMODULE)コマンドライン・キーワードを指定して、XMLレポート定義を単独で(他のレポートなしで)実行します。詳細は、第21.4.2項「XMLレポート定義の単独での実行」を参照してください。

- CUSTOMIZEコマンドライン・キーワードを使用して、rwconverterによるバッチ変更を実行します。詳細は、第21.4.3項「バッチ変更の実行」を参照してください。

この後の項では、各ケースを詳しく説明するとともに、例を示します。

21.4.1 実行時のXMLレポート定義の適用

実行時にXMLレポート定義をRDFまたはその他のXMLファイルに適用するには、CUSTOMIZEコマンドライン・キーワードまたはSRW.APPLY_DEFINITIONビルトイン・プロシージャを使用します。CUSTOMIZEは、rwclient、rwrun、rwbuilder、rwconverterおよびURLレポート・リクエストとともに使用できます。

ノート:

CUSTOMIZEをrwconverterと併用する方法の詳細は、第21.4.3項「バッチ変更の実行」を参照してください。

21.4.1.1 1つのXMLレポート定義の適用

次に示すコマンドラインは、ジョブ・リクエストをOracle Reports Servicesに送信し、XMLレポート定義(emp.xml)をRDFファイル(emp.rdf)に適用します。この例では、CUSTOMIZEキーワードがWindowsのディレクトリ・パスにあるファイルを参照しています。UNIXの場合は、UNIXの標準に従ってパスを指定してください(つまりmyreports/emp.xml)。

rwclient REPORT=emp.rdf CUSTOMIZE=\myreports\emp.xml
USERID=username/password@my_db DESTYPE=file DESNAME=emp.pdf
DESFORMAT=PDF SERVER=server_name

Reports Runtimeのコマンドであるrwrunを使用する場合のコマンドラインは、次のとおりです。

rwrun USERID=username/password@my_db REPORT=emp.rdf
CUSTOMIZE=\myreports\emp.xml DESTYPE=file DESNAME=emp.pdf
DESFORMAT=PDF

21.4.1.2 複数のXMLレポート定義の適用

実行時に複数のXMLレポート定義をレポートに適用するには、CUSTOMIZEコマンドライン・キーワードにリストを指定します。次に示すコマンドラインにより、2つのXMLレポート定義のEMP0.XMLおよびEMP1.XMLをRDFファイルのEMP.RDFに適用するジョブ・リクエストをOracle Reports Servicesに送信します。

rwclient REPORT=emp.rdf
CUSTOMIZE="(d:\corp\myreports\emp0.xml,d:\corp\myreports\emp1.xml)"
USERID=username/password@my_db DESTYPE=file DESNAME=emp.pdf
DESFORMAT=PDF SERVER=server_name

ノート:

この例では、CUSTOMIZEの値に、Windowsプラットフォームに格納されているファイルへのディレクトリ・パスが示されています。UNIXの場合は、そのプラットフォームの標準に従ってディレクトリ・パスを指定してください(つまり円記号(\)のかわりに通常のスラッシュを使用)。

Reports Runtimeを使用する場合のコマンドラインは、次のとおりです。

rwrun REPORT=emp.rdf
CUSTOMIZE="(D:\CORP\MYREPOORTS\EMP0.XML,D:\CORP\MYREPORTS\EMP1.XML)"
USERID=username/password@my_db DESTYPE=file DESNAME=emp.pdf
DESFORMAT=PDF

21.4.1.3 PL/SQLでのXMLレポート定義の適用

PL/SQLでRDFファイルにXMLレポート定義を適用するには、Before Parameter FormまたはAfter Parameter FormトリガーでSRW.APPLY_DEFINITIONおよびSRW.ADD_DEFINITIONビルトイン・プロシージャを使用します。この後の項では、これらのビルトイン・プロシージャの例を示します。

ノート:

SRW.APPLY_DEFINITIONおよびSRW.ADD_DEFINITIONビルトイン・プロシージャを含むSRWビルトイン・パッケージの説明、およびレポート・トリガーの詳細は、Oracle Reportsのオンライン・ヘルプを参照してください。

21.4.1.3.1 ファイルに保存されたXML定義の適用

ファイル・システムに保存されたXMLをレポートに適用するには、レポートのBefore Parameter FormまたはAfter Parameter FormトリガーでSRW.APPLY_DEFINITIONビルトイン・プロシージャを使用します。

Windowsの場合:

SRW.APPLY_DEFINITION ('%ORACLE_HOME%\TOOLS\DOC\US\RBBR\COND.XML');

UNIXの場合:

SRW.APPLY_DEFINITION ('$ORACLE_HOME/TOOLS/DOC/US/RBBR/COND.XML');

レポートの実行時に、トリガーが実行され、指定したXMLファイルがレポートに適用されます。

21.4.1.3.2 メモリーに保存されたXML定義の適用

メモリー内にXMLレポート定義を作成するには、SRW.ADD_DEFINITIONを使用してドキュメント・バッファに定義を追加した後に、SRW.APPLY_DEFINITIONビルトイン・プロシージャを使用してその定義を適用する必要があります。

次の例では、ユーザーが入力したパラメータ値に基づいてメモリー内にいくつかの定義を作成し、それらを適用する方法を示します。この例のPL/SQLは、videosales_custom.rdfというレポートのAfter Parameter Formトリガーで使用されます。

videosales_custom.rdfファイルのAfter Parameter Formトリガーに入っているPL/SQLが実行する内容は、次のとおりです。

- 実行時にユーザーによって入力されたパラメータ値に基づいて、条件と合致したフィールドをハイライトします。

- 実行時にユーザーによって入力されたパラメータ値に基づいて、数値書式マスクを変更します。

次のヒントは、この例を参照する際に役立ちます。

- SRW.APPLY_DEFINITIONビルトイン・プロシージャを使用するたびに、ドキュメント・バッファがフラッシュされるので、そのたびにSRW.ADD_DEFINITIONを使用してXMLレポート定義を新規作成する必要があります。

- パラメータhilite_profits、hilite_costs、hilite_salesおよびmoney_formatを使用して、XMLレポート定義に入れる内容を決定している点に注意してください。hilite_profits、hilite_costsおよびhilite_salesパラメータは、書式例外でも使用されており、これによってハイライトする値が決定します。

- VARCHAR2列のサイズには上限があるため(4000バイト)、かなり大きなXMLレポート定義の場合は、複数の列にまたがって指定しなければならない場合もあります。その場合は、1つの大きな定義を作成して一度に適用するのではなく、メモリー内に定義をいくつか作成し、別々に適用する必要があります。

function AfterPForm return boolean is
begin
SRW.ADD_DEFINITION('<report name="vidsales_masks"
author="Generated" DTDVersion="9.0.2.0.0">');
IF :MONEY_FORMAT='$NNNN.00' THEN
SRW.ADD_DEFINITION('<layout>');
SRW.ADD_DEFINITION('<section name="main">');
SRW.ADD_DEFINITION('<field name="F_TOTAL_PROFIT" source="TOTAL_PROFIT"
formatMask="LNNNNNNNNNNN0D00"/>');
SRW.ADD_DEFINITION('<field name="F_TOTAL_SALES" source="TOTAL_SALES"
formatMask="LNNNNNNNNNNN0D00"/>');
SRW.ADD_DEFINITION('<field name="F_TOTAL_COST" source="TOTAL_COST"
formatMask="LNNNNNNNNNNN0D00"/>');
SRW.ADD_DEFINITION('<field name="F_SumTOTAL_PROFITPerCITY"
source="SumTOTAL_PROFITPerCITY" formatMask="LNNNNNNNNNNN0D00"/>');
SRW.ADD_DEFINITION('<field name="F_SumTOTAL_SALESPerCITY"
source="SumTOTAL_SALESPerCITY" formatMask="LNNNNNNNNNNN0D00"/>');
SRW.ADD_DEFINITION('<field name="F_SumTOTAL_COSTPerCITY"
source="SumTOTAL_COSTPerCITY" formatMask="LNNNNNNNNNNN0D00"/>');
SRW.ADD_DEFINITION('</section>');
SRW.ADD_DEFINITION('</layout>');
ELSIF :MONEY_FORMAT='$NNNN' THEN
SRW.ADD_DEFINITION('<layout>');
SRW.ADD_DEFINITION('<section name="main">');
SRW.ADD_DEFINITION('<field name="F_TOTAL_PROFIT" source="TOTAL_PROFIT"
formatMask="LNNNNNNNNNNN0"/>');
SRW.ADD_DEFINITION('<field name="F_TOTAL_SALES" source="TOTAL_SALES"
formatMask="LNNNNNNNNNNN0"/>');
SRW.ADD_DEFINITION('<field name="F_TOTAL_COST" source="TOTAL_COST"
formatMask="LNNNNNNNNNNN0"/>');
SRW.ADD_DEFINITION('<field name="F_SumTOTAL_PROFITPerCITY"
source="SumTOTAL_PROFITPerCITY" formatMask="LNNNNNNNNNNN0"/>');
SRW.ADD_DEFINITION('<field name="F_SumTOTAL_SALESPerCITY"
source="SumTOTAL_SALESPerCITY" formatMask="LNNNNNNNNNNN0"/>');
SRW.ADD_DEFINITION('<field name="F_SumTOTAL_COSTPerCITY"
source="SumTOTAL_COSTPerCITY" formatMask="LNNNNNNNNNNN0"/>');
SRW.ADD_DEFINITION('</section>');
SRW.ADD_DEFINITION('</layout>');
END IF;
SRW.ADD_DEFINITION('</report>');
SRW.APPLY_DEFINITION;
SRW.ADD_DEFINITION('<report name="vidsales_hilite_costs" author="Generated"
DTDVersion="9.0.2.0.0">');
IF :HILITE_COSTS <> 'None' THEN
SRW.ADD_DEFINITION('<layout>');
SRW.ADD_DEFINITION('<section name="main">');
SRW.ADD_DEFINITION('<field name="F_TOTAL_COST" source="TOTAL_COST">');
SRW.ADD_DEFINITION('<exception textColor="red">');
SRW.ADD_DEFINITION('<condition source="TOTAL_COST" operator="gt"
operand1=":hilite_costs"/>');
SRW.ADD_DEFINITION('</exception>');
SRW.ADD_DEFINITION('</field>');
SRW.ADD_DEFINITION('</section>');
SRW.ADD_DEFINITION('</layout>');
END IF;
SRW.ADD_DEFINITION('</report>');
SRW.APPLY_DEFINITION;
SRW.ADD_DEFINITION('<report name="vidsales_hilite_sales" author="Generated"
DTDVersion="9.0.2.0.0">');
IF :HILITE_SALES <> 'None' THEN
SRW.ADD_DEFINITION('<layout>');
SRW.ADD_DEFINITION('<section name="main">');
SRW.ADD_DEFINITION('<field name="F_TOTAL_SALES" source="TOTAL_SALES">');
SRW.ADD_DEFINITION('<exception textColor="red">');
SRW.ADD_DEFINITION('<condition source="TOTAL_SALES" operator="gt"
operand1=":hilite_sales"/>');
SRW.ADD_DEFINITION('</exception>');
SRW.ADD_DEFINITION('</field>');
SRW.ADD_DEFINITION('</section>');
SRW.ADD_DEFINITION('</layout>');
END IF;
SRW.ADD_DEFINITION('</report>');
SRW.APPLY_DEFINITION;
SRW.ADD_DEFINITION('<report name="vidsales_hilite_profits" author="Generated"
DTDVersion="9.0.2.0.0">');
IF :HILITE_PROFITS <> 'None' THEN
SRW.ADD_DEFINITION('<layout>');
SRW.ADD_DEFINITION('<section name="main">');
SRW.ADD_DEFINITION('<field name="F_TOTAL_PROFIT" source="TOTAL_PROFIT">');
SRW.ADD_DEFINITION('<exception textColor="red">');
SRW.ADD_DEFINITION('<condition source="TOTAL_PROFIT" operator="gt"
operand1=":hilite_profits"/>');
SRW.ADD_DEFINITION('</exception>');
SRW.ADD_DEFINITION('</field>');
SRW.ADD_DEFINITION('</section>');
SRW.ADD_DEFINITION('</layout>');
END IF;
SRW.ADD_DEFINITION('</report>');
SRW.APPLY_DEFINITION;
return (TRUE);
end;

21.4.2 XMLレポート定義の単独での実行

XMLレポート定義を単独で実行するには、REPORT(またはMODULE)オプションにXMLファイルを指定してリクエストを送信します。次のコマンドラインにより、レポートのemp.xmlを単独で実行するジョブ・リクエストをOracle Reports Servicesに送信します。

rwclient USERID=username/password@my_db
REPORT=c:\corp\myreports\emp.xml
DESTYPE=file desname=emp.pdf DESFORMAT=pdf
SERVER=server_name

Reports Runtimeのコマンドであるrwrunを使用する場合のコマンドラインは、次のとおりです。

rwrun USERID=username/password@my_db
REPORT=c:\corp\myreports\emp.xml
DESTYPE=file DESNAME=emp.pdf DESFORMAT=PDF

この方法でXMLレポート定義を実行する場合は、必ずXMLファイルの拡張子を指定します。また、CUSTOMIZEコマンドライン・キーワードを使用して、XMLカスタマイズ・ファイルをこのレポートに適用することもできます。

21.4.3 バッチ変更の実行

更新を必要とするレポートが大量にある場合は、rwconverterでCUSTOMIZEコマンドライン・キーワードを使用して、バッチの変更を実行できます。バッチ変更は、多数のレポートに同じ変更を繰り返し実行する必要がある場合に特に便利です(たとえば、フィールドの書式マスクの変更など)。Oracle Reports Builderでレポートを1つずつ開いて手動で変更するかわりに、rwconverterを一度実行するだけで、同じ変更を一度に多数のレポートに適用できます。

ノート:

rwconverter.batファイルでは、startキーワードを使用して、rwconverterプロセスが起動されます。startキーワードが指定されている場合、プロセスは非同期モードで起動されます。起動されたrwconverterでは、完了するまで処理が続行されます。大量のrdfのバッチ変換を使用する場合は、すべてのプロセスが同時に起動します。したがって、rwconverterをバッチ・モードで実行する場合は、rwconverter.batファイルを手動で変更してstartキーワードを削除することをお薦めします。

次の例では、2つのXMLレポート定義のtranslate.xmlおよびcustomize.xmlを3つのRDFファイルのinven1.rdf、inven2.rdfおよびmanu.rdfに適用し、変更後の定義を新しいファイルのinven1_new.rdf、inven2_new.rdfおよびmanu_new.rdfに保存します。

rwconverter username/password@my_db
STYPE=rdffile SOURCE="(inven1.rdf, inven2.rdf, manu.rdf)"
DTYPE=rdffile DEST="(inven1_new.rdf, inven2_new.rdf, manu_new.rdf)"
CUSTOMIZE="(d:\apps\trans\translate.xml,d:\apps\custom\customize.xml)"
BATCH=yes

ノート:

この例では、CUSTOMIZEの値に、Windowsプラットフォームに格納されているファイルへのディレクトリ・パスが示されています。UNIXの場合は、そのプラットフォームの標準に従ってディレクトリ・パスを指定してください(つまり円記号(\)のかわりに通常のスラッシュを使用)。

21.5 XMLレポート定義のデバッグ

次の機能は、XMLレポート・ファイルをデバッグする際に役立ちます。

- XMLパーサーのエラー・メッセージ

- rwbuilder

- デバッグを目的とした、ファイルへのXMLの書込み

21.5.1 XMLパーサーのエラー・メッセージ

XMLパーサーは、Oracleデータベース・リリースに付属するOracle XML Development Kit (XDK)に含まれています。XMLパーサーは、XML構文の妥当性をチェックするJavaパッケージです。XMLパーサーを含むJARファイルは、インストール時に自動的に設定され、Oracle Reportsで使用可能となります。

XMLパーサーは、ほとんどの構文エラーを検出し、エラー・メッセージを表示します。エラー・メッセージは、エラーが発生したXMLファイルの行番号と、エラーの簡単な説明から成ります。

XMLパーサーの詳細は、Oracle Technology Network(http://www.oracle.com/technetwork/database/features/xmldb/overview/xdkhome-092156.html)を参照してください。その場合、XML parserまたはXDKで検索します。Oracle Database付属のドキュメントにも情報が記載されています。

21.5.2 rwbuilder

XMLレポート定義の設計時には、Oracle Reports Builderでオープンしたほうが便利な場合があります。Oracle Reports Builderでは、オブジェクトが期待どおりに作成または変更されているかをすぐに確認できます。たとえば、XMLレポート定義にサマリーを作成する場合、Oracle Reports Builderで定義をオープンすると、サマリーがデータ・モデルで適切なグループに配置されているかどうかを一目で確認できます。

Oracle Reports Builderでレポート定義全体をオープンするには、REPORT(またはMODULE)キーワードを使用します。例:

rwbuilder USERID=username/password@my_db REPORT=c:\corp\myreports\emp.xml

Oracle Reports Builderで部分レポート定義をオープンするには、CUSTOMIZEキーワードを使用します。例:

rwbuilder USERID=username/password@my_db REPORT=emp.rdf CUSTOMIZE=c:\myreports\emp.xml

ノート:

この例では、REPORTオプションによって、Windowsプラットフォームに格納されているファイルへのディレクトリ・パスが指定されます。UNIXの場合は、そのプラットフォームの標準に従ってディレクトリ・パスを指定してください(つまり円記号(\)のかわりに通常のスラッシュを使用)。

どちらの場合も、Oracle Reports Builderで有効なXMLレポート定義がオープンします。その後、Oracle Reports Builderの様々なビューを使用して、レポートが期待どおりに作成または変更されているかどうかを確認できます。

21.5.3 デバッグを目的とした、ファイルへのXMLの書込み

SRW.ADD_DEFINTIONを使用してXMLレポート定義をメモリー内に作成する場合は、XMLをファイルに書き込むとデバッグに役立ちます。次の例は、各行をメモリー内のドキュメント・バッファおよび(ファイルへの書込みを選択した場合は)指定したファイルに書き込むプロシージャを示しています。

PROCEDURE addaline (newline VARCHAR, outfile Text_IO.File_Type) IS
BEGIN
SRW.ADD_DEFINITION(newline);
IF :WRITE_TO_FILE='Yes' THEN
Text_IO.Put_Line(outfile, newline);
END IF;
END;

この例が実際に機能するには、このプロシージャをコールするPL/SQLでTEXT_IO.File_Typeタイプの変数を宣言する必要があります。例:

custom_summary  Text_IO.File_Type;

また、書込み用のファイルをオープンし、addalineプロシージャをコールして、書き込む文字列と書込み先ファイルを渡す必要があります。例:

custom_summary := Text_IO.Fopen(:file_directory || 'vid_summ_per.xml', 'w');
addaline('<report name="video_custom" author="Generated" DTDVersion="9.0.2.0.0">',
custom_summary);

第V部

グローバリゼーション・サポートおよび双方向サポート

第V部では、Reports関連のグローバリゼーション・サポート設定および双方向サポートに関する情報が記載されています。

- 第22章「グローバリゼーションと双方向のサポートの実装」

22 グローバリゼーションと双方向のサポートの実装

各国に配布するレポートを設計する場合、文字セットやテキストの読取り順序などを考慮する必要があります。Oracle Reports Servicesでは、これらの考慮事項に関連する問題に対処するためのサポートを提供しています。これらのサポートは、文字セットに対するグローバリゼーション・サポートと、テキストの読取り順序に対する双方向サポートです。

グローバリゼーション・サポートは、複数の異なる言語で展開できるアプリケーションの設計を可能にします。Oracleでは、ヨーロッパ、中東およびアジアで使われている言語のほとんどをサポートしています。グローバリゼーション・サポートを使用すると、次のことが可能になります。

- 各国の文字セット(マルチバイト文字セットを含む)の使用

- 適切な言語と地域の表記規則に基づいたデータの表示

- インタフェースに表示される文字列の抽出とそれらの翻訳

双方向サポートは、利用対象者の要件に応じて、左から右または右から左の方向にデータを表示できるようにします。

この章では、Reportsに関連するグローバリゼーション・サポートの設定など、グローバリゼーション・サポート・アーキテクチャについて概説するとともに、JSPで文字セットを指定する方法を説明します。また、双方向、Unicodeおよび翻訳のサポートに関する情報も提供します。ここには主に次のような項があります。

- グローバリゼーション・サポート・アーキテクチャ

- グローバリゼーション・サポートの環境変数

- JSPまたはXMLファイルでの文字セットの指定

- 双方向サポート

- Unicode

- アプリケーションの翻訳

- グローバリゼーションに関する問題のトラブルシューティング

22.1 グローバリゼーション・サポート・アーキテクチャ

グローバリゼーション・サポート・アーキテクチャは、次の2つの部分で構成されます。

- 言語に依存しない機能

- 言語依存データ

22.1.1 言語に依存しない機能

言語に依存しない機能では、実行時にオペレータが使用する言語および地域に応じて、適切にデータが処理されます。データは、各国の日付および時刻の表記規則に従って、自動的に書式設定されます。

22.1.2 言語依存データ

言語依存データを使用すると、データを分離できます。これによって、作成したアプリケーションで、そのアプリケーション固有の文字列の翻訳を処理できるようになります。

言語依存データはコードから分離されているため、グローバリゼーション・サポート機能の動作は実行時に提供されるデータによって制御されます。新規言語を追加するとき、および言語別のアプリケーションの特性を変更するときに、コードを変更する必要はありません。このアーキテクチャでは、セッションごとに言語依存機能を指定することもできます。

22.2 グローバリゼーション・サポートの環境変数

グローバリゼーション・サポートの環境変数は、Oracle Fusion Middlewareをインストールする際に、自動的にデフォルト値に設定されます。

ノート:

環境切替え機能を使用すると、インストール時に設定されるデフォルトの環境に限定されることがありません。また、1つのReports Serverに対して、言語設定など複数の環境を構成できます。詳細は、第7.2.2項「動的な環境切替え」を参照してください。

表22-1では、Oracle Reports Servicesに関係するグローバリゼーション・サポート関連環境変数を説明します。

表22-1 Oracle Reports Servicesのグローバリゼーション・サポートの環境変数

変数

説明

NLS_LANG

Oracle Reports Servicesに関係します。Oracle Reports Servicesで使用する言語設定。第22.2.1項「NLS_LANG環境変数」を参照してください。

DEVELOPER_NLS_LANG

Oracle Reports Builderで使用される言語。設定されない場合は、NLS_LANGのデフォルト値が使用されます。第22.2.2項「DEVELOPER_NLS_LANG環境変数とUSER_NLS_LANG環境変数」を参照してください。

USER_NLS_LANG

Reports Runtimeで使用される言語。設定されない場合は、NLS_LANGのデフォルト値が使用されます。第22.2.2項「DEVELOPER_NLS_LANG環境変数とUSER_NLS_LANG環境変数」を参照してください。

22.2.1 NLS_LANG環境変数

NLS_LANG環境変数により、Oracle Reports Servicesで使用される言語、地域および文字セットの設定を指定します。具体的には次のとおりです。

- ユーザーに表示されるメッセージの言語

- DATEおよびNUMBERデータ型に使用されるデフォルトの書式マスク

- ソート基準

- 文字セット

ノート:

この環境変数は、Oracle Fusion Middlewareをインストールする際に自動的に設定されます。Oracle Fusion Middlewareのインストール後に環境変数を変更する方法の詳細は、第22.2.1.1項「NLS_LANG環境変数の定義」を参照してください。

NLS_LANGの構文は、次のとおりです。

NLS_LANG=language_territory.charset

各値は次のように定義されます。

- language
メッセージ(エラー・メッセージを含む)および月と曜日の名前を表示する言語とその表記規則を指定します。言語を指定しない場合は、その値がデフォルトで米語に設定されます。第22.2.1.2項「言語および地域の定義」を参照してください。

- territory
地域を指定し、デフォルトの日付書式、数値に使用される小数点記号、通貨記号、および週番号と曜日番号の計算に使用される表記規則も指定します。地域を指定しない場合は、その値がデフォルトでアメリカに設定されます。第22.2.1.2項「言語および地域の定義」を参照してください。

- charset
データを表示するキャラクタ・セットを指定します。これは、使用する言語とプラットフォームに適合するキャラクタ・セットにする必要があります。このオプションは、メッセージの表示に使用するキャラクタ・セットも指定します。第22.2.1.3項「キャラクタ・セットの定義」を参照してください。

ノート:

Oracle Portal Security、Portal Destination、Job Status Repositoryなどの機能を使用すると、Oracle Reports Servicesによって確立されたJDBCデータベース接続がNLS_LANGの初期設定よりも優先されることがあります。これにより、PDF出力のアジア言語でのエイリアシングなどの、実行中のレポートの動作に影響が及ぶ場合があります。第7.2.2項「動的な環境切替え」で説明しているように、UNIXプラットフォームでは、環境切替え機能を使用してレポートの環境を動的に設定することで、この問題を回避できます。

NLS_LANGの設定では、(基本的に)同じ言語を使用する各国間の地域的な違いを考慮する必要があります。たとえば、フランスで使用されているフランス語で実行する場合は、NLS_LANG環境変数を次のように設定します。

NLS_LANG=FRENCH_FRANCE.WE8ISO8859P1

一方、スイスで使用されているフランス語で実行する場合は、NLS_LANG環境変数を次のように設定します。

NLS_LANG=FRENCH_SWITZERLAND.WE8ISO8859P1

ノート:

showjobs、showenvなどのrwservletページ、オンライン・ヘルプおよびエラー・メッセージの言語は、NLS_LANGではなく、中間層マシンのロケール(UNIXの場合はLANG)によって決まります。たとえば、中間層のロケールがフランス語に設定されており、NLS_LANG=JAPANESE_JAPAN.JA16SJISの場合、showjobsまたはエラー・メッセージは、日本語ではなくフランス語で表示されます。

22.2.1.1 NLS_LANG環境変数の定義

WindowsまたはUNIXのオペレーティング・システムでは、NLS_LANG環境変数を他の環境変数と同じ方法で定義します。

22.2.1.1.1 Windows

WindowsでNLS_LANG環境変数を定義する手順は、次のとおりです。

1. Windowsのレジストリを開きます。

ノート:

レジストリは、バックアップを作成してから編集してください。

2. 「HKEY_LOCAL_MACHINE」ノードを拡張し、次に「SOFTWARE」ノードを拡張します。

3. 「Oracle」ノードを拡張し、次にOracle Reports Servicesの「HOME」ノードをクリックして、レジストリ・エディタの右側のパネルにOracle環境変数を表示します。

4. NLS_LANG環境変数をダブルクリックします。

5. 「値」データ・テキスト・ボックスにNLS_LANGの新しい値を入力します。

6. 「OK」をクリックします。

22.2.1.1.2 UNIX

UNIXプラットフォームでNLS_LANG環境変数を定義するには、ORACLE_INSTANCE/config/reports/binディレクトリにあるシェル・スクリプトreports.shでその環境変数を設定します。

22.2.1.2 言語および地域の定義

文字セットによって各言語に必要な個別の文字が使用可能になると同時に、各国の表記規則がサポートされることで、データ項目が正しくローカライズされて表示されます。

指定の言語では、次の要素についてデフォルトの表記規則が決まります。

- Oracle Reports ServicesのメッセージおよびOracle Databaseからのメッセージの言語

- 月と曜日の名前およびそれらの省略形(SQLファンクションのTO_CHARおよびTO_DATEで指定)の言語

- AM、PM、ADおよびBCを表す記号

- ORDER BYを指定したときのデフォルトのソート基準(ORDER BYが指定されないかぎり、GROUP BYではバイナリ・ソートが使用されます)。

- 表記の方向(右から左と左から右)

たとえば、言語をフランス語に設定すると、英語による次のメッセージがフランス語に変換されます。

English:
ORA-00942: table or view does not exist
REP-0110: Unable to open file.

French:
ORA-00942: table ou vue inexistante
REP-0110: Impossible d'ouvrir le fichier

指定された地域によって、次のような日付および数値のデフォルトの書式特性に関する表記規則が決まります。

- 日付書式

- 小数点記号および桁グループ・セパレータ

- 各国通貨記号

- ISO通貨記号

- 週を開始する曜日

- 貸方と借方の記号

- ISO週フラグ

- リスト・セパレータ

たとえば、地域をフランスに設定すると、カンマを小数点記号として数値が書式設定されます。

22.2.1.3 キャラクタ・セットの定義

グローバリゼーション・サポート環境変数の文字セット・コンポーネントでは、各自の環境でデータを表す際に使用される文字セットを指定します。ある文字セットを使用するシステムから別の文字セットを使用するシステムにデータが転送されると、転送先のシステムでそのデータが処理され、正しく表示されます。ただし、一部の文字が文字セットの別のバイナリ値で表される場合があります。

22.2.1.3.1 キャラクタ・セットの設計上の考慮事項

多言語対応アプリケーション、または単一言語対応であっても複数の文字セットを使用するアプリケーションを設計する場合は、実行時に最も広く使用される文字セットを決定し、NLS_LANG環境変数をその文字セットに設定する必要があります。

ある文字セットで設計されたアプリケーションを別の文字セットで実行すると、パフォーマンスに問題が生じる可能性があります。さらに、設計時の文字セットの文字の一部が実行時の文字セットに含まれていない場合は、認識されない文字の部分に疑問符が表示されます。

22.2.1.3.2 フォント・エイリアシングの考慮事項

特定のフォントを使用して多言語アプリケーションを作成しても、実行してみると別のフォントが使用されている場合があります。この問題は、多くの場合、西ヨーロッパ圏以外の言語環境で英語フォント(MS Sans SerifやArialなど)を使用すると発生します。この問題が起こる理由は、フォントに関連付けられている文字セットと言語環境変数によって指定された文字セットとが一致しているかを、Oracle Reports Servicesがチェックするためです。2つの文字セットが一致しないと、Oracle Reports Servicesによって、言語環境変数で指定された文字セットが関連付けられている別のフォントに自動的に置換されます。この自動置換によって、データベースから返されるデータがアプリケーション内で正しく表示されます。

ノート:

英語フォントを使用して各国語の文字を入力すると、Windowsでは暗黙的に別のフォントへの関連付けが行われます。

ただし、このような自動置換が行われないようにする場合もあります。自動置換が行われないようにするには、希望するすべてのフォントを、フォント・エイリアス・ファイル(uifont.ali)内のWE8ISO8859P1文字セットにマッピングします。たとえば、アプリケーションでArialフォントを使用できないときは、フォント・エイリアス・ファイルに次の行を追加します。

ARIAL.....=ARIAL.....WE8ISO8859P1

この例では、すべてのArialフォントを、WE8ISO8859P1文字セットでの同じ値にマップするように指定しています。

フォント・エイリアシングおよびuifont.aliの詳細は、第10.2.2.1項「フォント・エイリアシング」を参照してください。

22.2.2 DEVELOPER_NLS_LANG環境変数とUSER_NLS_LANG環境変数

2か国語のリソース・ファイルとメッセージ・ファイルを同時に使用する必要がある場合は、次の2つの言語環境変数を使用します。これらの環境変数は、Oracle Fusion Middlewareのインストールが完了した後に使用可能となります。

- DEVELOPER_NLS_LANG

- USER_NLS_LANG

DEVELOPER_NLS_LANGとUSER_NLS_LANGの構文は、NLS_LANG環境変数と同じです。つまり、次のようになります。

DEVELOPER_NLS_LANG=language_territory.charset
USER_NLS_LANG=language_territory.charset

これらの環境変数が設定されない場合は、NLS_LANGのデフォルト値が使用されます。環境変数のDEVELOPER_NLS_LANGおよびUSER_NLS_LANGは、次のような状況のときに、NLS_LANG環境変数のかわりに使用します。

- Reports Builderを特定の言語(英語など)で使用する一方で、別の言語のアプリケーションを開発する場合。DEVELOPER_NLS_LANGおよびUSER_NLS_LANGの環境変数によって、Oracle Reports BuilderとReports Runtimeで異なる言語設定を使用できます。

- Oracle Reports Builderのローカル言語バージョンが用意されていない言語で動作するアプリケーションを作成している場合。

22.3 JSPまたはXMLファイルでの文字セットの指定

Oracle Reportsでは、Webレポートのテンプレートは、デフォルトで西ヨーロッパ言語のキャラクタ・エンコーディング用に構成されます。その他の言語については、<meta>タグのcharset属性および<%@page%>ページ・ディレクティブの両方を使用して、JSPファイルにキャラクタ・エンコーディングを指定する必要があります。

JSPファイルに適切なキャラクタ・エンコーディングを動的に関連付けるには、次の変更を行います。

1. oracle_home/reports/templates/ディレクトリのrw*.htmlファイルとblank_template.jspファイルを次のように編集します。

1. ページ・ディレクティブを次のように変更します。
<%@ page contentType="text/html;charset=yourIANAencoding" %>

ここで、

yourIANAencodingは、NLS_LANG環境変数のキャラクタ・エンコーディング部分に対応するIANAキャラクタ・エンコーディングです。

2. <head>タグ内の<meta>タグを次のように変更します。

<meta http-equiv="Content-Type"
content="text/html;charset=yourIANAencoding" />

2. oracle_home/reports/templates/ディレクトリのtemplate.xslファイルを次のように編集します。

1. <xsl:output>タグを次のように変更します。

<xsl:output
method="jsp"
indent="yes"
encoding="yourIANAencoding"
/>

説明:

yourIANAencodingは、NLS_LANG環境変数のキャラクタ・エンコーディング部分に対応するIANAエンコーディングです。

2. 次のページ・ディレクティブを追加します。

<%@ page contentType="text/html;charset=yourIANAencoding" %>

3. <head>タグ内の<meta>タグを次のように追加または変更します。

<meta http-equiv="Content-Type"
content="text/html;charset=yourIANAencoding" />

説明:

yourIANAencodingは、NLS_LANG環境変数のキャラクタ・エンコーディング部分に対応するIANAエンコーディングです。

次の例では、日本語の文字セットを指定します。

<%@ page contentType="text/html;charset=Shift_JIS" %>
<META http-equiv="Content-Type" content="text/html;charset=Shift_JIS">

ノート:

XMLの生成に使用する予定の文字セットをペーパー・レイアウトのレポートに設定するには、レポートのXML Prolog Valueプロパティに次の文字セットを記述する必要があります。

<?xml version="1.0" encoding="&Encoding" ?>

&Encodingは、実行時に適切な設定で置き換えられます。

この文字セットを表す値によって、Oracle Reports Servicesに指定されている文字セットと互換性のある文字セットがコールされます。Webで使用される文字セット(IANA定義の文字セット)の値は、NLS_LANG環境変数で表される値と異なります。表22-2では、charsetパラメータで一般的に使用されるIANA定義文字セットを示します。

ノート:

IANA定義文字セットの値では、大文字と小文字は区別されません。大文字と小文字のどちらでも入力できます。

表22-2 IANA定義の文字セットの有効値

言語

有効なIANA定義の文字セット

米語

ISO-8859-1、ISO-8859-15、windows-1252、US-ASCII、UTF-8

アラビア語

ISO-8859-6、windows-1256、UTF-8

アッサム語

UTF-8

ベンガル語(バングラデシュ)

UTF-8

ベンガル語

UTF-8

ポルトガル語(ブラジル)

ISO-8859-1、ISO-8859-15、windows-1252、UTF-8

ブルガリア語

ISO-8859-5、windows-1251、KOI8-R、UTF-8

フランス語(カナダ)

ISO-8859-1、ISO-8859-15、windows-1252、UTF-8

カタロニア語

ISO-8859-1、ISO-8859-15、windows-1252、UTF-8

クロアチア語

ISO-8859-2、windows-1250、UTF-8

チェコ語

ISO-8859-2、windows-1250、UTF-8

デンマーク語

ISO-8859-1、ISO-8859-15、windows-1252、UTF-8

オランダ語

ISO-8859-1、ISO-8859-15、windows-1252、UTF-8

エジプト語

ISO-8859-6、windows-1256、UTF-8

英語

ISO-8859-1、ISO-8859-15、windows-1252、US-ASCII、UTF-8

エストニア語

ISO-8859-4、ISO-8859-13、windows-1257、UTF-8

フィンランド語

ISO-8859-1、ISO-8859-15、windows-1252、UTF-8

フランス語

ISO-8859-1、ISO-8859-15、windows-1252、UTF-8

ディンカ語(ドイツ)

ISO-8859-1、ISO-8859-15、windows-1252、UTF-8

ドイツ語

ISO-8859-1、ISO-8859-15、windows-1252、UTF-8

ギリシア語

ISO-8859-7、windows-1253、UTF-8

グジャラート語

UTF-8

ヘブライ語

ISO-8859-8-I、windows-1255、UTF-8

ヒンディー語

UTF-8

ハンガリー語

ISO-8859-2、windows-1250、UTF8

アイスランド語

ISO-8859-1、ISO-8859-15、windows-1252、UTF-8

インドネシア語

ISO-8859-1、ISO-8859-15、windows-1252、UTF-8

イタリア語

ISO-8859-1、ISO-8859-15、windows-1252、UTF-8

日本語

EUC-JP、Shift_JIS、UTF-8

カンナダ語

UTF-8

韓国語

EUC-KR、UTF-8

スペイン語(ラテン・アメリカ)

ISO-8859-1、ISO-8859-15、windows-1252、UTF-8

ラトビア語

ISO-8859-4、ISO-8859-13、windows-1257、UTF-8

リトアニア語

ISO-8859-4、ISO-8859-13、windows-1257、UTF-8

マライ語

ISO-8859-1、ISO-8859-15、windows-1252、UTF-8

マラヤーラム語

UTF-8

マラーティー語

UTF-8

スペイン語(メキシコ)

ISO-8859-1、ISO-8859-15、windows-1252、UTF-8

ノルウェー語

ISO-8859-1、ISO-8859-15、windows-1252、UTF-8

オリヤー語

UTF-8

ポーランド語

ISO-8859-2、windows-1250、UTF8

ポルトガル語

ISO-8859-1、ISO-8859-15、windows-1252、UTF-8

パンジャブ語

UTF-8

ルーマニア語

ISO-8859-2、windows-1250、UTF-8

ロシア語

ISO-8859-5、windows-1251、KOI8-R、UTF-8

簡体字中国語

GBK、GB18030、UTF-8

スロバキア語

ISO-8859-2、windows-1250、UTF-8

スロベニア語

ISO-8859-2、windows-1250、UTF-8

スペイン語

ISO-8859-1、ISO-8859-15、windows-1252、UTF-8

スウェーデン語

ISO-8859-1、ISO-8859-15、windows-1252、UTF-8

タミール語

UTF-8

テルグ語

UTF-8

タイ語

TIS-620、UTF-8

繁体字中国語

Big5、Big5-HKSCS、UTF-8

トルコ語

ISO-8859-9、windows-1254、UTF-8

ウクライナ語

ISO-8859-5、windows-1251、KOI8-U、UTF-8

ベトナム語

windows-1258、UTF-8

22.4 双方向サポート

双方向サポートは、中東圏および北アフリカ圏の言語など、通常の文字表記方向が右から左の言語でアプリケーションを設計できるようにする機能です。双方向サポートによって、次の制御が可能になります。

- レイアウト方向。項目の右にラベルを配置し、チェック・ボックスおよびラジオ・ボタンを適切に配置して項目を表示することなど。

- 読む方向。テキストの方向(右から左または左から右)を含みます。

- 整列。原点の左上から右上への切替えを含みます。

双方向のアプリケーションを設計する際に、NLS_LANGの設定を継承するかわりに、グローバリゼーション・サポートの環境変数DEVELOPER_NLS_LANGおよびUSER_NLS_LANGを使用することができます。たとえば、Windows環境で英語のインタフェースを使用しながらアラビア語のアプリケーションを開発する場合は、これらの環境変数を次のように設定します。

DEVELOPER_NLS_LANG=AMERICAN_AMERICA.AR8MSWIN1256
USER_NLS_LANG=ARABIC_UNITED ARAB EMIRATES.AR8MSWIN1256

この例では、DEVELOPER_NLS_LANG環境変数がアラビア語の文字セットを使用していることに注意してください。詳細は、第22.2項「グローバリゼーション・サポートの環境変数」を参照してください。

UNIX版では、右から左に記述する言語の場合、PDF出力の右揃えテキストにまだ不揃いが見られる場合があります。この問題を回避するには、可変幅フォントではなく、固定幅フォントを使用します。たとえば、Miriam Fixed True Typeフォント(ヘブライ語)はWindows 2000で使用可能な固定幅フォントであり、UNIXプラットフォームでフォント・サブセットに使用して、ヘブライ語のフォント位置合せに関する問題を修正できます。異なるプラットフォーム間におけるフォント関連問題を解決する方法の詳細は、第11章「フォント・モデルおよびクロス・プラットフォームの配布」を参照してください。

22.4.1 拡張BIDI形状変更

Oracle Reports 11gリリース2 (11.1.2)には、XDO APIを使用する新しい拡張BIDI形状変更メカニズムが導入されています。この機能では、新しいBIDI形状変更メカニズムを使用するかどうかを指定する、新しい環境変数REPORTS_ENHANCED_BIDIHANDLINGを使用します。新しい拡張BIDIアルゴリズムを使用する場合には、この環境変数の値をYESに設定する必要があります。この環境変数を設定しない場合や、この環境変数の値をNOに設定する場合には、従来のメカニズムが使用されます。

REPORTS_ENHANCED_BIDIHANDLINGの値をYESに設定した場合は、次のようになります。

- 従来のBIDI形状変更メカニズムでサポートされていたすべての値が、REPORTS_ARABIC_NUMERAL環境変数に対してサポートされます。

- REPORTS_BIDI_ALGORITHM環境変数に対してサポートされている値は、次のとおりです。

- UNICODE

- ORACLE

- UNICODE_VARIANT

- デフォルト値はUNICODEです。

この環境変数の使用方法の詳細は、第B.1.46項「REPORTS_ENHANCED_BIDIHANDLING」を参照してください。

22.5 Unicode

Unicodeは、1つのアプリケーションで多言語テキストを表示できるようにするグローバルな文字セットです。これによって多国籍企業では、1つの多言語アプリケーションを開発し、それを世界各国に配布できます。

グローバルな市場では、次のような文字セットが必要です。

- 製品の1つの実装ですべての言語に対応でき、しかも世界各国で簡単に実装できます。

- 主要なスクリプトをすべて含みます。

- 多言語ユーザーおよび多言語組織をサポートします。

- インターネットを通じた全世界的なデータ交換を可能にします。

この項では、Oracle ReportsにおけるUnicodeの次の側面について説明します。

- Unicodeのサポート

- Unicodeフォントのサポート

- Unicodeサポートの有効化

22.5.1 Unicodeのサポート

Oracle Reports ServicesではUnicodeをサポートしています。UNIXプラットフォームでは、Unicodeのサポートにはいくつかの制限があります。例:

- UNIXでは、PostScript出力フォーマットのUnicodeはサポートされていません。

- PDFやRTFなどのビットマップ出力フォーマットでは、文字の不揃いなど、フォントに関する問題がUNIXで発生する場合があります。

このような問題を解決する方法の詳細は、第11.3.2項「フォントに関連する問題の解決」を参照してください。

Unicodeを使用すると、西ヨーロッパ、東ヨーロッパ、中東(双方向表記)などで使用されているシングルバイト言語、および中国語、日本語、韓国語(CJK)などのアジア系マルチバイト言語の両方を、同じアプリケーションで表示できるようになります。

すべての言語を網羅する単一の文字セットを使用することにより、各種言語の様々な文字セットを用意する必要がなくなります。たとえば、日本語などのマルチバイト言語を表示するには、NLS_LANG環境変数を次のように設定する必要があります。

NLS_LANG=JAPANESE_JAPAN.JA16SJIS

ドイツ語などのシングルバイト言語を表示するには、NLS_LANGを次のように設定する必要があります。

NLS_LANG=GERMAN_GERMANY.WE8ISO8859P1

この方式の明らかなデメリットは、アプリケーションで一度に1つの文字セットの文字しか表示できない点です。複数の文字セットを組み合せたデータは表示できません。

Unicode文字セットを使用する場合は、NLS_LANGの文字セット部分に、特定言語の文字セットではなくUTF8を設定します。これによって、異なる言語および文字セットの文字を同時に表示できます。たとえば、画面に日本語とドイツ語を同時に表示するには、language_territoryを適切に設定して、NLS_LANG環境変数の文字セット部分をUTF8に設定する必要があります。例:

NLS_LANG=JAPANESE_JAPAN.UTF8
NLS_LANG=GERMAN_GERMANY.UTF8
NLS_LANG=AMERICAN_AMERICA.UTF8

Unicode機能によって、アプリケーション開発者とエンド・ユーザーは、レポートに多言語テキストを表示できるようになります。これには、Unicode文字を含むデータベースのテキスト、多言語ボイラープレート・テキスト、グラフィカル・ユーザー・インタフェース(GUI)オブジェクト内のテキスト、キーボード入力されたテキスト、およびクリップボードのテキストが含まれます。

ノート:

Web用にアプリケーションを開発する場合は、Unicodeを使用できます。これは、Javaがブラウザを通じてUnicodeをサポートしているためです。

22.5.2 Unicodeフォントのサポート

特定の言語でテキストを入力するには、その言語をサポートするオペレーティング・システムのバージョンを実行している必要があります。また、第8章「Oracle Reportsでのフォントの管理」で説明しているように、Oracle Reports Servicesでは出力フォーマットのタイプに応じて、各国語のフォントについてオペレーティング・システムに依存しています。

WindowsにはTrue Type Big Fontが用意されています。これらのフォントには、複数の言語によるテキストの表示や印刷に必要な文字が含まれています。たとえば、西ヨーロッパ言語、中央ヨーロッパ言語およびアラビア語のテキストをフィールドに入力、表示または印刷したときに予期しない文字が出力された場合は、Big Fontを使用していない可能性があります。Microsoft Windowsでシングルバイト言語に用意されているBig Fontは、Arial、Courier NewおよびTimes New Romanです。詳細は、http://www.microsoft.com/typography/fonts/default.aspxを参照してください。

西ヨーロッパ言語、中央ヨーロッパ言語、キリル語、ギリシャ語、トルコ語、ヘブライ語、アラビア語、バルト語、ベトナム語、タイ語、簡体字中国語、日本語、韓国語、繁体字中国語に対して、オラクル社は次の2種類のUnicodeフォントを用意しています。

- Albany WTフォント(プロポーショナル幅)は、Oracle Fusion Middleware 11gリリース2 (11.1.2) MRUAのCDにあります。

- Andale Duospace WTフォント(固定幅)は、My Oracle Support(http://support.oracle.com)からダウンロードできます。パッチIDは2638552です。

サード・パーティのUnicodeフォントも利用できます。

22.5.3 Unicodeサポートの有効化

Unicodeサポートを有効にするには、NLS_LANG環境変数を次のように設定します。

NLS_LANG=language_territory.UTF8

環境変数の詳細は、第22.2項「グローバリゼーション・サポートの環境変数」を参照してください。

22.6 アプリケーションの翻訳

Oracle Reports Servicesのどのアプリケーションにも、次のような様々なメッセージが使用されています。

- データベースからのエラー・メッセージ

- Oracle Reports Servicesで生成されるランタイム・エラー・メッセージ

- アプリケーションの一部として定義されるメッセージまたはボイラープレート・テキスト

このうち最初の2つについては、NLS_LANG環境変数を正しく設定し、適切なメッセージ・ファイルを用意することで、メッセージが自動的に翻訳されます。アプリケーションの一部として定義されているメッセージおよびボイラープレート・テキストを翻訳するには、Oracleの翻訳ツールであるTranslationHubを使用します。また、コードの文字列にはPL/SQLライブラリを使用すると便利です。

ノート:

TranslationHubの使用法に関する情報は、Oracle Developer SuiteのドキュメントCDおよびOracle Technology Network(http://www.oracle.com/technetwork/developer-tools/forms/overview/index.html)から入手できます。

PL/SQLブロック内の定数テキストは、手動で翻訳する必要があります。これは、このテキストが明確に区切られておらず、多くの場合、変数や文字列から構成されているためです。このような文字列を翻訳するには、PL/SQLライブラリを使用して柔軟なメッセージ構造を実装します。

ビルトイン・プロシージャSRW.MESSAGEによって、またはトリガーやプロシージャから表示項目にメッセージを割り当てることによってプログラムから表示されるメッセージには、連結可能なPL/SQLライブラリを使用して、柔軟なメッセージ機能を実装できます。ライブラリはホスト上に格納し、実行時に動的に連結できます。実行時には、検索パスに基づいて、連結されたライブラリを読み込むことができます。たとえば、ライブラリにイタリア語のメッセージのみが格納されているとします。

FUNCTION nls_appl_mesg(index_no NUMBER)
RETURN CHAR
IS
msg CHAR(80);
BEGIN
IF index_no = 1001 THEN
msg := 'L''impiegato che Voi cercate non esiste...';
ELSIF index_no = 1002 THEN
msg := 'Lo stipendio non puo essere minore di zero.';
ELSIF  ...
.
.
ELSE
msg := 'ERRORE: Indice messaggio inesistente.';
END IF;
RETURN msg;
END;

このようなルーチンは、一般に文字式が使用可能な場所であればどこでも使用できます。たとえば、適切に翻訳されたアプリケーション・メッセージを使用して警告を表示するには、次のコードを組み込みます。

SRW.MESSAGE(1001,nls_appl_mesg(1001));

ノート:

SRW.MESSAGEビルトイン・プロシージャを含めてSRWビルトイン・パッケージの詳細は、Oracle Reportsのオンライン・ヘルプを参照してください。

アプリケーションを別の言語に変更するには、nls_appl_mesファンクションを含むPL/SQLライブラリを、翻訳済みテキストを指定したnls_appl_mesgファンクションを含む同名のライブラリに置き換えるだけです。

22.7 グローバリゼーションに関する問題のトラブルシューティング

多言語アプリケーションで発生する可能性のあるグローバリゼーションに関する問題の解決に役立つように、この項では次のトラブルシューティング情報を示します。

- JSPファイルでの文字セットの動的な埋込み

- グローバリゼーション・サポートの環境変数の設定

- WE8ISO8859P15文字セット使用時に文字化けしたフォントの修正

- エンコードされたJSPレポートのオープンまたは実行

- ERR-063001 xxx.dtd nullの解決

- HP-UXの日本語環境でのOracle Reportsの実行

JSPファイルでの文字セットの動的な埋込み

Oracle Reportsでは、Webレポートのテンプレートはデフォルトで西欧文字コード用に構成されています。他の言語に関しては、<Meta>タグのcharset属性と<%@page%>ページ・ディレクティブの両方を使用して、すべてのJSPファイルに文字コードを指定できます。

JSPファイルに適切なキャラクタ・エンコーディングを動的に関連付けるには、次の変更を行います。

1. rw*.htmlファイルとblank_template.jspファイルを編集します。

1. ページ・ディレクティブを次のように変更します。

<%@ page contentType="text/html;charset=yourIANAencoding" %>

説明:

yourIANAencodingはIANA定義の文字セット名で、NLS_LANG変数のNLS_CHARACTERSET部分に対応しています。

2. <Head>タグ内の<Meta>タグを次のように変更します。

<meta http-equiv="Content-Type"
content="text/html;charset=yourIANAencoding" />

ノート:

テンプレート・ファイルのrw*.htmlとblank_template.jspは、ORACLE_HOME/reports/templates/ディレクトリにあります。

2. (ORACLE_HOME/reports/templates/にある)template.xslファイルを編集します。

1. <xsl:output>タグを次のように変更します。

<xsl:output
method="jsp"
indent="yes"
encoding="yourIANAencoding"
/>

説明:

yourIANAencodingはIANA定義の文字セット名で、NLS_LANG変数のNLS_CHARACTERSET部分に対応しています。

2. ファイルにページ・ディレクティブを追加します。

<%@ page contentType="text/html;charset=yourIANAencoding" %>

3. <HEAD>タグ内の<META>タグを次のように追加または変更します。

<meta http-equiv="Content-Type"
content="text/html;charset=yourIANAencoding" />

説明:

yourIANAencodingはIANA定義の文字セット名で、NLS_LANG変数のNLS_CHARACTERSET部分に対応しています。

グローバリゼーション・サポートの環境変数の設定

Tk2Motif.rgbファイルには、Motif版のOracle Toolkitのリソース設定が含まれます。たとえば、Oracle Reportsで使用する文字セット(NLS_CHARACTERSETで指定)とXフォントと間におけるフォント・マッピングが指定されます。

Oracle Reportsでは、このファイルがORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/languagディレクトリで検索されます。このlanguageは、NLS_LANGの言語設定から導出されます。

このファイルが存在しない場合、ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/adminでデフォルトのバージョンが検索されます。このバージョンは、西ヨーロッパ言語の文字セットであるWEISO8859P1用に構成されています。

NLS_LANGまたはNLS_CHARACTERSETで、NLS_LANGに設定している言語に通常使用されない文字セットを指定すると、Oracle Reportsによってエラーが生成されます。

たとえば、NLS_LANG=AMERICAN_AMERICA.JA16EUCを設定すると、ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/adminディレクトリでTk2Motif.rgbが検索されます。NLS_LANGに設定した言語はAMERICANであり、AMERICANには言語サブディレクトリが関連付けられていないため、Oracle Reportsではデフォルトのファイルが使用されます。このバージョンはWE8ISO8859P1用に設計されており、使用するNLS_LANG文字セットはJA16EUCであるため、Oracle ReportsによってREP-3000エラーが生成されます。

この問題を回避するには、環境変数TK_UNKNOWNの値を、使用する文字セット固有のTk2Motif.rgbファイルの場所に設定します。

たとえば、NLS_LANG=AMERICAN_AMERICA.JA16EUCの場合は、TK_UNKNOWN=ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/JAを設定します。使用する言語がAMERICANに設定されていても、Oracle Reportsでは、JA言語サブディレクトリのTk2Motif.rgbファイルが使用されます。

WE8ISO8859P15文字セット使用時に文字化けしたフォントの修正

UNIXでwe8iso8859p15文字セットを使用してマルチバイト・レポートを実行すると、文字化けした出力が表示される場合があります。

この問題を回避する手順は、次のとおりです。

1. デフォルトのプリンタの.ppdファイルに、使用しているフォントのエントリを作成します。このファイルは、次のディレクトリにあります。

$ORACLE_HOME/guicommon/tk/admin

ノート:

これらのエントリは、レポート出力で文字化けして表示されているフォントに対して作成します。

2. このフォントのAFMファイルのコード体系がAdobeStandardEncodingの場合は、FontSpecificに設定します。したがって、AFMファイルの次のエントリを変更します。

EncodingScheme AdobeStandardEncoding

これを、次のように変更する必要があります。

EncodingScheme FontSpecific

エンコードされたJSPレポートのオープンまたは実行

JSPレポートのキャラクタ・エンコーディング(EUC-JPなど)が、NLS_LANG環境変数の文字セット部分(JA16SJISなど)と異なる場合は、次のエラーが発生します。

- JSPファイルを実行するとき:

REP-6106 or 6104 with javax.servlet.jsp.JspException  (multibyte)
REP-0495 Unable to tokenize the query (singlebyte)

- Oracle Reports Builderを使用してJSPファイルを開くとき:

REP-0069 Internal Error or REP-6106

この問題を回避するには、JSPレポートのキャラクタ・エンコーディングを、Oracle ReportsのNLS_LANG変数の文字セット部分に対応するIANA定義文字セットに一致させる必要があります。

例:

JSPレポートのエンコーディング:

<%@ page contentType="text/html;charset=EUC-JP" %>
<META http-equiv="Content-Type" content="text/html;charset=EUC-JP">

このJSPファイルを、文字セット(EUC-JP)でエンコードする必要があります。

Oracle Reportsのエンコーディング:

NLS_LANG=JAPANESE_JAPAN.JA16EUC

この例では、JSPレポートのエンコーディング(EUC-JP)が、Oracle ReportsのNLS_LANGの文字セット部分、つまりJA16EUCと一致しています。

ERR-063001 xxx.dtd nullの解決

XMLデータ・ソースに対してレポートを作成するとき、XMLファイル(データ・ソース)とDTDの両方のエンコーディングを、Oracle Reportsのエンコーディングに一致させる必要があります。

XMLレポートを表(たとえば、日本語の表)に対して作成する場合、グループ要素名は表の言語(つまり日本語)になります。データ・ソースに一致させるには、DTDのグループ要素名を日本語に設定する必要があります。XMLファイルおよびDTDファイルには、日本語をサポートするものであればどのようなエンコードでも実行できます(Shift_JIS、EUC-JP、UTF-8など)。ただし、XMLデータ・ソースとDTDのエンコーディングがOracle Reportsと異なると、次のエラーが表示されます。

ERR-063001 xxx.dtd null

ノート:

XMLスキーマを使用してルールを定義した場合、このエラーは表示されません。

この問題を回避するには、XMLレポートのデータ・ソースXMLファイルとDTDファイルの両方を、Reports RuntimeのNLS_LANGの文字セット部分にエンコードする必要があります。

たとえば、NLS_LANG=JAPANESE_JAPAN.JA16SJISの場合、データ・ソースXMLファイルとDTDファイルの両方を、Shift_JISにエンコードする必要があります。

HP-UXの日本語環境でのOracle Reportsの実行

HP-UXの日本語環境で、NLS_LANG=JAPANESE_JAPAN.JA16SJISと設定してOracle Reportsを使用する場合、Oracle Reportsを使用する前に、該当するTk2Motif.rgbファイルを変更する必要があります。これは、EUCにエンコードされた日本語リソースがこのファイルに含まれるためです。

Tk2Motif.rgbファイルをShift-JISエンコーディングに変換するか、このファイルから最後の7つのエントリを削除します。そうしないと、Oracle Reportsが失敗する場合があります。

ノート:

日本語環境に使用するTk2Motif.rgbファイルは、次のとおりです。

ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/JA

第VI部

パフォーマンス

第VI部では、問題の診断およびOracle Reports Services環境のチューニングに関する情報が記載されています。

- 第23章 「Oracle Reportsの診断およびチューニング」

23   Oracle Reportsの診断およびチューニング

レポート・リクエストのサイズと複雑さが増加し、ユーザー・ベースが増えてくると、レポートのパフォーマンス(レポートの実行時間)の効率化を検討することが必要になります。それによって、パフォーマンスが最大化されるとともに、レスポンス時間の最小化が実現します。レポートのパフォーマンスをチューニングする前に、次の要点を検討してください。

- 体感パフォーマンスと測定可能なパフォーマンスの両方を向上させることで生じるパフォーマンスとそのトレードオフ

- 必要となるコスト

- コンピューティング環境の複雑性

これらの考慮事項の中には、その調査結果がパフォーマンスの向上に大きく寄与するものがあります。一方、パフォーマンスの向上に少ししか寄与しないものや、実際のレポートのパフォーマンスには影響はないものの、体感パフォーマンスを向上させる可能性があるものもあります。体感パフォーマンスとは、(最終出力として測定される)最終結果に影響を与えるイベントのことをいいます。体感パフォーマンスの例は、第23.7.1項「事前フェッチ」を参照してください。

この章では、個々のレポートを構築、実装およびチューニングする際に、パフォーマンスの向上に役立つガイドラインと提案を多数紹介します。ここで紹介する提案は全般的なものであるため、これらの提案すべてがどんな場合にも当てはまるわけではありません。ただし、アプリケーション環境に応じてこれらの提案の一部またはすべてを実装することで、レポートの実行パフォーマンス(実際のパフォーマンスも体感パフォーマンスも含めて)を向上させることができます。

ノート:

この章では、Oracle Reportsのデプロイメントやスケーラビリティに関する問題は取り上げません。詳細は、OTN(http://www.oracle.com/technetwork/middleware/reports/collateral-9i-10g-087783.html)で提供されているホワイト・ペーパー『Oracle Reports Services Scalability』を参照してください。

この章は、次の点についてレポートをより幅広く検討するために役立ちます。

- アプリケーションの要件

- 基盤となるデータ・モデルの正確性

- レポートが実行される環境(クライアント/サーバー、Web、ファイアウォールの内側など)

- ユーザー操作の必要性の程度

レポートの状況が明確になったら、次の項目を最適化および最小化するチューニング・プロセスへと進みます。

- データ・ソースへのコール

- レイアウトで要求される不要なフォーマットの量

これらの目的を達成するには、レポートの次の各側面にチューニングの焦点を当ててください。

- 実行時間。レポートの実行時にどの部分で多くの時間が費やされているかを突き止めます。それが明確になったら、適切なパフォーマンス・ツールを使用して、問合せの評価、データベースの最適化の再確認、レポートで使用されるコードの効率性の検証などを行います。

- フォーマットとレイアウト。レポート情報のフォーマットとレイアウトについて考察します。

- ランタイム・パラメータ。パフォーマンスとレポート配布が最大になるように、ランタイム・パラメータを設定します。レポートのパフォーマンスを最大化する配布方法の詳細は、第23.7.2項「一括処理と配布」を参照してください。

この章では、次の各項でこれらの側面について説明します。

- このリリースでの新機能

- ロギング機能の強化

- パフォーマンス分析ツール

- Reports Server構成のチューニング

- データへのアクセス

- データのフォーマット

- レイアウトに関する一般的なガイドライン

- レポートの実行

23.1 このリリースでの新機能

Oracle Reports 11gリリース2 (11.1.2)は、表23-1(表1-1「11gの機能と10gの機能との比較」の一部)に示すように、事前対応型のアラートと通知、およびロギングとトレースの拡張機能により診断機能が強化されています。

表23-1 11gの診断機能と10gの機能との比較

11gの新機能

10gにおける同等機能

ODL形式のログ・ファイル:すべてのOracle Reportsログ・ファイルは、Oracle Diagnostic Logging (ODL)形式に準拠します。この形式は、Oracle Fusion Middlewareにおいて、ログ形式、メッセージ・タイプおよびログ管理ディレクティブ用の標準であります。ログ・ファイルのエントリは、テキスト形式(デフォルト)またはXML形式です。Oracle Enterprise Managerからログ・ファイルの検索が簡単で効率的になります。

該当なし(N/A)

より包括的になったトレース用選択肢:

- きめ細かく制御するために複数のトレース・レベルが用意されています。

- 新しいトレース・オプション: NOTIFICATION、WARNING、ERROR (Oracle Fusion Middlewareコンポーネントにおいて標準化されている)

- ファイル・サイズを制御するメカニズムである命名規則が改善されています。

該当なし

トレースビューアと検索機能の強化:Oracle Enterprise Managerを使用すると、新しいトレース・オプション、レベル、ログ・ファイル・サイズなどの指定、表示および検索がすべてできます。

トレース・オプションは構成ファイルまたはコマンドラインで指定します。

より広範囲に強化された診断機能:原因と処置によりアクション可能エラーが改善されています。また、ECIDを使用したジョブの検索に対応しています。さらに、トレースがオフにされているときでもクリティカル・エラーはログに記録されます。ヘルス・チェック・メカニズムが改善され、コンテキスト対応ヘルプとエラー・メッセージ・レジストリへのハイパーリンクが用意されています。

該当なし

23.2 ロギング機能の強化

Oracle Reports 11gリリース2 (11.1.2)では、次の領域でロギング機能が強化されています。

- セキュリティ

- ジョブの管理

- アップグレード

- 高可用性

- フォント

表23-2は、拡張ログ・メッセージのリストです。

表23-2 拡張ロギング・メッセージの例

拡張

サンプル出力

セキュリティ

起動

SecurityHelper:start

JAZNSecurity

RWJAZNSecurity:jobCommandCheck Authorization check started

ReportsActionHandler

ReportsActionHandler:run Checking job command permission

JAZNSecurity

JAZNSecurity:jobCommandCheck Authorization check passed for job 1

JAZNSecurity

RWJAZNSecurity:authenticate Authenticated User weblogic successfully

ジョブの管理

ConnectionImpl

ConnectionImpl:runJob Calling findDuplicatedJob for jobid = 1

JobManager

JobManager:findDuplicatedJob Found no duplicated job for job 1

ConnectionImpl

ConnectionImpl:runJob No Duplicate jobs for jobid=1

アップグレード

アップグレード・フレームワーク

reports app is deployed to managed server WLS_REPORTS

アップグレード・フレームワーク

ReportsServerComponent component is configured in destination instance

Upgrade.Reports

Creating reports specific upgrade items

Upgrade.Reports

Creating reports specific upgrade items complete。

高可用性

JOC Caching

ReportsCacheHandler: putFile File <fileName> pushed to JOC

フォント

フォント関連のログの拡張の詳細は、第11.2.3項「フォント診断およびトレース」を参照してください。

23.2.1 エンジン・クラッシュの診断

この項では、エンジン・クラッシュを診断するためのロギング構成の推奨設定について説明します。

ログ・ファイルのいくつかのログ・メッセージを確認できないために、エンジン・クラッシュの診断が困難になることがあります。特に、ログ・メッセージがエンジン・クラッシュの直前に生成される場合などです。

パフォーマンス上の理由から、ロギング・フレームワークではログをメモリーにバッファし、ログを定期的にログ・ファイルにフラッシュします。エンジンが突然クラッシュした場合、ロギング・フレームワークでは、エンジン・プロセスが終了する前にバッファからファイルにログをフラッシュできないことがあります。その結果、エンジン・クラッシュの前に記録される必要があったロギング情報が、ログ・ファイルに書き込まれていないことがあります。

エンジン・クラッシュを診断し、すべてのログ・エントリを表示するには、次のステップを実行します。

rwserverの場合

- 次の場所にあるReports Server logging.xmlファイルに移動します。
ORACLE_INSTANCE/config/ReportsServerComponent/<server name>/logging.xml(スタンドアロン・サーバーの場合)

$DOMAIN_HOME/config/fmwconfig/servers/WLS_REPORTS/logging.xml ( インプロセス・サーバーの場合)

- エンジン・ログ・ハンドラのautoFlushLevelの値をTRACE:32に設定します。
例:

<log_handler name='rwengine_trace_handler' ....>
<property name='autoFlushLevel' value='TRACE:32'/>
...

rwrunの場合

- ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools/logging.xmlにあるlogging.xmlファイルにナビゲートします。

- エンジン・ログ・ハンドラのautoFlushLevelの値をTRACE : 32に設定します。
例:

<log_handler name='runtime_trace_handler' ...>
<property name='autoFlushLevel' value='TRACE:32'/>
...

デフォルトでは、NOTIFICATION :1メッセージはただちにフラッシュされます。任意のメッセージに対してautoFlushLevelパラメータの値をTRACE : 32に設定すると、そのログ・メッセージはただちにファイルにフラッシュされます。フラッシュを連続して実行するとパフォーマンスに影響を及ぼすため、autoFlushLevelは診断のためにのみ設定することをお薦めします。

23.3 パフォーマンス分析ツール

レポートのチューニングに向けた最初のステップは、レポートの実行時にどの部分で多くの時間が費やされているかを突き止めることです。データの取出し、取り出したデータのフォーマット、ランタイム・リソースや配布の待機などの部分で、多くの時間が費やされている場合もあります。レポートのレイアウトが最大限に効率化されチューニングされていたとしても、非効率的なSQLが原因でデータの取出しに多くの時間が費やされていれば、効果は限定されます。

この項では、レポートのパフォーマンスの監視に使用できるツールについて説明します。

- Oracle Enterprise Manager

- ログ・ファイル

- WLSTについて

- ロギング関連のWLSTコマンド

- メトリック関連のWLSTコマンド

- 監査構成のWLSTコマンド

- レポート実行のトレース

- RW_SERVER_JOB_QUEUE表

- SHOWJOBSコマンドライン・キーワード

- 効率的なSQL

- PL/SQL

- Javaストアド・プロシージャ

- Java Importer

23.3.1 Oracle Enterprise Manager

Oracle Enterprise Managerを使用してReports Serverの管理と監視を行う方法の詳細は、第6章「Oracle Enterprise ManagerによるOracle Reports Servicesの管理」を参照してください。

23.3.2 ログ・ファイル

すべてのOracle Reportsログ・ファイルは、Oracle Diagnostic Logging (ODL)形式に準拠します。この形式は、Oracle Fusion Middlewareにおいて、ログ形式、メッセージ・タイプおよびログ管理ディレクティブ用の標準であります。ログ・ファイルのエントリは、テキスト形式(デフォルト)またはXML形式です。詳細は、『Oracle Fusion Middleware管理者ガイド』を参照してください。

ログ・ファイルのデフォルトの場所

ログ・ファイルのデフォルトの場所は、表23-3を参照してください。

表23-3 ログ・ファイルのデフォルトの場所

コンポーネント

場所、ファイル名

Reportsスタンドアロン・サーバー

サーバー・ログ・ファイル:

ORACLE_INSTANCE/diagnostics/logs/ReportsServerComponent/<server name>/rwserver_diagnostic.log

エンジン・ログ・ファイル:

ORACLE_INSTANCE/diagnostics/logs/ReportsServerComponent/<server name>/rwEng-<num>_diagnostic.log

通信ログ・ファイル:

ORACLE_INSTANCE/diagnostics/logs/ReportsServerComponent/<server name>/zrclient_diagnostic.log

Reportsインプロセス・サーバーおよびサーブレット・ログ・ファイル

インプロセス・サーバー:

$DOMAIN_HOME/servers/WLS_REPORTS/logs/reports/rwserver_diagnostic.log

インプロセス・サーバー・エンジン:

$DOMAIN_HOME/servers/WLS_REPORTS/logs/reports/rwEng-<num>_diagnostic.log

サーブレット:

$DOMAIN_HOME/servers/WLS_REPORTS/logs/reports/rwservlet_diagnostic.log

Reportsツール・ログ・ファイル

(Reports Builder、Reports Runtime、Reports Client)

ランタイム:

ORACLE_INSTANCE/diagnostics/logs/ReportsToolsComponent/ReportsTools/runtime_diagnostic.log

通信ログ・ファイル:

ORACLE_INSTANCE/diagnostics/logs/ReportsToolsComponent/ReportsTools/zrclient_diagnostic.log

Reports Bridgeログ・ファイル

ORACLE_INSTANCE/diagnostics/logs/ReportsBridgeComponent/<bridge name>/diagnostic.log

ヒント:

rwrun、rwbuilder、rwclientのようなReportsツール・コンポーネントの複数のインスタンスを実行する場合、プロパティ名keepOpenを値falseとともに、次の場所にあるlogging.xmlファイルのログ・ハンドラ要素に追加する必要があります。

ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools/logging.xml

これにより、ログ・エントリが書き込まれるたびにログ・ファイルを開いて閉じることができます。

表23-4 11gのODLメッセージ・タイプと10.1.2のトレース・オプションとの比較

ODLメッセージ・タイプ: レベル
(11g)

対応するトレース・オプション
(10gリリース2 (10.1.2))

ノート

INCIDENT_ERROR: 1

TRACE_EXC

例外(予期しない内部エラー)

ERROR: 1

TRACE_ERR
(低トレース・レベル)

エラー

WARNING: 1

TRACE_WRN
(低トレース・レベル)

警告

NOTIFICATION: 1

TRACE_LOG
(低トレース・レベル)

デフォルト・レベル
サーバーやエンジンに対して重要なイベント

NOTIFICATION: 16

TRACE_STA
TRACE_INFO
(低トレース・レベル)

サーバーやエンジンの状態情報
構成変更の通知
正常に終了したジョブや失敗したジョブ

TRACE: 1

TRACE_PRF
(低トレース・レベル)

プロファイル情報

TRACE: 8

TRACE_DST
(低トレース・レベル)

機能領域のトレース(配布、フォント処理、印刷など)

TRACE: 16

TRACE_DBG
(低トレース・レベル)

サーバーの場合、デバッグのトレース。
エンジンの場合、エンジンの診断。

TRACE: 32

TRACE_ALLは
{
TRACE_APP +
TRACE_BRK+
TRACE_PLS +
TRACE_SQL +
TRACE_TMS +
(低トレース・レベル)
}と同等

すべてのトレース・メッセージ

Oracle Reportsログ・ファイルには、表23-5に記載された属性が記録されます。

表23-5 ログ・ファイルの属性

属性

説明

Time stamp

メッセージが生成された日時です。

Component ID

ReportsメッセージにはREPのコンポーネントIDがあります。

メッセージ・タイプ

メッセージは、エラー、インシデント・エラー、警告、通知およびトレースの5つのタイプに分類されます(詳細は次の表を参照)。

Message Level

各メッセージはレベルを示す整数値(1から32)で表されます。

Message Text

メッセージの本文です。

Message ID

コンポーネントIDとともに使用される一意な数値のIDです(REP 50127など)。これらのIDには十分な説明が用意されており、適切な原因と処置が関連付けられます。

Execution Context ID

グローバルに一意の順序番号で、一連の実行に関連付けられます。発信コンポーネントが関係します。同じ一連の実行に関与する複数のコンポーネントからのメッセージを関係付けるために使用されます。このIDは他のコンポーネントに送信されたすべてのメッセージに含まれます。それが発信コンポーネントから渡されない場合、Oracle Reportsが生成します。

Module ID

メッセージを発信した特定モジュールです。Oracle Reportsのファンクション・モジュール(サーバー、エンジン、ビルダーなど)になります。

Process ID

オペレーティング・システムのPIDで、メッセージを生成したプロセスの識別に使用します。

Thread ID

メッセージを生成した実行における一連の実行の識別子です。

Oracle Reportsのロギング・メカニズムでは、表23-6に示すように、5つの事前定義ODLメッセージ・タイプがサポートされています。

表23-6 ODLメッセージ・タイプ

メッセージ・タイプ

説明

インシデント・エラー

内部的な原因や予期しない原因によりプログラムでエラーが発生し、その問題をOracleサポート・サービスに報告する必要がある場合に使用されます。

エラー

既知の問題が発生しシステム管理者が注意を払う必要がある場合に使用されます。

警告

確認が必要で処置を講じないとエラーが発生する可能性のあるアクションや条件が検出された場合に使用されます。

通知

ログインが正常に行われたなど、通常の操作やイベントを報告する際に使用されます。

トレース

すべてのデバッグ文が示されます。

23.3.2.1 ログ・ファイルの表示

ログ・ファイルは、次のいずれかの方法で表示できます。

- Oracle Enterprise Managerの使用(推奨)

- WLSTコマンドの使用

- コマンドラインの使用

ノート:

デフォルトでは、ログ・ファイルがXMLフォーマットである場合、そのログ・ファイルをMicrosoft Internet Explorerで開くことはできません。Microsoft Internet ExplorerでXMLファイルを開くには、次のような最上位レベルの要素を持つラッパー・ファイルを作成し、その中にログ・ファイルを追加する必要があります。

.
<?xml version="1.0"?>
<!DOCTYPE LOG [
<!ENTITY log0 SYSTEM "log.xml">
]>
<LOG>
&log0;
</LOG>
.

Oracle Enterprise Managerの使用

第6章「Oracle Enterprise ManagerによるOracle Reports Servicesの管理」の第6.11.1項「ログ・ファイルの表示および検索」を参照してください。

WLSTコマンドの使用

第23.3.4項「ロギング関連のWLSTコマンド」を参照してください。

コマンドラインの使用

コマンド・ラインから次のディレクトリに移動し、ログファイルを開いて表示します。

- Reports Serverの場合:

ORACLE_INSTANCE/diagnostics/logs/ReportsServerComponent/<servername>

- Oracle Reports Bridgeの場合:

ORACLE_INSTANCE/diagnostics/logs/ReportsBridgeComponent/<bridgename>

ノート:

Reports Bridgeコンポーネント・ディレクトリはデフォルトでは作成されません。これは、Reports Bridgeの作成時に作成されます。

- Reportsツール・コンポーネントの場合(rwrun、rwbuilder、rwclientを含む):

ORACLE_INSTANCEdiagnostics/logs/ReportsToolsComponent/ReportsTools

- Oracle Reports Servletの場合(Reportsアプリケーションの場合):

$FMW_HOME/user_projects/domains/<domain_name>/servers/WLS_REPORTS/logs/reports

ノート:

logging.xmlファイルを変更し、Reportsコンポーネントに対するトレース情報を有効化する必要があります。

logging.xmlファイルの場所の詳細は、第23.3.7項「レポート実行のトレース」を参照してください。

23.3.2.2 ログ・ファイルの管理

Oracle Enterprise Managerで用意されている次の機能を使用して、ログ・ファイルを管理できます。

- ロギング情報を指定する機能

- ログ・エントリの様々な属性に基づいてログ・ファイル内部を検索する機能

- 傾向メトリック(すなわち、ログ・ファイルに記録された各種タイプのエラー件数(たとえば、INCIDENT_ERROR(インシデント・エラー)が1件、ERROR(エラー)が20件、WARNING(警告)が35件など))を表示する機能

詳細は、第6章「Oracle Enterprise ManagerによるOracle Reports Servicesの管理」の第6.18.1項「ロギング情報の指定」を参照してください。

23.3.2.3 監査ログ・ファイル

Oracle Reportsでは、次のような重要なイベントを監査します。

- インプロセス・サーバーとスタンドアロン・サーバーに対する認証と認可の成功と失敗

- Reportsサーブレットに対するユーザーのロールに基づいたWebコマンド・チェックの成功と失敗

監査ログ・ファイルの構成

監査ログを構成する手順は、次のとおりです。

- J2EEアプリケーションの場合(インプロセス・サーバー): Enterprise Managerを使用して、監査ログ構成ファイルを変更します。詳細は、第6.12項「Reports Server監査構成の変更」を参照してください。

- J2SEアプリケーションの場合(スタンドアロン・サーバー): $DOMAIN_HOME/config/fmwconfig/jps-config-jse.xmlファイルのaudit.filterPresetプロパティを次のように編集します。
<property name="audit.filterPreset" value="None"/>

変更後

<property name="audit.filterPreset" value="All"/>

監査ログ・ファイルの場所

Oracle Reports監査ログ・ファイルは、次の場所にあります。

- J2EEアプリケーションの場合: $DOMAIN_HOME/servers/WLS_REPORTS/logs/auditlogs/ReportsServer/audit.log

- J2SEコンポーネントの場合: $ORACLE_INSTANCE/auditlogs/ReportsServer/<ReportsServerComponent>/audit.log

監査ログの例

監査ログの例を次に示します。

2008-09-10 13:15:32.263  - "CheckAuthorization" true "Authorization of user <username> passed for webcommand showjobs." - "0000HlCPYyE2VOJpMkH7ie18lwWx000001,0" - - - - "12" - - - - - -
2008-09-10 13:15:25.247  - "UserLogin" true "Authentication of user <username>  passed." - "0000HlCPYyE2VOJpMkH7ie18lwWx000001,0" - - - - "12" - - - - - -
2008-09-10 13:15:25.310  - "CheckAuthorization" true "Authorization of user <username>  passed for webcommand showjobs." - "0000HlCPYyE2VOJpMkH7ie18lwWx000001,0" - - - - "12" - - - - - -

2008-09-10 13:15:32.263  - "CheckAuthorization" true "Authorization of user <username> failed  for webcommand showjobs." - "0000HlCPYyE2VOJpMkH7ie18lwWx000001,0" - - - - "12" - - - - - -
2008-09-10 13:15:25.247  - "UserLogin" true "Authentication of user <username>  failed." - "0000HlCPYyE2VOJpMkH7ie18lwWx000001,0" - - - - "12" - - - - - -
2008-09-10 13:15:25.310  - "CheckAuthorization" true "Authorization of user <username>  failed for webcommand showjobs." - "0000HlCPYyE2VOJpMkH7ie18lwWx000001,0" - - - - "12" - - - - - -

23.3.3 WLSTについて

WebLogic Scripting Tool (WLST)はコマンド・ライン・スクリプト・インタフェースです。このツールにより、管理作業の実行、およびWebLogic Serverのインスタンスとドメインに対して行うWebLogic Server構成の変更が容易になります。

WLSTシェルは次のコマンドを実行すると起動できます。

ORACLE_HOME/common/bin/wlst.sh
wls:/offline> connect("weblogic","weblogic", "hostname:7001")
wls:/domain2/serverConfig> domainRuntime()

23.3.3.1 システム・コンポーネントでのWLSTコマンドの使用

次のWLSTコマンドを使用して、Reportsコンポーネントを実行できます。

WLSTシェルは次のコマンドを実行すると起動できます。

ORACLE_HOME/common/bin/wlst.sh
wls:/offline> connect("weblogic","weblogic", "hostname:7001")
wls:/domain2/serverConfig> domainRuntime()
wls:/domain2/domainRuntime> listLogs(target="opmn:cinst56/ReportsServer_hostname_cinst56")
file://hostname/scratch/rrpai/cinst56/diagnostics/logs/ReportsServerComponent/ReportsServer_hostname_cinst56/server_diagnostic.log
2008-10-27 02:59:47                    302K server_diagnostic.log
file://hostname/scratch/rrpai/cinst56/diagnostics/logs/ReportsServerComponent/ReportsServer_hostname_cinst56/rwEng-0_diagnostic.log
2008-10-27 02:59:13                    7.3K rwEng-0_diagnostic.log

wls:/domain2/domainRuntime> displayLogs(target="opmn:cinst56/ReportsServer_hostname_cinst56", tail=10)

[2008-10-27T02:31:52.133-07:00] [reports] [NOTIFICATION] [] [oracle.reports.server] [host: hostname] [nwaddr: 144.20.207.149] [tid: 10] [ecid: 0000HoxdIF14EwQRyaQ5T0191Oe7000001,0] ServerConfig:logConf  <server version="11.1.1.0.0" xmlns="http://xmlns.oracle.com/reports/server">[[

[2008-10-27T02:44:38.684-07:00] [reports] [INCIDENT_ERROR] [REP-50125] [oracle.reports.engine] [host: hostname] [nwaddr: 144.20.207.149] [pid: 18787] [tid: 10] [ecid: 0000HoxgDPr4EwQRyaQ5T00004_Z000000,0] [EngineName: rwEng-0] REP-50125 : org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 201  completed: No  [[
……

wls:/domain2/domainRuntime> displayLogs(target="opmn:cinst56/ReportsServer_hostname_cinst56", tail=10, query="MODULE_ID equals oracle.reports.server")

[2008-10-27T02:31:01.085-07:00] [reports] [NOTIFICATION] [] [oracle.reports.server] [host: hostname] [nwaddr: 144.20.207.149] [tid: 10] [ecid: 0000Hoxd5lP4EwQRyaQ5T0191OdK000001,0] ServerConfig:logConf  <server version="11.1.1.0.0" xmlns="http://xmlns.oracle.com/reports/server">[[

[2008-10-27T02:59:47.383-07:00] [reports] [NOTIFICATION] [] [oracle.reports.server] [host: hostname] [nwaddr: 144.20.207.149] [tid: 10] [ecid: 0000HoxjfEr4EwQRyaQ5T0191P4I000001,0] ServerConfig:logConf  Reading server config file

wls:/domain2/domainRuntime> exit()

23.3.3.2 Java EEコンポーネントの場合のWLSTコマンドの使用

次のWLSTコマンドを使用して、Reportsコンポーネントを実行できます。

WLSTシェルは次のコマンドを実行すると起動できます。

ORACLE_HOME/common/bin/wlst.sh
wls:/offline> connect("weblogic","weblogic", "hostname:7001")
wls:/domain2/serverConfig> domainRuntime()
wls:/domain2/domainRuntime> listLoggers(target="WLS_REPORTS")
-------------------------------------------------------------------------------------+-----------------
Logger                                                                               | Level
-------------------------------------------------------------------------------------+-----------------
<root>                                                                               | WARNING:1
com.sun.xml.bind.v2.ClassFactory                                                     | <Inherited>
....
oracle.reports.adminlogconfig                                                        | <Inherited>
oracle.reports.configMbeans                                                          | <Inherited>
oracle.reports.engine                                                                | NOTIFICATION:1
oracle.reports.server                                                                | NOTIFICATION:16
oracle.reports.servlet                                                               | NOTIFICATION:1
.....

wls:/domain2/domainRuntime> listLoggers(pattern="oracle.reports.*", target="WLS_REPORTS")
------------------------------+-----------------
Logger                        | Level
------------------------------+-----------------
oracle.reports.adminlogconfig | <Inherited>
oracle.reports.configMbeans   | <Inherited>
oracle.reports.engine         | NOTIFICATION:1
oracle.reports.server         | NOTIFICATION:16
oracle.reports.servlet        | NOTIFICATION:1

wls:/domain2/domainRuntime> listLoggers(pattern="oracle.reports.server.*", target="WLS_REPORTS")
----------------------+-----------------
Logger                | Level
----------------------+-----------------
oracle.reports.server | NOTIFICATION:16

wls:/domain2/domainRuntime> listLogHandlers(target="WLS_REPORTS")

Handler Name: rwservlet_handler
type:   ODL
path:   /scratch/rrpai/wls55/user_projects/domains/domain2/servers/WLS_REPORTS/logs/reports/rwservlet_diagnostic.log
format: ODL-Text
maxFileSize:    1M
maxLogSize:     10M
Handler Name: wls-domain
type:   oracle.core.ojdl.weblogic.DomainLogHandler
Handler Name: odl-handler
type:   ODL
path:   /scratch/rrpai/wls55/user_projects/domains/domain2/servers/WLS_REPORTS/logs/WLS_REPORTS-diagnostic.log
maxFileSize:    10M
maxLogSize:     100M

23.3.4 ロギング関連のWLSTコマンド

次のWLSTコマンドを使用して、ログを構成します。

- listLoggers

- getLogLevel

- setLogLevel

- listLogHandlers

- configureLogHandlers

次のWLSTコマンドを使用して、ログを表示します。

- listLogs

- displayLogs

23.3.4.1 listLoggers

listLoggersコマンドを使用して、ロガーのリストおよび各ロガーのレベルを表示できます。

表23-7に、listLoggersコマンドでサポートするパラメータを示します。

表23-7 listLoggersのパラメータ

パラメータ

説明

target

WebLogic Serverの名前。

デフォルト値は、WLSTの接続先となるサーバーです。

pattern

ロガー名のフィルタ処理に使用される正規表現パターン。デフォルト・パターンはありません。パターンを指定しないと、すべてのロガーが返されます。

runtime

操作によりランタイム・ロガーと構成ロガーのどちらがリストされるかを決定するJythonブール値(0または1)。

デフォルト値は1です。

戻り値

キーがロガー名で関連値がロガー・レベルであるPyDictionaryオブジェクト。

例

listLoggersコマンドの例を次に示します。

1. listLoggers()

2. listLoggers(pattern="oracle.*")

3. listLoggers(runtime=0)

4. listLoggers(target="server1")

ノート:

- listLoggersコマンドは、システム・コンポーネント(Reports ServerやReports Bridgeなど)ではサポートされていません。

- WLSTコマンドの詳細は、Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンスを参照してください。

23.3.4.2 getLogLevel

getLogLevelコマンドを使用して、特定のロガーのログ・レベルを取得できます。

表23-8に、getLogLevelコマンドでサポートするパラメータを示します。

表23-8 getLogLevelのパラメータ

パラメータ

説明

target

WebLogic Serverの名前。

デフォルト値は、WLSTの接続先となるサーバーです。

logger

ロガーの名前。

runtime

操作によりランタイム・ロガーと構成ロガーのどちらがリストされるかを決定するJythonブール値(0または1)。

デフォルト値は1です。

戻り値

文字列としてのロガー・レベル。

例

getLogLevelコマンドの例を次に示します。

1. getLogLevel(logger="oracle")

2. getLogLevel(logger="oracle")

3. getLogLevel(logger="oracle", target="server2")

ノート:

- getLogLevelコマンドは、システム・コンポーネント(Reports ServerやReports Bridgeなど)ではサポートされていません。

- WLSTコマンドの詳細は、Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンスを参照してください。

23.3.4.3 setLogLevel

setLogLevelコマンドを使用して、特定のロガーのログ・レベルを設定できます。

表23-9に、setLogLevelコマンドでサポートするパラメータを示します。

表23-9 setLogLevelのパラメータ

パラメータ

説明

target

WebLogic Serverの名前。

デフォルト値は、WLSTの接続先となるサーバーです。

logger

ロガーの名前。

デフォルト値はありません。

level

レベル名。Javaレベル(INFO、FINEなど)またはODLレベル(NOTIFICATION:1、TRACE:1など)のどちらかになります。

デフォルト値はありません。

runtime

操作によりランタイム・ロガーと構成ロガーのどちらがリストされるかを決定するJythonブール値(0または1)。

デフォルト値は1です。

persist

レベルを構成ファイルに保存するかどうかを決定するJythonブール値(0または1)。

デフォルト値は1です。

戻り値

setLogLevelコマンドの戻り値はありません。

例

setLogLevelコマンドの例を次に示します。

1. setLogLevel(logger="oracle.my.logger", level="NOTICATION:1")

2. setLogLevel(logger="oracle.my.logger", level="TRACE:1", persist=0)

3. setLogLevel(target="server1", logger="oracle.my.logger", level="WARNING", runtime=0)

ノート:

- setLogLevelコマンドは、システム・コンポーネント(Reports ServerやReports Bridgeなど)ではサポートされていません。

- WLSTコマンドの詳細は、Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンスを参照してください。

23.3.4.4 listLogHandlers

listLogHandlersコマンドを使用して、1つ以上のログ・ハンドラの構成を表示できます。

表23-10にlistLogHandlersコマンドでサポートするパラメータを示します。

表23-10 listLogHandlersのパラメータ

パラメータ

説明

target

WebLogic Serverの名前。

デフォルト値は、WLSTの接続先となるサーバーです。

name

ログ・ハンドラの名前。名前が指定されないと、すべてのハンドラがリストされます。

戻り値

ハンドラごとに1つのエントリを含むjava.util.List。各エントリは、ハンドラを説明するjavax.management.openmbean.CompositeDataオブジェクトです。

例

listLogHandlersコマンドの例を次に示します。

1. listLogHandlers()

2. listLogHandlers(name="odl-handler")

3. listLogHandlers(target="server1")

ノート:

- listLogHandlersコマンドは、システム・コンポーネント(Reports ServerやReports Bridgeなど)ではサポートされていません。

- WLSTコマンドの詳細は、Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンスを参照してください。

23.3.4.5 configureLogHandlers

configureLogHandlerコマンドを使用して、既存ログ・ハンドラの構成、新規ログ・ハンドラの追加または既存ハンドラの削除ができます。

表23-11にconfigure LogHandlerコマンドでサポートするパラメータを示します。

表23-11 configure LogHandlerのパラメータ

パラメータ

説明

target

WebLogic Serverの名前。

デフォルト値は、WLSTの接続先となるサーバーです。

name

ログ・ハンドラの名前。

maxFileSize

ODLハンドラのmaxFileSize属性の値。

この値は数値を表す文字列です。その後にサイズの単位(kはキロバイト、mはメガバイト、gはギガバイト)を示す接尾辞が続く場合があります。

maxLogSize

ODLハンドラのmaxLogSize属性の値。

この値は数値を表す文字列です。その後にサイズの単位(kはキロバイト、mはメガバイト、gはギガバイト)を示す接尾辞が続く場合があります。

rotationFrequency

ODLハンドラのrotationFrequncyの値。

この値は数値を表す文字列です。その後に時間単位(分はm、時はh、日はd)を示す接尾辞が続く場合があります。デフォルトの時間単位は分(m)です。特別な値(HOUR、HOURLY、DAY、DAYLY、WEEK、WEEKLY、MONTH、MONTHLY)も指定可能で、分単位の数値に変換されます。

baseRotationTime

ベース・ローテーション時間。ローテーション頻度パラメータで使用されます。

この値は日時の値を表す文字列にする必要があります。ISO 8601の日時書式で表す完全な書式の場合と、時と分のみで表す短い書式の場合があります。デフォルトのbaseRotationTimeは00:00です。

retentionPeriod

保存期間(単位は分)。

この値は数値を表す文字列にする必要があります。その後に時間単位(分はm、時はh、日はd)を示す接尾辞が続く場合があります。デフォルトの時間単位は分(m)です。特別な値(HOUR、HOURLY、DAY、DAYLY、WEEK、WEEKLY、MONTH、MONTHLY)も指定可能で、分単位の数値に変換されます。

format

ODLハンドラのフォーマット。

この値は、ODL-TextまたはODL-XMLの文字列にする必要があります。デフォルトの書式はODL-Textです。

encoding

ログ・ファイルのキャラクタ・エンコーディング。

path

ログ・ファイルのパス。

handlerType

ハンドラの実装を用意しているJavaクラスの名前。

java.util.logging.Handlerまたはoracle.core.ojdl.logging.HandlerFactoryのインスタンスにする必要があります。

propertyName

追加するか更新するハンドラ・プロパティの名前。

プロパティ値は、propertyValueパラメータで指定します。

propertyValue

propertyNameパラメータで定義されるハンドラ・プロパティの新規値。

addProperty

Jythonブール値。propertyNameとpropertyValueのパラメータとともに使用して、ハンドラに追加する新規プロパティを定義します。

removeProperty

1つ以上の削除対象ハンドラ・プロパティのリスト。

addHandler

追加するハンドラの名前。

removeHandler

削除するハンドラの名前。

addToLogger

ロガー名のリスト。ハンドラは特定のロガー名に追加されます。

removeFromLogger

ロガー名のリスト。ハンドラは特定のロガーから削除されます。

ノート:

listLogHandlersコマンドは、システム・コンポーネント(Reports ServerやReports Bridgeなど)ではサポートされていません。

WLSTコマンドの詳細は、Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンスを参照してください。

23.3.4.6 listLogs

listLogsコマンドを使用して、1つ以上のコンポーネントのリストを表示できます。

表23-12に、listLoggersコマンドでサポートするパラメータを示します。

表23-12 listLogsのパラメータ

パラメータ

説明

target

システム・コンポーネントまたはWebLogic Serverの名前。

接続モードでは、デフォルト・ターゲットはWebLogicドメインです。切断モードでは、デフォルトはありません。

oracleInstance

切断モードでは、oracleInstanceによってORACLE_INSTANCE (Java EEでないインスタンス・ホームまたはWebLogicドメイン・ホーム)へのパスが定義されます。

このパラメータは接続モードでは無視され、切断モードでは必須です。

unit

レポートのファイル・サイズに使用する単位を定義します。有効値はB(バイト)、K(キロバイト)、M(メガバイト)、G(ギガバイト)またはH(判読可能形式で表した表示サイズで、UNIXのls -hオプションに類似)です。

デフォルト値はHです。

fulltime

Jythonブール値。

デフォルト値はfalseです。

戻り値

各ログに1つの要素を含むPyArray。配列の要素は各ログを説明するjavax.management.openmbean.CompositeDataオブジェクトです。

例

listLoggersコマンドの例を次に示します。

1. listLogs()

2. listLogs(target="server1")

3. listLogs(target="opmn:instance1/ohs1")

4. listLogs(oracleInstance="/middleware/user_projects/domains/base_domain", target="server1")

ノート:

- listLogsコマンドは、Java EE対応のコンポーネントとシステム・コンポーネントの両方でサポートされています。

- WLSTコマンドの詳細は、Fusion Middleware WLSTコマンド・リファレンス・ガイドを参照してください。

23.3.4.7 displayLogs

displayLogsコマンドを使用して、診断ログの内容を表示できます。

表23-13に、listLoggersコマンドでサポートするパラメータを示します。

表23-13 displayLogsのパラメータ

パラメータ

説明

target

システム・コンポーネントまたはWebLogic Serverの名前。

接続モードでは、デフォルト・ターゲットはWebLogicドメインです。切断モードでは、デフォルトはありません。

oracleInstance

切断モードでは、oracleInstanceによってORACLE_INSTANCE (Java EEでないインスタンス・ホームまたはWebLogicドメイン・ホーム)へのパスが定義されます。

このパラメータは接続モードでは無視され、切断モードでは必須です。

query

ログ・ファイルの内容のフィルタ処理に使用される式を指定する文字列。

単純な式には<field-name> <operator> <value>の形式があります。<field-name>はログ・レコード・フィールド名で、<operator>はフィールド・タイプの適切な演算子です。

戻り値

コマンドでは、returnDataパラメータがtrueに設定されている場合にのみ値を返します。デフォルトでは、データを返しません。使用するオプションによって戻り値は異なります。

例

displayLogsコマンドの例を次に示します。

1. displayLogs(tail=100)

2. displayLogs(target='opmn:instance1/ohs1', last=60)

3. displayLogs(groupBy=['COMPONENT_ID', 'MSG_TYPE'])

4. displayLogs(query='MSG_TYPE equals ERROR or MSG_TEXT contains Exception")

5. displayLogs(query='APP equals myApp', last=60)

6. displayLogs(query='ECID equals 0000Hl9TwKUCslT6uBi8UH18lkWX000002')

ノート:

- listLogsコマンドは、Java EE対応のコンポーネントとシステム・コンポーネントの両方でサポートされています。

- WLSTコマンドの詳細は、Fusion Middleware WLSTコマンド・リファレンス・ガイドを参照してください。

23.3.5 メトリック関連のWLSTコマンド

次のWLSTコマンドを使用してメトリックを表示します。

23.3.5.1 メトリック表の表示

displayMetricTableNamesコマンドを使用して、ネイティブWebLogicメトリックなどの表示可能メトリック表名のリストを表示できます。

表23-14に、displayMetricTableNamesコマンドのパラメータを示します。

表23-14 displayMetricTableNamesのパラメータ

パラメータ

説明

Servers

メトリックを取り出す管理対象サーバーを指定します。これはオプションです。指定可能な値は管理対象サーバー名のリストです。

例:

次のコマンドを使用してWLSTシェルを起動します。

ORACLE_HOME/common/bin/wlst.sh
> connect('weblogic','weblogic','hostname:7001')

wls:/domain1/serverConfig > displayMetricTableNames()
ContextManager
JVM
JVM_ClassLoader
JVM_Compiler
JVM_GC
JVM_Memory
JVM_MemoryPool
JVM_MemorySet
JVM_OS
JVM_Runtime
JVM_Thread
JVM_ThreadStats
Reports_Server_Information
Reports_Server_Performance
Reports_Server_Response
Reports_Servlet_Response
dms_cProcessInfo
opmn
opmn_component:ResourceUsage
opmn_component:ResourceUsage_by_component
opmn_component:ResourceUsage_no_rate
opmn_component:Response
opmn_connect
opmn_header
opmn_host_statistics
opmn_ias_component
opmn_ias_instance
opmn_ipmon
opmn_ons
opmn_ons_connections

ノート:

displayMetricTableNamesコマンドの使用方法の詳細は、Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンスを参照してください。

23.3.5.2 表示可能なすべてのメトリックの表示

dumpMetricsコマンドを使用して、表示可能なすべてのメトリックを表示できます。対象メトリックには、WebLogicメトリックと内部DMSメトリックが含まれます。

表23-15に、dumpMetricsコマンドでサポートするパラメータを示します。

表23-15 dumpMetricsのパラメータ

パラメータ

説明

format

コマンド出力フォーマットを定義します。

これはオプションで、指定可能な値はrawおよびxmlです。

デフォルトはrawフォーマットです。

servers

メトリックを取り出す管理対象サーバーを指定します。

これはオプションで、指定可能な値は管理対象サーバー名のリストです。

例:

次のコマンドを使用してWLSTシェルを起動します。

ORACLE_HOME/common/bin/wlst.sh
> connect('weblogic','weblogic','hostname:7001')
wls:/domain1/serverConfig > dumpmetrics()

ContextManager
JVM
JVM_ClassLoader
JVM_Compiler
JVM_GC
JVM_Memory
JVM_MemoryPool
JVM_MemorySet
JVM_OS
JVM_Runtime
JVM_Thread
JVM_ThreadStats
Reports_Server_Information
Reports_Server_Performance
Reports_Server_Response
Reports_Servlet_Response
dms_cProcessInfo
opmn
opmn_component:ResourceUsage
......

ノート:

dumpMetricsコマンドの使用方法の詳細は、Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンスを参照してください。

23.3.5.3 指定したメトリック表の表示

displayMetricTablesコマンドを使用して、指定したメトリック表を表示できます。

表23-16に、displayMetricTablesコマンドでサポートするパラメータを示します。

表23-16 displayMetricTablesのパラメータ

パラメータ

説明

メトリック表名のオプション・リストです。

デフォルトでは、表示可能なすべてのメトリックを表示します。

variable

メトリック集計パラメータを定義します。これはオプションです。

使用可能値は、Jythonマップの名前/値ペアのセットです。

server

メトリックを取り出す管理対象サーバーを指定します。

これはオプションです。指定可能な値は管理対象サーバー名のリストです。

例:

次のコマンドを使用してWLSTシェルを起動します。

ORACLE_HOME/common/bin/wlst.sh
> connect('weblogic','weblogic','hostname:7001')
wls:/domain1/serverConfig> displayMetricTables('Reports_Server_Performance')
--------------------------
Reports_Server_Performance
--------------------------

Active_Engines.value:   1
Available_Connections.value:    50
Average_Elapsed_Time.value:     0.0     msec
Average_Engines.value:  1.0
Average_Response_Time.value:    0.0     msec
CurrentJobLoad.value:   0
Current_Jobs.value:     0
Failed_Jobs.value:      0
Failed_Jobs_Ratio.value:        0.0
Finished_Jobs.value:    0
Host:   hostname
JobLoad.value:  0
Jobs_Queue_Time.value:  0.0
LongRunning_Jobs.value: 0
Maximum_Engines.value:  1
Maximum_Queue_Size.value:       1000
Name:   Reports_Server_Performance
Parent: /reports/rwserver
Potential_Runaway_Jobs.value:   0
Process:        ReportsServerComponent:8591386:/cinst48/ReportsServer_hostname_cinst48
Reports_Server_Auth_Time.value: 0.0
Reports_Server_Security.value:  0
Reports_Server_Start_Time.value:        1223884972408   msecs
Reports_Version.value:  11.1.1.0.0
Scheduled_Jobs.value:   0
ServerName:     /cinst48/ReportsServer_hostname_cinst48
Transferred_Jobs.value: 0
Used_Connections.value: 0

wls:/domain1/serverConfig> displayMetricTables('Reports_Server_Response')
-----------------------
Reports_Server_Response
-----------------------

Host:   hostname
Name:   Reports_Server_Response
Parent: /reports/rwserver
Process:        ReportsServerComponent:8591386:/cinst48/ReportsServer_hostname_cinst48
Reports_Server_Status.value:    1
Reports_Server_Type.value:      1
ServerName:     /cinst48/ReportsServer_hostname_cinst48

ノート:

displayMetricTablesコマンドの使用方法の詳細は、Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンスを参照してください。

23.3.6 監査構成のWLSTコマンド

表23-17に表示されているWLSTコマンドを使用して、監査ポリシーおよび監査リポジトリ設定を表示し管理します。

表23-17 WLST監査コマンド

使用するコマンド

用途

WLSTとの使用

getAuditPolicy

監査ポリシー設定を表示します。

オンライン

setAuditPolicy

監査ポリシー設定を更新します。

オンライン

listAuditEvents

1つまたはすべてのコンポーネントに対する監査イベントのリストを作成します。

オンライン

23.3.6.1 getAuditPolicy

このオンライン・コマンドは、フィルタ初期設定、特別なユーザー、カスタム・イベント、最大ログ・ファイル・サイズ、最大ログ・ディレクトリ・サイズなどの監査ポリシー設定を表示します。Oracle Internet DirectoryやOracle Virtual Directoryなどのシステム・コンポーネントには、コンポーネントMBean名が必要です。

ノート:

getNonJava EEAuditMBeanNameコマンドを使用して、システム・コンポーネントのMBean名を取得できます。

getAuditPolicyコマンドの構文を次に示します。

getAuditPolicy(['mbeanName'])

引数

定義

mbeanName

システム・コンポーネントのコンポーネント監査MBeanの名前を指定します。

例

次のコマンドは、Java EEコンポーネントの監査設定を表示します。

wls:/domain52/serverConfig> getAuditPolicy()
Location changed to domainRuntime tree. This is a read-only tree with DomainMBean as the root.
For more help, use help(domainRuntime)

FilterPreset:None
Max Log File Size:104857600
Max Log Dir Size:0

23.3.6.2 setAuditPolicy

このオンライン・コマンドは、監査ポリシー設定を構成します。フィルタ初期設定、ユーザーの追加または削除、カスタム・イベントの追加または削除を実行できます。Oracle Internet DirectoryやOracle Virtual Directoryなどのシステム・コンポーネントには、コンポーネントMBean名が必要です。

ノート:

getNonJava EEAuditMBeanNameコマンドを使用して、システム・コンポーネントのMBean名を取得できます。

setAuditPolicyコマンドの構文を次に示します。

setAuditPolicy(['mbeanName'],['filterPreset'],['addSpecialUsers'],
['removeSpecialUsers'],['addCustomEvents'],['removeCustomEvents'])

引数

定義

mbeanName

システム・コンポーネントのコンポーネント監査MBeanの名前を指定します。

filterPreset

変更するフィルタ初期設定を指定します。

addSpecialUsers

追加する特別なユーザーを指定します。

removeSpecialUsers

削除する特別なユーザーを指定します。

addCustomEvents

追加するカスタム・イベントを指定します。

removeCustomEvents

削除するカスタム・イベントを指定します。

例

次のコマンドは、監査ポリシーをAllレベルに設定します。

wls:/domain52/domainRuntime> setAuditPolicy(filterPreset='All');
Already in Domain Runtime Tree
Audit Policy Information updated successfully

23.3.6.3 listAuditEvents

このオンライン・コマンドは、コンポーネントの属性および監査イベントを表示します。システム・コンポーネントの場合、コンポーネントMBean名をパラメータとして渡します。Oracle Platform Security Services (OPSS)のようなJava EEアプリケーションおよびサービスでは、MBeanパラメータは必要ありません。コンポーネント・タイプを指定しない場合、すべてのコンポーネントに適用可能な汎用属性がすべて表示されます。

ノート:

getNonJava EEAuditMBeanNameコマンドを使用して、システム・コンポーネントのMBean名を取得できます。

listAuditEventsコマンドの構文を次に示します。

listAuditEvents(['mbeanName'],['componentType'])

引数

定義

mbeanName

コンポーネントMBeanの名前を指定します。

componentType

コンポーネント・タイプを指定します。

例

次のコマンドは、すべての監査イベントを表示します。

wls:/domain52/domainRuntime> listAuditEvents();
Location changed to domainRuntime tree. This is a read-only tree with DomainMBean as the root.
For more help, use help(domainRuntime)

Components:
DIP
JPS
OIF
OWSM-AGENT
OWSM-PM-EJB
ReportsServer
WS-PolicyAttachment
WebCache
WebServices
Attributes applicable to all components:
ComponentType
InstanceId
HostId
HostNwaddr
ModuleId
ProcessId
OracleHome
HomeInstance
ECID
RID
...

23.3.7 レポート実行のトレース

レポート・トレースを有効にすると、レポートの実行時に完了した一連の処理が記録されたテキスト・ファイルが生成されます。トレース・ファイルに記録される情報は豊富で、パフォーマンス・チューニングだけでなく、レポートのデバッグやパフォーマンスのボトルネックの特定にも役立ちます。

- Reports Builder (rwbuilder)およびReports Runtime (rwrun)では、logging.xmlファイルでトレース・オプションを指定します。
例:

$ORACLE_INSTANCE/diagnostics/logs/ReportsToolsComponent/ReportsTools/logging.xmlで、トレース・レベルをTrace 32に指定します。

- Reports Server (rwserver)では、logging.xmlファイルでトレース・オプションを指定します。Reports Serverとエンジンに対して、別々にトレース・ファイルが生成されます。
例:

- $ORACLE_INSTANCE/config/ReportsServerComponent/<servername>/logging.xmlで、トレース・レベルをTrace 32に指定します。

11gでは、個別のレポート用ジョブ・レベルのトレースは存在しません。かわりに、ジョブのECIDに基づいてEnterprise Managerでジョブを検索することのみが可能です。

- Oracle Reports Servlet (rwservlet)の場合、次の場所にあるlogging xmlファイルでトレース・オプションを指定します。
FMW_HOME/user_projects/domains/<domainname>/config/fmwconfig/servers/WLS_REPORTS/logging.xml

- Oracle Reports Bridgeトレースの場合、Oracle Enterprise Managerでトレース・オプションを指定します。また、次の場所にあるlogging xmlファイルでトレース・オプションを手動で指定することもできます。
$ORACLE_INSTANCE/config/ReportsBridgeComponent/<ReportsBridgeName>/logging.xml

ロギング・ファイルへの情報出力の概要は、次のとおりです。

例23-1 Oracle Reports Builder

+------------------------------------------+
| Report Builder Profiler statistics       |
+------------------------------------------+
Total Elapsed Time: 8.00 seconds
Reports Time:    7.00 seconds (87.50% of TOTAL)
ORACLE Time:     1.00 seconds (12.50% of TOTAL)
UPI:             0.00 seconds
SQL:             1.00 seconds
TOTAL CPU Time used by process: N/A

表23-18 Oracle Reports Builder

フィールド

説明

合計経過時間

レポートの実行にかかった時間。

Reports時間

取り出したデータのフォーマットにかかった時間。「合計経過時間」に対する割合も表示されます。

Oracle時間

データの取出しにかかった時間。「合計経過時間」に対する割合も表示されます。

UPI

SQL問合せのみ。データベース接続の確立およびSQLの解析と実行にかかった時間。

SQL

データベース・サーバーによるデータのフェッチにかかった時間(SRW.DO_SQL文、EXEC_SQL文、PL/SQLカーソルなどの実行にかかった時間の割合)。

ノート:

データ・ソースが非SQLデータ・ソース(テキストやXMLのプラガブル・データ・ソースなど)の場合は、「Oracle時間」、「UPI」および「SQL」の値は0になります。

例23-1では、チューニング作業を、データの問合せとフェッチではなく、フォーマット(Reports時間)に絞り込めばよいことがわかります。

23.3.8 RW_SERVER_JOB_QUEUE表

RW_SERVER_JOB_QUEUE表では、Enterprise Managerで使用できるウィンドウとは別のウィンドウがReports Serverジョブ・キューに用意されます。

Reports Serverでは、ジョブがエンキューされて終了すると、現在のレポートに関する情報がデータベースに送信されます。

この情報は、次のデータを含むRW_SERVER_JOB_QUEUE表に挿入されます。

- ジョブの名前

- ジョブの送信者

- 出力フォーマット

- ジョブの現行ステータス

- ジョブがキューに入れられた日時、ジョブ実行の開始日時および終了日時

表23-19では、RW_SERVER_JOB_QUEUE表に含まれる情報について説明します。

表23-19 RW_SERVER_JOB_QUEUE表の構造

列名

説明

JOB_QUEUE

表示されたジョブの状態(CURRENT、PAST、SCHEDULEDのいずれか)。

JOB_ID

システム生成のジョブID番号。

JOB_TYPE

reportやrwurlなどのジョブ・タイプ。Reports Server構成ファイルのrwserver.confで定義します。

JOB_NAME

ジョブ送信名(JOBNAMEに値が指定されていない場合はファイル名)。

STATUS_CODE

ジョブの現行ステータス。ステータス・コードの詳細は、表23-20を参照してください。

STATUS_MESSAGE

ステータス・コードに関連する完全なメッセージ・テキスト(レポートが終了した場合のエラー・メッセージも含む)。ステータス・コードの詳細は、表23-20を参照してください。

COMMAND_LINE

このジョブを送信するために送信される完全なコマンドライン。

OWNER

ジョブを送信したユーザー。Webでは、デフォルトのユーザーはWebサーバーを所有するOSユーザーです。

DESTYPE

レポート出力の送信先。

DESNAME

Reports Serverのキャッシュに入れない場合のレポート出力名。

SERVER

レポートの送信先のReports Server。

QUEUED

ジョブ送信が所定のReports Serverに受信され、キューに入れられた日時。

STARTED

ジョブ送信が実行された日時。

FINISHED

送信されたジョブが完了した日時。

RUN_ELAPSE

開始時刻から終了時刻までの経過時間(ミリ秒単位)。

TOTAL_ELAPSE

キューに入れられた時刻から終了時刻までの経過時間(ミリ秒単位)。

LAST_RUN

スケジュールされたジョブが前回実行された日時。

NEXT_RUN

スケジュールされたジョブが次回実行される日時。

REPEAT_INTERVAL

ジョブの実行頻度。

REPEAT_PATTERN

繰返しパターン(毎分、毎時、毎日など)。

CACHE_KEY

すでにキャッシュされている結果とリクエストの比較に使用するキャッシュ・キー。このキーは、ジョブが実行された時刻を考慮せずにレポート出力結果を一意に示す文字列です。たとえば、2つのリクエストのキーが同じ場合、これらのリクエストが同時に実行されると、(電子メールへの送信やファイルへの保存など)異なる目的で出力が使用される場合であっても、同一の出力が生成されます。

CACHE_HIT

ジョブの結果が、ジョブ自体の実行ではなく、キャッシュからフェッチされたかどうかを示します。

表23-20 ジョブ送信のステータス・コード

ステータス・コード

定義済のPL/SQL定数

ステータス・コードの説明

1

ENQUEUED

ジョブがキューで待機中。

3

RUNNING

レポートが現在実行中。

4

FINISHED

ジョブ送信が正常に完了。このコードは一度設定されると変更しません。

5

TERMINATED_W_ERR

ジョブにエラーが発生して終了。

7

CANCELED

ジョブがユーザーのリクエストによって取り消されました。

8

SERVER_SHUTDOWN

ジョブがReports Serverの停止によって取り消されました。

11

TRANSFERRED

ジョブがクラスタ内の別のサーバーに転送された(ノート: 10g リリース2 (10.1.2)では、クラスタリングは非推奨)。このコードは一度設定されると変更しません。この場合、ジョブは新規ジョブとして別のReports Serverに送信されます(ユーザーは新規Reports Serverに新規ジョブのステータスを問い合せることが可能)。

12

VOID_FINISHED

ジョブは終了したが、キャッシュ容量の制限に達したため出力は無効。

13

ERROR_FINISHED

出力は正常に生成されたが、宛先への送信に失敗した。

15

EXPIRED

スケジュールされたレポートが期限切れになりました。

SELECTアクセス権が付与されているユーザーは、この表を表示できます。これによって、関心のあるジョブ送信を問い合せて、ジョブの現行ステータスを判別することができます。Reports Serverの「キュー」画面の実装によって、このデータもユーザーに表示できます。このような画面を実装するには、この表に直接基づいたレポートを作成します。そうすることによって、ユーザーによるジョブ送信としてキューのレポートが表示されます。

逆に、ジョブ送信のステータスを反映してこの表をリアルタイムで更新すると、Reports Serverでジョブを同時にリクエストしているユーザーの数を、管理者が正確に把握しやすくなります。

RW_SERVER_JOB_QUEUE表で、ジョブがキューに入れられたが完了していないことを示すステータス・コードを持つエントリの数を数えることによって、サーバー上で現在アクティブなユーザーの数を正確に返すことが可能になります。たとえば、次の問合せを使用できます。

SELECT Count(*)
FROM   RW_SERVER_JOB_QUEUE
WHERE  STATUS_CODE IN (1,     -- ENQUEUED
2,      -- OPENING
3)      -- RUNNING
AND    JOB_TYPE != 'Scheduled'

ノート:

表には、レポートがキューに入れられた日時、実行された日時、および終了した日時が含まれますが、ジョブにQUEUEDおよびSTARTEDの時刻は定義されているがFINISHEDの値は定義されていない、という事実に基づいて問合せを使用することはお薦めできません。無効な入力などの予期しないエラーによってレポートが終了した場合、FINISHED列はNULLのままです。ただし、STATUS_CODEとSTATUS_MESSAGEの両方に、障害が生じたことが示され、障害の原因が表示されます。

23.3.8.1 キュー・アクティビティによるデータベースの更新

Reports Serverのジョブ・キューは、PL/SQL APIの使用を通じて実装されます。これには、リクエストが行われたときに、キュー情報を反映してキュー表を更新する機能があります。この実装は、次のパスで定義します。

ORACLE_HOME\reports\admin\sql\rw_server.sql

このスクリプトは、Oracle 10gデータベースに対する動作が保証されています。

キューを実装するには、次のステップを実行します。

1. rw_server.sqlファイルをデータベースにロードします(このファイルは、Oracle Reports ServicesインストールのORACLE_HOME\reports\admin\sqlにある)。
これによって、レポートのキュー情報を所有し、サーバーのキューAPIに対して実行権限を持つスキーマが作成されます。Oracle6i Reportsとの下位互換性のために、RW_SERVER_QUEUEというビューも作成されます。

2. サーバー構成ファイル(スタンドアロン・サーバーの場合はORACLE_INSTANCE\config\ReportsServerComponent\server_name\rwserver.conf、インプロセス・サーバーの場合は$DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration/rwserver.conf)でjobStatusRepository要素のrepositoryconnプロパティを、キュー・データを所有するスキーマの接続文字列に設定します。詳細は第7.2.1.12項「jobStatusRepository」を参照してください。
また、Oracle Enterprise Managerを使用してjobstatusRepositoryを設定する方法もあります。

サーバーは起動時に、定義されたユーザーとして接続し、ジョブ送信をログに記録します。

ノート:

Oracle Reportsでは、ジョブ・キューに関するログ情報を更新するときに、jobstatusrepository要素のdbconnプロパティを使用してデータベースに接続します。

23.3.9 SHOWJOBSコマンドライン・キーワード

コマンドラインでSHOWJOBSを使用して、rwservletを通じて実行されているレポートを対象に、Reports Serverのキュー・ステータスをWeb形式で表示できます。

詳細は、第A.8.8項「SHOWJOBS」を参照してください。

23.3.10 効率的なSQL

Oracle Reportsでは、データベースからのデータの取出しにSQLが使用されます。

ノート:

Oracle Reportsでは、PDSでない問合せにのみSQLを使用します。

非効率的なSQLは、特に大規模なレポートでパフォーマンスを悪化させます。したがって、Oracle Reportsチューニングの全担当者が、SQLに関して十分な実用知識を持ち、データベースでSQL文がどのように実行されるかについて理解している必要があります。SQLについて精通していない場合は、Oracle Reports Builderのデータ・ウィザードとクエリー・ビルダーを使用してください。ただし、ウィザードでは、SQLが使用可能な索引を使用しないなど、非効率的なSQLの作成を完全に回避することはできません。

レポートのSQLをチューニングするには、Oracleデータベースで使用可能なトレース機能を使用します。SQLトレースでは、データベースに送信されたSQL文を特定できるだけでなく、解析、実行およびデータのフェッチにかかった時間も確認できます。トレース・ファイルの生成後、TKPROFデータベース・ユーティリティを使用してEXPLAIN PLANマップを生成します。EXPLAIN PLANマップは、Oracleのオプティマイザにより使用された実行計画を図で表示するものです。たとえば、全表スキャンが使用された場所などが示されます。このマップにより、パフォーマンスに対する影響に応じて、その表に索引を作成する必要があるかどうかがわかります。

Oracle Reports Builder内でSQLトレースをオンにするには、次のコードで、SQL_TRACEという名前のレポート・レベル式列を追加します。

SRW.DO_SQL('ALTER SESSION SET SQL_TRACE=TRUE');
return(1);

ノート:

SQL_TRACEのコールには、Before ReportトリガーまたはBefore Parameter Formトリガーを使用することもできます。

次のEXPLAIN PLANマップは、データベースのSQLトレース機能を使用して生成されたものです。詳細は、Oracle Database PL/SQL言語リファレンスを参照してください。

例

実行される文は次のとおりです。

SELECT e.ename, d.dname
FROM emp e, dept d
WHERE e.deptno(+) = d.deptno

生成されたEXPLAIN PLANは次のとおりです。

OPERATION            OPTIONS     OBJECT_NAME   POSITION
------------------ ----------- --------------- --------
SELECT STATEMENT
MERGE JOIN     OUTER                                1
SORT                  JOIN                         1
TABLE ACCESS FULL                 DEPT           1
SORT                  JOIN                         2
TABLE ACCESS FULL                 EMP            1

Oracle Reportsのデータをチューニングする際、Oracle RDBMSには、コストベース・オプティマイザとルールベース・オプティマイザという2種類のオプティマイザがあるということを理解しておく必要があります。デフォルトでは、コストベース・オプティマイザは、スループットの観点から(つまり、アクセスするすべての行を最小限のリソースで処理する)最適な実行計画を作成します。チューニング担当者は、オプティマイザのアプローチと目標を設定し、コストベースの最適化に必要な統計を収集することで、オプティマイザの選択に影響を与えることができます。コストベース・オプティマイザを使用することで、SQLのチューニングに関連する煩雑さはほとんどなくなります。一方、データの配布とオプティマイザ・ルールを理解することで、任意の方法を選択でき、実行計画をより強力に制御できます。たとえば、SQL文では、次のいずれかを実行できます。

- オプティマイザに、レスポンス時間の最適化(つまり、アクセスする最初の行を最小限のリソースを使用して処理する)を目指すというヒントを指定します。

- 索引が必要ないことを指定します。

注意:

大規模な問合せの場合は、次のいずれかを必ず実行してください。

- コストベース・オプティマイザをアクティブにし、DBMS_STATSパッケージ、COMPUTER STATISTICSオプションまたはANALYZEコマンドを使用して統計を収集します。

- ルールベース・オプティマイザにより指定されたルールに従うすべてのSQLを最適化します。

データベース・オプティマイザの機能の詳細は、Oracle Fusion Middlewareのドキュメントを参照してください。

23.3.11 PL/SQL

ORA_PROFビルトイン・パッケージを使用して、レポートのPL/SQLプログラム・ユニットをチューニングします。ORA_PROFビルトイン・パッケージに含まれるプロシージャ、ファンクションおよび例外により、コードの実行にかかった時間を追跡できます。

例

PROCEDURE timed_proc (test VARCHAR2) IS
i PLS_INTEGER;
BEGIN
ORA_PROF.CREATE_TIMER('loop2');
ORA_PROF.START_TIMER('loop2');
ColorBand_Program_Unit;
ORA_PROF.STOP_TIMER('loop2');
TEXT_IO.PUTF('Loop executed in %s seconds.\n',
ORA_PROF.ELAPSED_TIME('loop2'));
ORA_PROF.DESTROY_TIMER('loop2');
END;

このプロシージャでは、まずタイマーが作成され開始されます。次に、サブプログラムが実行され、それが終了するとタイマーが停止し、サブプログラムの実行にかかった時間が表示されます。完了すると、タイマーが破棄されます。

注意:

ORAビルトイン・パッケージの詳細は、Oracle Reportsのオンライン・ヘルプを参照してください。

大量のデータベース操作を実行するPL/SQLプログラム・ユニットは、データベース・ストアド・プロシージャとして実装するようにします。ストアド・プロシージャは、Oracleデータベースで直接実行されるため、ローカルのPL/SQLプログラム・ユニットに比べて、より高速に操作を実行できます。ローカルのPL/SQLプログラム・ユニットでは、Oracle Reports BuilderのPL/SQLパーサー、データベースのSQLパーサーが使用されます。さらに、ネットワーク・トリップも含まれます。

データベース操作を実行しないPL/SQLプログラム・ユニットは、オブジェクト・ナビゲータの「プログラム・ユニット」ノードを使用して、可能なかぎりローカルにコーディングしてください。PL/SQLプログラム・ユニットのローカル化は、外部PL/SQLライブラリからPL/SQLを実行する場合よりもパフォーマンス上のメリットがあります。外部PL/SQLライブラリは、コード共有のメリットを活用できる場合にのみ使用します。

SRW.DO_SQLビルトイン・プロシージャの使用は、できるだけ控えめにしてください。SRW.DO_SQLビルトイン・プロシージャへのコールでは、毎回、通常の問合せと同様に、コマンドの解析とバインドが実行され新しいカーソルがオープンします。ただしこの操作は、SRW.DO_SQLビルトイン・プロシージャを所有するオブジェクトを起動するたびに発生する点で、通常の問合せとは異なります。

たとえば、式列内のPL/SQLブロックがSRW.DO_SQLビルトイン・プロシージャをコールし、データ・モデル・グループにより100レコードが返されたとします。この場合、解析、バインド、カーソル作成操作が100回発生します。したがって、SRW.DO_SQLビルトイン・プロシージャは、通常のSQLでは実行できない操作(一時表の作成やその他のDDL操作の実行)、および実行回数が少ないところ(各レポートで1回だけ起動されるトリガー内など)で使用してください。

SRW.DO_SQL ビルトイン・プロシージャを使用する主な理由は、一時表の作成や削除などのDDL操作の実行です。次の例では、SRW.DO_SQLビルトイン・プロシージャを使用して表を作成します。表の名前は、ランタイム・パラメータ・フォームで入力されるパラメータによって決まります。

注意:

SRW.DO_SQLビルトイン・プロシージャを含むSRWビルトイン・パッケージの詳細は、Oracle Reportsのオンライン・ヘルプを参照してください。

例

SRW.DO_SQL (`CREATE TABLE' || :tname ||`(ACCOUNT NUMBER
NOT NULL PRIMARY KEY, COMP NUMBER (10,2))');

23.3.12 Javaストアド・プロシージャ

Javaストアド・プロシージャを使用すると、サーバー・レベルでビジネス・ロジックを実装できるため、アプリケーションのパフォーマンス、スケーラビリティおよびセキュリティが向上します。Oracleデータベースでは、PL/SQLストアド・プロシージャとJavaストアド・プロシージャをデータベースに格納できます。一般に、プロシージャの拡張を必要とするSQLプログラマはPL/SQLを使用し、Oracleデータへの容易なアクセスを必要とするJavaプログラマはJavaを使用します。Javaストアド・プロシージャのほうがより高い柔軟性を持ちますが、ある程度のオーバーヘッドが生じます。各自のニーズに応じて、パフォーマンスと柔軟性のトレードオフのバランスをとってください。

Javaストアド・プロシージャの詳細は、Oracle Database Java開発者ガイドを参照してください。

23.3.13 Java Importer

Oracle PL/SQLは強力で生産性の高い開発環境ですが、外部のアプリケーション・サービスやプロバイダとの統合が必要になる場合があります。こうした外部アプリケーション・サービスやプロバイダの多くで、Javaを使用した統合点を提供するケースが増えています。Oracle ReportsはOracle Java Importerと統合することで、外部の中間層Javaクラスに含まれるビジネス・ロジックの起動が容易になります。Java Importerでは、選択した各JavaクラスのPL/SQLラッパー・パッケージが宣言的に作成され、PL/SQLファンクションおよびプロシージャ経由で特定されたそのクラスのメソッドが公開されます。これにより、レポートの実行時に、Javaオブジェクトのインスタンス化、使用、破棄を行うことが可能になります。この強力な拡張によりJavaコードを自分で記述する必要はなくなりますが、ある程度のオーバーヘッドが生じます。指定したクラスごとに、別々のPL/SQLパッケージが生成されます。PL/SQLジェネレータは、JavaメソッドからPL/SQLパッケージを生成するときに型変換を行います。PL/SQLパッケージの新しいファンクションを使用してJavaオブジェクト・インスタンスが作成され、Java Importerにより生成されると、その結果は常にJOBJECT型の変数に格納されます。グローバル参照を削除せずに次々に蓄積していくと、JVMのメモリー消費が増加するため、Javaオブジェクトの永続化には注意が必要です。

23.4 Reports Server構成のチューニング

この項では、Reports Serverのパフォーマンスと安定性の向上に役立つヒントを示します。このヒントの対象となる処理は次のとおりです。

- 様々なクライアントからのレポート・リクエストの受入れ

- ジョブの実行スケジューリング

- Oracle Reportsのエンジンの管理

- キャッシュの管理

- 様々な宛先の管理

- セキュリティのチェック

- ジョブ・ストア(永続ジョブ・データ)の管理

次に示すように、負荷の大きな操作では、Reports Serverの様々なパラメータを最適な値にチューニングすることが重要です。

1. サーバー構成ファイルのengine要素のinitEngine、maxEngine、minEngineの各属性の最適値を決定します。

<engine id="rwEng" class="oracle.reports.engine.EngineImpl" initEngine="1" maxEngine="2" minEngine="1" engLife="50"
maxIdle="30" callbackTimeOut="90000">

engine要素の詳細は、第7.2.1.9項「engine」を参照してください。maxEngineの値によって、レポートの実行を求めるユーザー・リクエストに応じる準備ができているプロセスの最大数が設定されます。設定した値が低すぎると、キューがユーザー・リクエストでいっぱいになり、マシンの使用可能容量が十分に利用されなくなります。設定した値が高すぎると、同じホストで実行する必要のある他のアクティビティによりReports Serverへの割当てマシン容量を超える容量が奪われ、その結果オペレーティング・システムでクラッシュが発生する可能性があります。

エンジン数の簡単な計算例として、実行に平均10秒かかるレポートのセットがあるとします。システムへの入力でリクエストされるレポート数は、毎分6から12件です。この例では、計算は次のようになります。

- initEngine = (レポートの実行にかかる平均時間) * (レポート・リクエストの最小入力率) = (10/60) * 6 = 1

- maxEngine = (レポートの実行にかかる平均時間) * (レポート・リクエストの最大入力率) = (10/60) * 12 = 2

- minEngine = 負荷の種類に応じ、0からinitEngineの範囲

これらの計算結果を使用して、サーバー構成ファイルにminEngine=1およびmaxEngine=2を指定できます。これにより、ジョブが受け取られたときは常に、アイドル・エンジンが即座に使用されます。

スケーラビリティとパフォーマンスのテストでは、2から4のエンジン数にCPUの数を乗じるというガイドラインを使用してmaxEngineが構成されている場合、スループットの最大値が表示されます。マシンにデュアル・プロセッサが搭載されている場合はmaxEngine=8の最大値を、マシンにクワッド・プロセッサが搭載されている場合はmaxEngine=16の最大値を設定します。

URLエンジンを使用していない場合は、サーバー構成ファイルでengine要素にID="rwURLEng"というコメントを付けます。

2. cache要素のcacheSizeプロパティ、queue要素のmaxQueueSize属性およびEXPIRATIONキーワードの最適値を決定します。
詳細は、第7.2.1.3項「cache」、第 7.2.1.21項「queue」および第A.6.6項「EXPIRATION」を参照してください。cacheSize、maxQueueSizeおよびEXPIRATIONの値は互いに関連しており、Reports Serverが効率的に動作するように慎重に設定する必要があります。

たとえば、EXPIRATION=480と設定してレポートを実行する場合、これはジョブをキャッシュに4時間(480分)入れておくという意味になります。この場合、4時間ですべてのジョブに対応できるように、maxQueueSizeを設定する必要があります。ここで、1分間に10件のジョブが処理されるとすると、計算は次のようになります。

maxQueueSize = (レポート・リクエストの入力率) * (有効期間) = 480 * 10 = 4800

cacheSizeも、4800件のジョブに対応できるように、十分高い値に設定する必要があります。各レポートの平均サイズが100Kの場合、計算は次のようになります。

cacheSize = (maxQueueSize) * (レポートの平均サイズ) = 4800*100/1000 = 480MB

cache要素のmaxCacheFileNumberプロパティの値を計算する場合も、同様のロジックを使用できます。

ノート:

maxQueueSizeの最小値には、1000(デフォルト)をお薦めします。maxQueueSizeまたはcacheSizeの値がデフォルト値を大きく下回ると、Reports Serverのパフォーマンスが低下する場合があります。

3. サーバー構成ファイルのengine要素のengineResponseTimeOut属性を、次のように設定します。

<engine id="rwEng" class="oracle.reports.engine.EngineImpl" initEngine="1"
maxEngine="2" minEngine="1" engLife="50" maxIdle="30"
callbackTimeOut="90000" engineResponseTimeOut="5">

engine要素の詳細は、第7.2.1.9項「engine」を参照してください。

エンジンが断続的にハングする場合は、engineResponseTimeOutを設定します。この属性によって、Reports Serverではハングするエンジンを検出してクリーンアップが実行できます。Reports Serverでハングが早く検出されるほど、システムの安定性が増します。このため、engineResponseTimeOutは、次のように慎重に設定する必要があります。

engineResponseTimeOutの値を、実在するレポートのセットのうち1つのレポートの実行にかかる最大時間に設定してください。たとえば、実行に10秒から5分かかるレポートのセットがある場合、engineResponseTimeOut="5"(5分)と設定します。

ノート:

engineResponseTimeOutに異なる値を指定して、常に別のサーバーでバッチ・レポートを実行することをお薦めします。対話型レポートとバッチ・レポートは、同じサーバーに送信しないでください。

4. サーバー構成ファイルのconnection要素のmaxConnect属性を、次のように設定します。

<connection maxConnect="180" idleTimeOut="15">

connection要素の詳細は、第7.2.1.5項「connection」を参照してください。

maxConnect属性によって、Reports Serverが任意の時点で同時に処理できるリクエストの合計数が制御されます。maxConnectの主な目的は、プログラムやプロセスが暴走したりサービス拒否攻撃を受けることからReports Serverを保護することです。これは常に、同時に処理するクライアントの最大数より大きな値に設定する必要があります。

たとえば、150のクライアントを同時に処理する場合、maxConnectは150より大きな値に設定します。次のように、10から20%の安全係数を使用します。

maxConnect = 150 + 150 * 0.2 = 180

5. HTTPタイムアウト値を設定します(ASにのみ適用)。
HTTPタイムアウト値は、システムで実行時間が最長のレポートの実行に必要な時間に基づいて設定してください。実行時間が最長のレポートの実行に20分かかる場合は、HTTPタイムアウトを20分より長く設定します。そうしないと、サーバーでレポートの実行が終了しないうちにHTTPタイムアウト・エラーが表示されます。このパラメータは、ORACLE_INSTANCE/config/OHS/ohs1/httpd.confファイルで設定できます。

また、Oracle Enterprise Managerを使用してタイムアウト値を設定する方法もあります。

23.5 データへのアクセス

パフォーマンス測定ツールのレポートが、データ・ソースのデータへのアクセスに多くの時間が費やされていることを示している場合は、データ構造を再確認して、データの使用方法を決める必要があります。非効率的なスキーマ設計は、レポートのパフォーマンスに深刻な影響を及ぼします。たとえば、過度に正規化されたデータ・モデルでは、なくてもよい結合や問合せが定義されていることがあります。

この項では、レポートで使用するデータの効率性を確認し、向上させる方法について説明します。

- 非SQLデータ・ソース

- データベースの索引

- 計算

- 冗長なデータ

- ブレーク・グループ

- グループ・フィルタ

- リンクの可否

23.5.1 非SQLデータ・ソース

データ・ソースのデータを公開するには、Oracle Reportsのプラガブル・データ・ソース・アーキテクチャを使用します。Oracle Reportsは、XML、テキスト、JDBCのプラガブル・データ・ソースなどの非SQLデータ・ソースをデフォルトでサポートしています。XMLおよびテキスト・プラガブル・データ・ソースには、どちらもリモートURLを通じてアクセスできます(ファイアウォールも通過できます)。速度が低下する場合は、データをローカルにダウンロードして、リモートURLではなくローカル・データ・ストリームを使用します。また、プロキシ・サーバーを迂回するドメインを指定することもできます。

XMLプラガブル・データ・ソースでは、実行時のXMLデータ検証がサポートされます。XML Queryウィザードで「検証データ・ソース」チェック・ボックスを選択すると、XMLデータがフェッチ時に、DTDまたはXMLスキーマに指定されているデータ定義に対して検証されます。これは負荷の非常に高い操作であるため、本番環境ではなく、レポートの開発時にのみ有用です。XMLデータ・ストリームが非常に大規模である場合、パフォーマンスの違いが顕著に現れます。

データ定義には、XMLスキーマまたはDTDスキーマを指定できます。XMLスキーマでは型チェックが強制されますが、DTDスキーマでは、すべてのデータが文字列として扱われるため、型チェックは必要ありません。

ノート:

非SQLソースのデータ型が正しい列に対応していることを確認してください。

XMLデータ・ストリームにExtensible Stylesheet Language (XSL)ファイルを指定して、任意のフォーマットから単純な行セットまたは行データのフォーマットに変換できます。XSLを実行時に適用しない場合は、データを最初から適切なフォーマットで保持しておくことをお薦めします。

プラガブル・テキスト・データ・ソースでは、セルの囲み文字の使用がサポートされます。これにより、囲みが定義されている各フィールドで、ファイル形式レベルのデリミタが無視されます。セルの囲みは、本当に必要でないかぎり使用しないでください。

JDBCプラガブル・データソースでは、JDBCブリッジ、Thick JDBCドライバおよびThin JDBCドライバがサポートされます。ドライバの選択は、データのフェッチに直接影響します。この選択は、使用されているアプリケーションとデータベースにより決まります。一般に、ネイティブなドライバを使用したほうが、パフォーマンスはよくなります。詳細は、第13章「プラガブル・データ・ソースの構成と使用」を参照してください。

23.5.2 データベースの索引

SQLのWHERE句で使用する列には、索引を作成してください。レポートのマスター問合せにある列に対する索引は、それほど効果がないかもしれません。なぜならこれらの問合せでは、データベースへのアクセスは1回のみだからです。パフォーマンスを大きく向上させるには、ディテール問合せで結合されているすべての列で索引を使用するようにします。

ノート:

適切な索引がない場合は、全表スキャンの回数が多くなり、結果的にパフォーマンスが悪化します。

23.5.3 計算

レポート内では、サマリー列や式列による計算のほとんどを、データ・ソースで実行するようにします。SQL問合せの場合、計算は、レポートで取り出したデータに対してではなく、データベースで実行されます。データベースに格納されているユーザー定義ファンクションおよびプロシージャを、Oracle DatabaseまたはJDBC問合せの問合せ選択リストに含めることもできます。この場合、結果セットの一部としてデータベースから計算されたデータが返されるため、ローカル・ファンクションを使用するよりも効率的です。

例

次のPL/SQLファンクションを、Oracle Databaseに格納するとします。

CREATE OR REPLACE FUNCTION CityState (

p_location_id world_cities.location_id%TYPE)
RETURN VARCHAR2 is
v_result VARCHAR2(100);

BEGIN

SELECT city || ','||state

INTO v_result
FROM world_cities

WHERE location_id = p_location_id;
RETURN v_result;

END CityState;

このファンクションは、都市名とその州名を、カンマとスペースで区切って返します。このフォーマットはデータベース・レベルで実行され、結果のみがレポートに返されて表示されます。

レポートでは、次のようなSQL問合せを使用します。

SELECT location_id, citystate(location_id)"City
& State" FROM world_cities

結果は次のようになります。

LOCATION_ID CITY & STATE
----------- -------------------------
1 Redwood Shores, California
2 Seattle, Washington
3 Los Angeles, California
4 New York, New York

23.5.4 冗長なデータ

レポートの問合せでは、必要な列のみを選択することが理想的です。問合せが少なければ少ないほど、レポートの実行は高速になります。単一問合せによるデータ・モデルは、複数問合せによるデータ・モデルよりも高速に実行されます。しかし、レポートで、ユーザーごとに別々のフォーマットを使い分けるだけでなく、異なる問合せ文を使用することが必要になるケースもあります。この問題は2種類の異なるレポートを作成することで解決されますが、メンテナンスを容易にするには1つのレポートを保持するほうが望ましいことは明らかです。この場合は、SRW.SET_MAXROWビルトイン・プロシージャを使用して、冗長な問合せを無効にします。

ノート:

SRW.SET_MAXROWビルトイン・プロシージャを含むSRWビルトイン・パッケージの詳細は、Oracle Reportsのオンライン・ヘルプを参照してください。

例

Before Reportトリガーに使用されている次のコードでは、ユーザー・パラメータに応じて、Query_EmpまたはQuery_Deptのいずれかが無効になります。

IF :Parameter_1 = 'A' THEN

SRW.SET_MAXROW('Query_Emp',0);

ELSE

SRW.SET_MAXROW('Query_Dept',0);

END IF;

ノート:

SRW.SET_MAXROW ビルトイン・プロシージャの使用に意味があるのは、Before Reportトリガー内(問合せの解析後)のみです。このポイントよりも後にSRW.SET_MAXROWビルトイン・プロシージャをコールすると、SRW.MAXROW_UNSETビルトイン例外が発生します。その場合、問合せは解析およびバインドされますが、データはレポートに返されません。

XMLまたはテキスト・プラガブル・データ・ソースのいずれかに基づいて問合せを定義するには、問合せで使用するフィールド(使用可能なすべてのフィールドまたはサブセット)を選択します。フィールドのサブセットを使用する必要がある場合は、すべての値をフェッチしてからグループ・フィルタやレイアウト・レベルのフォーマット・トリガーを使用してフィルタリングを行うのではなく、パラメータを使用して問合せレベルでサブセットを使用します。

23.5.5 ブレーク・グループ

ブレーク・グループの数を制限して、レポートのパフォーマンスを向上させます。Oracle Reportsでは、最下位レベルの子グループを除き、ブレーク順序プロパティが設定されているデータ・モデルの各列にブレーク・レベルが設定されます。

SQL問合せでは、Oracle Reportsによって、この設定が追加の列として問合せのORDER BY句に追加されます。ORDER BY句にある列の数が少ないほど、データを必要な順序に並べ替えて返すためのデータベース操作が少なくて済みます。ブレーク・グループの作成は、問合せの一部として定義されているORDER BY句を無視して、ORDER BY句を冗長にする場合があります。こうしたORDER BY句は、データベースで余分な処理が必要となるため削除してください。

レポートでブレーク・グループを使用する必要がある場合は、「ブレーク順序」プロパティを設定する列を極力少なくします。ブレーク順序列には、Reports Builderのデータ・モデル・ビューで、グループ内の列名の左に小さな矢印が表示されています。問合せの最下位レベルの子グループを除く各ブレーク・グループでは、少なくとも1つの列に、「ブレーク順序」プロパティを設定する必要があります。ソートが必要ない列でブレーク・グループを解除すると、パフォーマンスが向上します。

ブレーク・グループは、可能であれば1列に限定します。これらの列はできるだけ小さくすると同時に、可能であればデータベース列(サマリー列や式列ではなく)にします。これらの両条件は、データがフォーマットされる前にOracle Reportsにより実行されるローカル・キャッシングを最大限に効率化することに役立ちます。これらの条件は常に満たされるとはかぎりませんが、条件が満たされる場合に適用すると、パフォーマンスは確実に向上します。

23.5.6 グループ・フィルタ

グループ・フィルタは、表示されるレコードの数を減らすために使用されます。問合せがデータ・ソースからOracle Reportsにデータを返した後に、フィルタリングは実行されます。上位5レコードのみを表示するようにフィルタを定義していても、結果セットには、問合せによって返されたすべてのレコードが含まれます。そのため、グループ・フィルタ機能を問合せのWHERE句または「最大行数」プロパティに組み込むと、効率性が高くなります。これにより、データベースから返されるデータを制限できます。

23.5.7 リンクの可否

複数の表からなるデータ・モデルを作成する方法は多数あります。企業の各部門に所属する全従業員を一覧表示するレポートを作成する場合に、deptとempを結合する標準的なケースを考えてみます。次のいずれかの問合せを作成できます。

- 単一問合せ:

SELECT d.dname, e.ename
FROM emp e, dept d
WHERE e.deptno(+) = d.deptno

- deptnoに基づく列リンクを使用する2つの問合せ:

SELECT deptno, dname FROM dept
SELECT deptno, ename FROM emp

レポートのデータ・モデルを設計するときは、単純な単一表問合せを多数作成するのではなく、大きな複数表問合せを少数作成することで、問合せの数を少なくします。Oracle Reportsでは、問合せが実行されるたびに、解析、バインドおよびカーソルが実行されます。単一問合せによるレポートでは、必要なすべてのデータが、複数のカーソルではなく1つのカーソルで返されます。マスター・ディテール問合せでは、取り出された各マスター・レコードに対して、再度、ディテール問合せが解析、バインドおよび実行されます。この例では、2つの問合せをマージし、ブレーク・グループを使用してマスター・ディテール効果を作成したほうが効率的です。

問合せがより大きく複雑になるほど、メンテナンスが難しくなることに注意してください。パフォーマンスとメンテナンスの要件間のバランスを、どの時点で取るかを決める必要があります。

23.6 データのフォーマット

データがデータ・ソースから取り出されると、Oracle Reportsによりレポート・レイアウトが生成され、出力がフォーマットされます。ペーパー・レイアウトに要する時間は多くの要因に依存しますが、一般に次のことが関係しています。

- オブジェクトが別のオブジェクトにより上書きされることを防ぐために必要な処理

- フォーマット・トリガーで実行される計算またはファンクションの効率性

Webレイアウトのルールは少し異なり、Oracle Reportsでは、Webページの所有もレンダリング・メカニズムの制御も行われません。データが通常のJSPページに送られるだけです。

この項では、レポートのフォーマットの確認およびチューニングについて説明します。

- ペーパー・レイアウト(フォーマット・トリガーおよびイメージ出力を含む)

- WebレイアウトとJSPレポート定義

23.6.1 ペーパー・レイアウト

デフォルトのペーパー・レイアウトを生成すると、Oracle Reportsでは、オブジェクトが別のオブジェクトに重なって表示されないように、ほとんどすべてのオブジェクトが枠で囲まれます。実行時は、すべてのレイアウト・オブジェクト(枠、フィールド、ボイラープレートなど)が調べられ、オブジェクトが重なって表示される可能性が判別されます。明らかに重なって表示される可能性がない場合(たとえば、ボイラープレート・テキスト列の見出し)は、オブジェクトを直接囲む枠が削除されます。これにより、Oracle Reportsによるフォーマットが必要なオブジェクトの数が減り、結果として、パフォーマンスが向上します。

可変で、水平または垂直あるいはその両方の方向に拡張または縮小可能に定義されているオブジェクトには、追加の処理が必要です。この場合、Oracle Reportsでは、そのオブジェクトと周辺のオブジェクトをフォーマットする前に、そのオブジェクト・サイズのインスタンスを決める必要があります。固定サイズが割り当てられたオブジェクトの場合は、そのサイズとオブジェクト間の位置関係がわかっているため、処理のオーバーヘッドは生じません。

次に、ペーパー・レイアウトの作成時にパフォーマンスの向上に役立つガイドラインを示します。

- 非グラフィカル・レイアウト・オブジェクト(ボイラープレート・テキストやテキスト付きフィールドなど)は、そのフィールドの「垂直拡張度」プロパティおよび「水平拡張度」プロパティを「固定」に設定してサイズを固定します。特に、繰返し枠とそのコンテンツのサイズを固定に設定すると、パフォーマンスが向上します。可変サイズの非グラフィカル・オブジェクトでは、Oracle Reports Builderがオブジェクトをフォーマットする前にそのサイズを決める必要があるため、処理のオーバーヘッドが生じます。一方、固定の非グラフィカル・オブジェクトでは、追加の処理が必要ないため、オーバーヘッドが少なくなります。

- グラフィカル・レイアウト・オブジェクト(イメージやグラフなど)は、そのオブジェクトの「垂直拡張度」および「水平拡張度」プロパティを「可変」に設定してサイズを変更可能にします。固定のグラフィカル・オブジェクトでは、そのコンテンツを適切なサイズにスケーリングする必要があるため、処理のオーバーヘッドが大きくなります。可変オブジェクトはそのコンテンツに合せて拡張または縮小されるため、スケーリングは必要ありません。

- テキスト・フィールドの行数は1行で済むようにし、その内容が指定した幅に収まるようにします(SUBSTRファンクションを使用するなどの方法により)。テキスト・フィールドの行数が複数になる場合、Oracle Reports Builderでは、ワード・ラップ・アルゴリズムによりフィールドのフォーマットが必要になります。テキスト・フィールドは必ず1行になるようにすると、フォーマット時にワード・ラップ・アルゴリズムによる処理のオーバーヘッドを回避できます。

- 同一フィールドやボイラープレート・テキスト内では、複数の異なるフォーマット属性(フォントなど)の使用は極力少なくします。フォーマットにより長い時間が必要となるためです。

- レポート問合せでSUBSTRファンクションを使用して、データベース・レベルでデータを切り捨てます。Report Builderレイアウトでフィールドから文字列を切り捨てる方法は避けます。

- ペーパー・レイアウトのみのレポートでは、.rdfおよび.repファイルのほうが.jspファイルよりも高速に実行されます。.rdfや.repファイルのフォーマットはシリアライズされており、解析が不要なためです。また、.repファイルは現行プラットフォーム用に最適化されているため、.rdfファイルよりも高速に実行されます。

23.6.1.1 フォーマット・トリガー

フォーマット・トリガーを使用すると、オブジェクトの外観の無効化、有効化および変更を動的に実行できます。フォーマット・トリガーは、実行時に関連するオブジェクトのインスタンスが作成されフォーマットされるたびに起動されるため、その使用には注意が必要です。

次の例を考えてみます。

表レポートに、垂直に拡張する繰返し枠が1つあり、その「ページ保護」プロパティが「はい」に設定されています。レポートのフォーマット時に、最初のページの下部に1行分の余白が残ります。Oracle Reportsでは、繰返し枠の次のインスタンスでフォーマットを開始し、関連するフォーマット・トリガーを起動します。繰返し枠内のオブジェクトの1つが拡張されたことがわかると、繰返し枠のこのインスタンスは次のページに移動されます。繰返し枠のフォーマット・トリガーが再起動されます。この場合、繰返し枠は1回だけ表示されますが(2番目のページの最上部)、フォーマット・トリガーは2回起動されます。フォーマット・トリガーが特定のオブジェクトに対して何回実行されるかわからないため、フォーマット・トリガー内ではDMLを実行しないようにしなければなりません。

この例では、フォーマット・トリガー内にINSERT文があると、データ行が2行挿入されてしまいます。

繰返し枠には、データをフィルタリングするフォーマット・トリガーを使用することもできます。ただし、フィルタリングは適切なレベルで使用することで、レポートのパフォーマンスを向上させるだけでなく、この種のレポートで必要とされる複雑さを軽減することもできます。

可能であれば、次の順序でフィルタリングを行います。

- サーバーからデータが返されないようにSQL文を変更します。

- グループ・フィルタを使用して、データ・モデルにフィルタリングを導入します。

- フォーマット・トリガー内でreturn falseを使用します。

フォーマット・トリガーは、その起動回数が最小限になるように、オブジェクトまたは枠階層のできるだけ高いレベルに配置してください。例:

図23-1 フォーマット・トリガー

Oracle Reports内でトリガーやPL/SQLプログラム・ユニットを定義するときは必ず、コードの効率性を最大にしてください。たとえば、フィールドの表示属性を動的に変更して基準値を超えた値を強調するには、SRW.SET_TEXT_COLORビルトイン・プロシージャなどの個別のビルトインを使用してその属性を変更します。

PL/SQLチューニングに関連する一般的問題の詳細は、Oracle Database PL/SQL言語リファレンスを参照してください。

レイアウト・オブジェクト(枠や繰返し枠など)はビットマップ・ファイルとしてレンダリングされないため、これらのオブジェクトに透明な境界線と塗りつぶしパターンを割り当てると、パフォーマンスが向上します。

23.6.1.2 イメージ出力

イメージのサポートに関連する環境変数を慎重に設定することによって、イメージを含むレポートのパフォーマンスを向上させることができます。

PDFファイルまたはプリンタへのグラフ出力のパフォーマンスの向上

REPORTS_GRAPH_IMAGE_DPI環境変数は、PDFファイルまたはプリンタにグラフを出力する際のインチ当たりのドット数(DPI)を指定します。この環境変数のデフォルト値は、72 DPIに設定されています。これは、レポートのファイル・サイズを小さくするとともに、レポートの生成に要する時間を最小化するためです。72 DPIより高い値を指定すると、PDFファイルやプリンタに出力されるグラフのイメージ解像度が向上します。ただし、これにより、ファイル・サイズが大きくなるだけでなく、レポート出力の生成に、より時間がかかります。

値を250に設定すると、Oracle Reportsグラフを含むレポートの生成時間が、同じレポートを72 DPIの値に設定して生成する場合の5から6倍になります。PDFファイルのサイズも5から6倍になります。

この機能は、PDF出力およびプリンタ出力専用になっているため、現時点のOracle Reports配布機能ではサポートされていません。

ノート:

DPI値を250超に設定し、グラフの大きさを5"x5"より大きくすると、JVMのOut Of Memoryエラーを回避するために、REPORTS_JVM_OPTIONS環境変数を使用してJVMヒープ・サイズの値を変更することも必要になります。

詳細は、第B.1.50項「REPORTS_GRAPH_IMAGE_DPI」を参照してください。

JPEG/GIF/PNG出力イメージ形式のパフォーマンスの向上

入力イメージ形式がJPEGの場合、REPORTS_OUTPUTIMAGEFORMAT環境変数をGIFまたはPNGに設定しないことをお薦めします。設定すると、イメージのサイズがさらに大きくなり、パフォーマンスが低下する場合があります。同様に、入力イメージ形式がGIFまたはPNGの場合、REPORTS_OUTPUTIMAGEFORMAT環境変数をJPEGに設定しないことをお薦めします。パフォーマンスを向上させるには、入力と出力の両方に同じ形式を使用します。

詳細は、第B.1.59項「REPORTS_OUTPUTIMAGEFORMAT」を参照してください。

JPEGイメージのパフォーマンスの向上

REPORTS_JPEG_QUALITY_FACTOR環境変数によって、JPEGイメージに求められるイメージ画質のレベルが指定されます。JPEGイメージの画質とイメージのサイズのトレードオフが制御されます。イメージの画質がよいほど、イメージ・ファイルのサイズが大きくなり、パフォーマンスが低下します。パフォーマンスを向上させるには、値を0に設定します。デフォルト値は100(最高画質)です。値を75に設定すると、適切な圧縮率を維持したまま、イメージの画質が向上します。

詳細は、第B.1.53項「REPORTS_JPEG_QUALITY_FACTOR」を参照してください。

23.6.2 WebレイアウトとJSPレポート定義

Oracle Reportsでは、好みのWebオーサリング・ツールを使用してWebページの静的部分を設計してから、Oracle Reports Builderを使用してページの適切なセクションに動的部分(データ)を挿入できます。設計の悪いWebページは、体感パフォーマンスに影響を与えます。または、事前定義済のOracle Database Webテンプレートを使用して、Webページを構築することもできます。

JSPファイルには、Javaコードを記述しないようにします。表示ロジックにビジネスおよびデータ・アクセスJavaコードを混在させると、JSPのフットプリントが増大し、システム・リソースの使用と管理の効率性が制限されます。

Webページのカスタマイズされたフォーマットは、常に負荷の高い操作になります。Oracle Reportsでネイティブに実行できないフォーマット(データ・ブロックのフォアグラウンド・カラーの変更など)は、すべてJavaを使用して実行してください。フォーマット目的で、PL/SQLラッパーを使用することはお薦めしません。

.jspレポート定義には、ペーパー・レイアウト定義とWebレイアウト定義の両方を含めることができます。Oracle Reportsでは、レポートの実行時に、常にペーパー・レイアウト定義が最初にフォーマットされます。JSPレポートのWebレイアウト・セクションに、ペーパー・レイアウト・オブジェクトを参照する<rw:include>タグが含まれている場合があるためです。JSPレポートにペーパー・レイアウト・オブジェクトへの参照がない場合、SUPPRESSLAYOUTコマンドライン・キーワードを使用して、Oracle Reportsでペーパー・レイアウトのフォーマットが実行されないようにすることをお薦めします。

23.7 レイアウトに関する一般的なガイドライン

この項では、パフォーマンスの向上を目的としてレポートのレイアウトをデザインする場合の各種ガイドラインを示します。

- 事前フェッチ

- 一括処理と配布

23.7.1 事前フェッチ

Oracle Reportsでは、レポートのマージンまたはレポートのヘッダー・ページに総ページ数や総計などのデータを表示できます。このオプションは便利ですが、レポート全体を事前にフェッチすることが必要になります。事前フェッチでは、最初のページを出力する前に、レポート全体を処理する必要があります。通常は、必要に応じてページのフォーマットが行われます。

事前フェッチ機能は、レポート生成にかかる合計時間には影響しませんが、必要となる一時記憶域の量と最初のページが表示されるまでの時間に影響します。これは、実際のパフォーマンスとは区別される体感パフォーマンスの例です。レポートを本番環境の画面に出力する場合は、パフォーマンスの変化が許容範囲と思われる場合を除き、事前フェッチは使用しないでください。

23.7.2 一括処理と配布

レポートの一括処理を使用して、レポート・レイアウトをヘッダー、本体、トレーラという異なる3つのセクションで構成できます。1つのレポートにこれら3つのセクションを含めることも、1つのレポート内で3つの個別レポートとしても表示できます。Oracle Reportsでは、グループ・レコード・レベルで一括処理を制御でき、より高いレベルの精度が実現されます。これは、個々のセクションの「配布」プロパティと「繰返し」プロパティにより可能になります。一括処理を配布オプションとともに使用すると、パフォーマンスは確実に向上します。これにより、レポートの各セクションに複数のフォーマットを定義し複数の宛先に送信することも可能になります。配布オプションを設定しておけば、レポートの実行は1回のみです。つまり、問合せの1回の実行で複数の宛先に出力されます。以前は、レポートを複数回実行する必要がありました。

レポートで一括処理および配布を実装する場合は、セクションの「繰返し」プロパティをデータ・モデルのブレーク・グループに設定すると、セクション・レベルの配布を生成することができます。これにより、そのブレーク・グループの列レコードごとにセクションのインスタンスが生成されます。その後、セクションの各インスタンスを適宜配布できます(たとえば、MANAGERグループ内の個々のマネージャへの配布)。

「繰返し」プロパティを複数のレポート・セクション(ヘッダー、メインおよびトレーラ)に対して設定する場合は、「繰返し」プロパティの値は同じデータ・モデルのブレーク・グループに設定する必要があります。ヘッダー、メインおよびトレーラ・セクションのいずれかで「繰返し」プロパティを異なるデータ・モデルのブレーク・グループに設定すると、Oracle Reportsでは次のいずれかのメッセージが表示されます。

REP-0069: Internal Error
REP-57054: In-Process job terminated: Terminated with error
REP-594: No report output generated

23.8 レポートの実行

特定のランタイム・オプションを設定することで、全体的なパフォーマンスをさらに向上させることができます。

- Oracle Reports Builderでは、ペーパー・レイアウト定義とバインド変数に対して、エラー・チェックが自動的に実行されます。ランタイム・パラメータRUNDEBUG=NOを設定すると、実行時のこのエラー・チェックを無効にできます。

- JSPレポート定義では、Oracle Reports Builderによりタグ検証が実行され、重複フィールドのIDや誤った形式の属性などの項目がチェックされます。この機能は、本番環境ではなく、設計フェーズでのみ有用です。デフォルトでは、Oracle Reports Servicesのタグ検証はオフです。このオプションをオンにするには、HTTPリクエストでVALIDATETAG=YESを指定します(例、http://my.server.com/myreport.jsp?VALIDATETAG=YES)。

ノート:

VALIDATETAG=YESを使用すると、パフォーマンスが低下します。

- デフォルトでは、rwrunコマンドとrwservletコマンドの両方で使用されるRECURSIVE_LOADコマンドライン・キーワードがYESに設定されており、PL/SQLプログラム・ユニットの無効な外部参照が自動的に再コンパイルされます。このキーワードは開発環境でのみ使用されるため、本番環境では、RECURSIVE_LOAD=NOと設定します。

- SQL問合せの場合、Oracle ReportsではデータのフェッチにOracleデータベースの配列処理機能を利用します。これにより、レコードは1回に1つではなく一括してデータベースからフェッチされ、結果的にデータベースのコール回数が少なくなります。ただし、配列処理では、返されたレコード配列を格納するために、実行プラットフォームでより多くのメモリーが必要になります。本番環境でネットワークの負荷(ネットワーク・トリップ数)を減らすには、ARRAYSIZEコマンドライン・キーワードの値を大きな値に設定します(KB単位)。

- 第23.4項「Reports Server構成のチューニング」で説明したように、Oracle Reports Servlet (rwservlet)やReports Client (rwclient)で多数のレポートを実行する場合、maxQueueSizeとcacheSizeの値を反映するように、EXPIRATIONコマンドライン・キーワードを設定します。たとえば、サーバー構成ファイルのqueue要素でmaxQueueSize=6000と指定している場合は、最大6000件のジョブをジョブ・キューに格納できます。EXPIRATION=1440 (1日)と設定した状態で、1日に6000件超のジョブを実行すると、EXPIRATIONの時間に達する前に一部のジョブが失われる場合があります。これは、maxQueueSizeとサーバーの安定性を確保するために、期限切れになっていないジョブでもReports Serverによって削除されるためです。また、サーバー構成ファイルのcache要素で、6000件のジョブを維持するために十分なキャッシュ・サイズが割り当てられるようにcacheSizeを指定する必要があります。一般的なガイドラインとして、1日に実行するジョブの数に応じて、EXPIRATION、maxQueueSizeおよびcacheSizeを設定します。

- LONG、CLOBまたはBLOBデータ型を使用してレポートで大量のデータを取り出す場合は、LONGCHUNKコマンドライン・キーワードをできるだけ大きな値に設定します。これにより、LONG値を取り出すための、Oracle Reportsによる変更分の数が減ります。Oracleデータベース・サーバーでは、LONGまたはLONG RAWのかわりに、より効率的なCLOBまたはBLOBデータ型を使用します。

- ペーパー・パラメータ・フォームが必要ない場合は、PARAMFORMコマンドライン・キーワードをNOに設定します。

- PostScriptに出力するときは、COPIESコマンドライン・キーワードの使用に注意する必要があります。COPIESを1よりも大きな値に設定すると、Oracle Reportsでは、ページを照合するために、各ページを一時記憶域に保存することが必要になります。これにより、一時的に使用されるディスク領域の量が増加し、追加ファイルの書込みオーバーヘッドによりパフォーマンスが悪化します。

- レポートをPDF出力に生成する場合は、PDFCOMPコマンドライン・キーワードをNOに設定します。PDF出力はデフォルトで圧縮されます。圧縮ファイルはダウンロードが短時間で済みますが、圧縮ファイルの生成にかかる時間は、非圧縮ファイルの場合よりかなり長くなります。

ノート:

レポートの実行によるWebレイアウトの生成は、次の例のように$ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools/rwbuilder.confファイルでWebレイアウトのポートが管理対象サーバーのポートに設定されている場合のみ機能します。

<webLayout port="managed_server_port"
docroot="$DOMAIN_HOME/servers/WLS_REPORTS/tmp/_WL_user/reports_<version>/<random_string>/war"/>

第VII部

付録

第VII部は、Oracle Reports BuilderおよびOracle Reports Services環境での動作に関して追加の詳細情報が記載されている付録です。これには、Oracle Reportsコマンドや関連コマンドライン・オプションの情報、Reports関連の環境変数に関する詳細、およびバッチ・スクリプトを使用してレポートをOracle Portalに登録する方法が記載されています。

- 付録A「コマンドライン・キーワード」

- 付録B「環境変数」

- 付録C「Oracle Portalへのレポートのバッチ登録」

- 付録D「Oracle Reports Servicesのトラブルシューティング」

A コマンドライン・キーワード

この付録では、Oracle Reportsコンポーネントとともに使用できるコマンドライン・キーワードについて説明し、例を示します。

ノート:

ランタイムURLでのコマンドライン・キーワードの使用例は、第17章「レポート・リクエストの実行」を参照してください。

この付録の内容は、次のとおりです。

- コマンドラインの使用

- Oracle Reportsコンポーネントの概要

- キーワードの使用方法のサマリー

- コマンドライン・キーワード

この付録に記載されている情報は、Oracle Reportsのオンライン・ヘルプにも掲載されています。オンライン・ヘルプは、「はじめに」の「関連ドキュメント」で述べているように、Reports Builderで参照できるか、Oracle Technology Network (OTN)でホストされています。

A.1 コマンドラインの使用

コマンドラインでのOracle Reportsコマンドは、一般的に次の形式をとります。

component_name keyword=value, keyword=value, ...

それぞれのkeyword=valueの組合せはコマンドライン・オプションと呼ばれます。

キーワードは必ず指定する必要がありますが、コンポーネント名の後ろに順不同で使用できます。

A.1.1 全般的な使用上のノート

- オプションの等号記号の前後に空白を入れることはできません。

- オプションを区切るには、1つ以上の空白を使用します。コンマで区切ることはできません。

- 値は一重引用符または二重引用符で囲む場合もあります。一重引用符または二重引用符の効果はオペレーティング・システムによって異なります。

- どのオプションでも、keyword=部分では大文字と小文字は区別されません。value部分は、使用しているオペレーティング・システムによって大文字と小文字が区別される場合があります。

- コマンドラインから一重引用符を渡す場合、2つの引用符(1つはエスケープとして、もう1つは実際の引用符として)入力する必要があります。例:

rwrun REPORT=myrep DESTYPE=file DESNAME=run.out BATCH=yes p_value="Roy''s Batch Report"

- フルパス名は、すべてのファイル参照に対してサポートされています(例: DESNAME=/revenues/q1/nwsales)。フルパス名を指定しないと、Oracle Reportsのファイル検索メソッドが使用されてファイルが検索されます。キーワード値にファイル名を含むパスを指定しないと、Reports ServerではREPORTS_PATH環境変数からファイル検索を試みます。

- クライアントのコマンドラインで指定されたすべてのファイル名とパスは、サーバー・マシン上のファイルとディレクトリを参照します。ただし、次のコマンドライン・キーワードに対して指定されたファイルはこれらを参照しません。

- CMDFILE=filename。この場合は、指定されたCMDFILEが読み取られ、元のコマンドライン(CMDFILEが記述されているコマンドライン)に追加されてから、Reports Serverに送信されます。ランタイム・エンジンによって、このコマンド・ファイルが再び読み取られることはありません。

- DESNAME=filename DESTYPE=LOCALFILE。この場合、DESNAMEはクライアント・マシンにあるファイルを参照します。

A.1.2 ルール

- ランタイム・パラメータ・フォームに入力された値は、コマンドラインで入力された値よりも優先されます。たとえば、コマンドラインでrwrunをCOPIES=1で指定しても、ランタイム・パラメータ・フォームでCOPIES=2と指定した場合は、生成されるレポートの部数は2です。

- コマンドラインに入力した値は、コマンド・ファイルで指定した値よりも優先されます。たとえば、コマンドラインでrwrunをCOPIES=1およびCMDFILE=RUNONE (コマンド・ファイル)で指定すると、コマンド・ファイルRUNONEにrwrun COPIES=2が含まれていても、生成されるレポートの部数は1のみです。

- DESTYPE、DESNAME、DESFORMAT、ORIENTATIONおよびCOPIESの値は、いくつかの異なる場所で指定できます。次のリストは、これらの値を指定する場所の優先順位を高いほうから順に示しています。

1. 「ジョブの印刷」ダイアログ・ボックス

2. ランタイム・パラメータ・フォーム

3. 「プリファレンス」ダイアログ・ボックスの「ランタイム・パラメータ」タブ/「ランタイム設定」タブ

4. コマンドラインのキーワード

5. レポート定義で指定した値

6. 「プリンタの選択」ダイアログ・ボックス

A.2 Oracle Reportsコンポーネントの概要

この項では、Oracle Reportsコンポーネントについて簡単に説明するとともに、各コンポーネントでコマンドライン・キーワードを使用する方法の例を示します。

- rwclient

- rwrun

- rwbuilder

- rwconverter

- rwservlet

- rwserver

- rwbridge

A.2.1 rwclient

rwclient (Reportsクライアント)は、コマンドラインを解析し、指定されたReports Serverに転送します。

クライアントのコマンドラインで指定されたすべてのファイル名とパスは、サーバー・マシン上のファイルとディレクトリを参照します。ただし、次のコマンドライン・キーワードに対して指定されたファイルはこれらを参照しません。

- CMDFILE=filename。この場合は、指定されたCMDFILEが読み取られ、元のコマンドライン(CMDFILEが記述されているコマンドライン)に追加されてから、Reports Serverに送信されます。ランタイム・エンジンによって、このコマンド・ファイルが再び読み取られることはありません。

- DESNAME=filename DESTYPE=LOCALFILE。この場合、DESNAMEはクライアント・マシンにあるファイルを参照します。

rwclientとともに使用できるキーワードは、表A-1を参照してください。

例

例1: ペーパー・レポートを実行してキャッシュ

rwclient server=myrepserv report=test.rdf userid=scott/tiger@mydb desformat=pdf DESTYPE=cache

例2:  レポート出力をファイルに送信

rwclient server=myrepserv report=test.rdf userid=scott/tiger@mydb desformat=pdf DESTYPE=file DESNAME=c:\mydir\test

例3:  レポート出力をプリンタに送信

rwclient server=myrepserv report=test.rdf userid=scott/tiger@mydb DESTYPE=printer DESNAME=myprinter

例4: レポート出力を電子メールで送信

rwclient server=myrepserv report=test.rdf userid=scott/tiger@mydb desformat=pdf DESTYPE=mail DESNAME="emp1@comp.com, emp2@comp.com" cc="emp3@comp.com" bcc="mgr@comp.com" replyto="me@comp.com" from="me@comp.com"

例5:  レポート出力をWebDAV(いずれかのWebDAVサーバーまたはOracle Portal WebDAV)に送信

rwclient server=myrepserv report=test.rdf userid=scott/tiger@mydb desformat=htmlcss DESTYPE=webdav DESNAME="http://myusername:mypassword@mywebdavserv.com/mydir/test.html"

例6:  レポート出力をOracle Portalに送信

rwclient server=myrepserv report=test.rdf userid=scott/tiger@mydb DESTYPE=oracleportal desformat=PDF PAGEGROUP=mypagegrp OUTPUTPAGE=reports_output ITEMTITLE=pushtoportal STATUSPAGE=result

例7:  XML PDSレポート出力をファイルに送信

rwclient server=myrepserv report=myxmlpdstest.rdf DESTYPE=file desformat=PDF desname=c:\mydir\my.pdf

例8:  JDBC PDSレポート出力をファイルに送信

rwclient server=myrepserv report=myjdbcpdstest.rdf DESTYPE=file desformat=PDF desname=c:\mydir\myxml.pdf p_jdbcpds=sybuser/sybpwd@server1.mydomain.com:1300

例9:   レポート出力を複数の宛先に配布

rwclient server=myrepserv report=test.rdf userid=scott/tiger@mydb DISTRIBUTE=yes DESTINATION=c:\mydistribute.xml

例10:  スケジュールされたレポートの実行

rwclient server=myrepserver report=test.rdf SCHEDULE="every first fri of month from 15:53 Mar 25, 2009 retry 3 after 1 hour" destype=file desformat=pdf desname=test.pdf

例11:  保護されたReports Serverの使用

rwclient server=myrepserv report=test.rdf userid=scott/tiger@mydb desformat=pdf destype=file desname=test.pdf AUTHID=myadmin/myadmin

例12:  レポートを電子メールによる通知で実行

rwclient server=myrepserver report=test.rdf userid=scott/tiger@mydb destype=file desformat=pdf desname=test.pdf NOTIFYSUCCESS="emp@comp.com" NOTIFYFAILURE="admin@comp.com"

例13:  URLエンジンでフェッチするURLを指定するレポートの実行

rwclient server=myrepserver report=test.rdf userid=scott/tiger@mydb destype=file desformat=pdf desname=test.pdf JOBTYPE=rwurl URLPARAMETER="http://www.oracle.com"

A.2.2 rwrun

rwrun (Reports Runtime)では、各自のインプロセス・サーバー(デフォルトのインプロセスReports Serverと混同しないこと)を起動してレポートを実行します。これは、rwrunプロセスと同じJVMで実行します。

このインプロセス・サーバーの構成ファイルはrwbuilder.confで、トレース・ファイルはrep_machinename-rwbuilderディレクトリに保存されます。

ノート:

rwrunは、テスト目的でのみ使用することを推奨します。本番環境では、Oracle Reports Servicesの機能を最大限に活用できるように、rwservletおよびrwclientを使用します。

rwrunとともに使用できるキーワードは、表A-1を参照してください。

例

例1:  レポートのカスタマイズ

rwrun userid=scott/tiger@mydb report=emp.rdf CUSTOMIZE=empcustomize.xml destype=file desformat=pdf desname=emp.pdf

例2: レポート出力をファイルに送信

rwrun report=test.rdf userid=scott/tiger@mydb desformat=pdf DESTYPE=file DESNAME=c:\mydir\test.pdf

例3:  レポート出力をプリンタに送信

rwrun report=test.rdf userid=scott/tiger@mydb DESTYPE=printer DESNAME=myprinter

例4:  レポート出力を電子メールで送信

rwrun report=test.rdf userid=scott/tiger@mydb desformat=pdf DESTYPE=mail DESNAME="emp1@comp.com, emp2@comp.com" cc="emp3@comp.com" bcc="mgr@comp.com" replyto="me@comp.com" from="me@comp.com"

例5:  レポート出力をWebDAV(いずれかのWebDAVサーバーまたはOracle Portal WebDAV)に送信

rwrun report=test.rdf userid=scott/tiger@mydb desformat=htmlcss DESTYPE=webdav "DESNAME"="http://myusername:mypassword@mywebdavserv.com/mydir/test.html"

例6:  レポート出力をOracle Portalに送信

rwrun report=test.rdf userid=scott/tiger@mydb DESTYPE=oracleportal desformat=PDF PAGEGROUP=mypagegrp OUTPUTPAGE=reports_output ITEMTITLE=pushtoportal STATUSPAGE=result

例7:  XML PDSレポート出力をファイルに送信

rwrun report=myxmlpdstest.rdf destype=file desformat=PDF desname=c:\mydir\my.pdf

例8:  JDBC PDSレポート出力をファイルに送信

rwrun report=myjdbcpdstest.rdf destype=file desformat=PDF desname=c:\mydir\myxml.pdf
P_JDBCPDS=sybuser/sybpwd@server1.mydomain.com:1300

例9:  レポート出力を複数の宛先に配布

rwrun report=test.rdf userid=scott/tiger@mydb DISTRIBUTE=yes DESTINATION=c:\mydistribute.xml

例10:  保護されたReports Serverの使用

rwrun report=test.rdf userid=scott/tiger@mydb desformat=pdf destype=file desname=test.pdf AUTHID=myadmin/myadmin

例11:  レポートを電子メールによる通知で実行

rwrun report=test.rdf userid=scott/tiger@mydb destype=file desformat=pdf desname=test.pdf NOTIFYSUCCESS="emp@comp.com" NOTIFYFAILURE="admin@comp.com"

A.2.3 rwbuilder

rwbuilderにより、Oracle Reports Builderを起動します。コマンドラインでrwbuilderにREPORT|MODULEキーワードを指定すると、Oracle Reports Builderが起動し、指定されたレポートがオブジェクト・ナビゲータ内で強調表示されます。指定されたレポートがないと、既存のレポートを開くか新規レポートを作成するかを選択する「ようこそ」ダイアログとともにOracle Reports Builderが起動します。

rwbuilderとともに使用できるキーワードは、表A-1を参照してください。

例

rwbuilder report=myrep.rdf userid=scott/tiger@mydb

A.2.4 rwconverter

rwconverter (Reports Converter)によって、1つ以上のレポート定義またはPL/SQLライブラリをある保存形式から別の保存形式に変換できます。たとえば、rwconverterを使用して次のような処理ができます。

- レポート・ファイルとXMLファイルの組合せによる新しいレポートの作成

- .rdfファイルに格納されたレポートを.rep、.rex、.jspまたは.tdf (テンプレート)ファイルに変換

ノート:

レポートをテンプレートに変換する場合、レポートのヘッダー・セクションとトレーラ・セクションおよびマージン領域にあるオブジェクトのみがテンプレートに使用されます。メイン・セクションにあるオブジェクトは無視されます。

- .rexファイルに格納されたレポートを.rdfまたはテンプレート(.tdfファイル)に変換

- データベースに格納されたライブラリを.pldファイルまたは.pllファイルに変換

- .pldファイルに格納されたライブラリをデータベース・ライブラリまたは.pllファイルに変換

- .pllファイルに格納されたライブラリを.pldファイルのデータベース・ライブラリに変換

ノート:

連結ライブラリ付きのレポートを変換する場合、レポートに連結された.pllファイルを変換してから、.rdf/.rexファイルを変換する必要があります。現在のReportsでは、.PLXファイルの使用をサポートしていません。

- Oracle Portalにレポートをバッチ登録するPL/SQLスクリプトの作成

rwconverterによって、変換処理の一部として、レポートのPL/SQLが自動的にコンパイルされる場合もあります。変換先が.rexファイルでない場合、次の状況では、rwconverterによってPL/SQLが自動的にコンパイルされます。

- 変換先が.repファイルの場合。コンパイルでエラーが発生すると、rwconverterによりエラー・メッセージが表示され、.repファイルは作成されません。

- ソースとして.rexファイルを使用する場合。コンパイルでエラーが発生すると、rwconverterにより警告が表示されますが、変換処理は続行します。

- ソースとして別のプラットフォーム上で作成されたレポートを使用する場合。コンパイルでエラーが発生すると、rwconverterにより警告が表示されますが、変換処理は続行します。

その他の状況では、各自でレポートのPL/SQLをコンパイルする必要があります(たとえば、Oracle Reports Builderで「プログラム」→「コンパイル」→「すべて」を使用)。

ノート:

フォントは、変換時ではなく、Oracle Reports BuilderやReports Runtimeでレポートを開くときにマップされます。

rwconverterとともに使用できるキーワードは、表A-1を参照してください。

例:

rwconverter scott/tiger@mydb stype=rdffile source=inven1.rdf dtype=xmlfile dest=inven1_new.xml

A.2.5 rwservlet

rwservlet (Oracle Reports Servlet)は、WebサーバーまたはJava EEコンテナ(Oracle WebLogic Serverなど)とReports Serverとの間で情報を変換して送信します。これにより、Webブラウザからレポートを動的に実行できます。オプションでインプロセスReports Serverも使用できます。これは、クライアントから最初のリクエストを受信するたびにサーバーを自動的に起動する手段になるので、Reports Serverのメンテナンスと管理が軽減されます。

rwservletとともに使用するキーワードは、Webコマンドとも呼ばれます。Oracle Reports 11gリリース2 (11.1.2)では、rwservlet Webコマンドのセキュリティ・アクセス・レベルとして、次の2つのカテゴリが導入されています。

- エンド・ユーザー用Webコマンド: GETJOBID、KILLJOBID、SHOWAUTH、SHOWJOBID

- 管理者専用Webコマンド: DELAUTH、GETSERVERINFO、KILLENGINE、PARSEQUERY、SHOWENV、SHOWJOBS、SHOWMAP、SHOWMYJOBS
管理者は、エンド・ユーザー用Webコマンドと管理者専用Webコマンドの両方を実行できます。セキュアでないサーバーの場合、管理者のユーザーIDとパスワードを、Reports Server構成ファイルのidentifier要素に設定できます。

第6.8.4項「Webコマンドのセキュリティ・ポリシーの定義」で説明されているように、セキュリティ・アクセス・レベルはOracle Enterprise Managerを使用して指定します。

ノート:

rwservletを使用してJSPを実行する場合、rwservletに適用可能なキーワードをすべて使用できます。rwservletによるJSP実行の詳細は、第17章「レポート・リクエストの実行」を参照してください。

ノート:

キーワードのSHOWENV、SHOWJOBS、SHOWMAP、SHOWMYJOBS、KILLJOBID、KILLENGINE、PARSEQUERY、DELAUTH、GETJOBIDおよびGETSERVERINFOは、keyword=valueのペアではなくコマンドです。つまり、対応する値を指定せずに、コマンドだけを入力します。

rwservletとともに使用できるキーワードは、表A-1を参照してください。

例

次の例では、myias.mycomp.comは、Oracle Application Serverインスタンスであり、7779はrwservletが実行されるポートです。

例1:  ペーパー・レポートをブラウザ(キャッシュ)で実行

http://myias.mycomp.com:7779/reports/rwservlet?
server=myrepserv+report=test.rdf+userid=scott/tiger@mydb+
desformat=pdf+DESTYPE=cache

例2:  レポート出力をファイルに送信

http://myias.mycomp.com:7779/reports/rwservlet?
server=myrepserv+report=test.rdf+userid=scott/tiger@mydb+
desformat=pdf+DESTYPE=file+DESNAME=c:\mydir\test

例3:  レポート出力をプリンタに送信

http://myias.mycomp.com:7779/reports/rwservlet?
server=myrepserv+report=test.rdf+userid=scott/tiger@mydb+DESTYPE=printer+DESNAME=myprinter

例4:  レポート出力を電子メールで送信

http://myias.mycomp.com:7779/reports/rwservlet?
server=myrepserv+report=test.rdf+userid=scott/tiger@mydb+
desformat=pdf+DESTYPE=mail+DESNAME="emp1@comp.com,
emp2@comp.com"+CC="emp3@comp.com"+BCC="mgr@comp.com"+
REPLYTO="me@comp.com"+FROM=me@comp.com"

例5:  レポート出力をWebDAV(いずれかのWebDAVサーバーまたはOracle Portal WebDAV)に送信

http://myias.mycomp.com:7779/reports/rwservlet?
server=myrepserv+report=test.rdf+userid=scott/tiger@mydb+
desformat=htmlcss+DESTYPE=webdav+DESNAME=
"http://myusername:mypassword@mywebdavserv.com/mydir/test.html"

例6:  レポート出力をOracle Portalに送信

http://myias.mycomp.com:7779/reports/rwservlet?
server=myrepserv+report=test.rdf+userid=scott/tiger@mydb+
destype=oracleportal+desformat=PDF+PAGEGROUP=mypagegrp+
OUTPUTPAGE=reports_output+ITEMTITLE=pushtoportal+
STATUSPAGE=result

例7:  XML PDSレポート出力をファイルに送信

http://myias.mycomp.com:7779/reports/rwservlet?
server=myrepserv+report=myxmlpdstest.rdf+destype=file+
desformat=PDF+DESNAME=c:\mydir\my.pdf

例8:  JDBC PDSレポート出力をファイルに送信

http://myias.mycomp.com:7779/reports/rwservlet?
server=myrepserv+report=myjdbcpdstest.rdf+destype=file+
desformat=PDF+desname=c:\mydir\myxml.pdf+
P_JDBCPDS=sybuser/sybpwd@server1.mydomain.com:1300

例9:  レポート出力を複数の宛先に配布

http://myias.mycomp.com:7779/reports/rwservlet?
server=myrepserv+report=test.rdf+userid=scott/tiger@mydb+
DISTRIBUTE=yes+DESTINATION=c:\mydistribute.xml

例10:  スケジュールされたレポートの実行

http://myias.mycomp.com:7779/reports/rwservlet?
server=myrepserver+report=test.rdf+
SCHEDULE="every first fri of month from 15:53 Oct 23, 2007 retry 3 after 1 hour"+destype=file+desformat=pdf+desname=test.pdf

例11:  保護されたReports Serverの使用

http://myias.mycomp.com:7779/reports/rwservlet?
server=myrepserv+report=test.rdf+userid=scott/tiger@mydb+
desformat=pdf+destype=file+desname=test.pdf+
AUTHID=myadmin/myadmin

例12: キー・マップ・ファイルの使用(詳細は、第17.13項「キー・マップ・ファイルの使用」を参照)

http://myias.mycomp.com:7779/reports/rwservlet?key1

説明:

key1は、cgicmd.datファイルで定義されたキーです(キー名は最初のパラメータです)。

または

http://myias.mycomp.com:7779/reports/rwservlet?
server=myrepserv+userparam=12+CMDKEY=keyname

例13:  レポートをパラメータ・フォームで実行

http://myias.mycomp.com:7779/reports/rwservlet?
server=myrepserver+report=test.rdf+userid=scott/tiger@mydb+
destype=cache+desformat=htmlcss+PARAMFORM=html

例14:  レポートを電子メールによる通知で実行

http://myias.mycomp.com:7779/reports/rwservlet?
server=myrepserver+report=test.rdf+userid=scott/tiger@mydb+
destype=file+desformat=pdf+desname=test.pdf+
NOTIFYSUCCESS="emp@comp.com"+NOTIFYFAILURE="admin@comp"

例15:  URLエンジンでフェッチするURLを指定するレポートの実行

http://myias.mycomp.com:7779/reports/rwservlet?
server=myrepserver+report=test.rdf+userid=scott/tiger@mydb+
destype=file+desformat=pdf+desname=test.pdf+JOBTYPE=rwurl+
URLPARAMETER="http://www.oracle.com"

例16: サーバーmyrepserverの環境情報の表示

http://myias.mycomp.com:7779/reports/rwservlet/SHOWENV?
server=myrepserver+authid=myrepuser/myreppassword

例17: サーバーmyrepserverの過去のジョブ情報の表示

http://myias.mycomp.com:7779/reports/rwservlet/SHOWJOBS?server=myrepserver+authid=myrepuser/myreppassword+queuetype=past

例18: cgicmd.datキー・マッピングの表示(詳細は、第17.13項「キー・マップ・ファイルの使用」を参照)

http://myias.mycomp.com:7779/reports/rwservlet/SHOWMAP? authid=myrepuser/myreppassword

例19: ユーザーmyrepuserの現行ジョブ情報の表示

http://myias.mycomp.com:7779/reports/rwservlet/SHOWMYJOBS?
server=myrepserver+authid=myrepuser/myreppassword+
queuetype=current

例20: ジョブID 30のジョブのステータスの取得

http://myias.mycomp.com:7779/reports/rwservlet/SHOWJOBID30?
server=myrepserver+authid=myrepuser/myreppassword

例21: ジョブID 122の現在実行中のジョブの取消し

http://myias.mycomp.com:7779/reports/rwservlet/KILLJOBID122?
server=myrepserver+authid=myrepuser/myreppassword

例22:  コマンドの解析済問合せの表示

http://myias.mycomp.com:7779/reports/rwservlet/PARSEQUERY?
server=myrepserver+authid=myrepuser/myreppassword+
report=test.rdf+userid=scott/tiger@db+destype=cache+
desformat=htmlcss

例23:  DB認証ページの表示

http://myias.mycomp.com:7779/reports/rwservlet/SHOWAUTH?
server=myrepserver+authid=myrepuser/myreppassword+authtype=D

例24: rwservletによって設定されたCookieの削除

http://myias.mycomp.com:7779/reports/rwservlet/DELAUTH?
server=myrepserver+authid=myrepuser/myreppassword

例25: サーバーmyrepserverからのジョブID 87のジョブの出力の取得

http://myias.mycomp.com:7779/reports/rwservlet/GETJOBID87?
server=myrepserver+authid=myrepuser/myreppassword

例26: サーバーmyrepserverのサーバー情報の表示

http://myias.mycomp.com:7779/reports/rwservlet/GETSERVERINFO?
server=myrepserver+authid=myrepuser/myreppassword

例27: サーバーmyrepserverのエンジンrwEng-1の強制終了

http://myias.mycomp.com:7779/reports/rwservlet/KILLENGINE1?
type=rwEng+server=myrepserver+authid=myrepuser/myreppassword

A.2.6 rwserver

rwserver (Reports Server)により、クライアント・リクエストを処理します。この処理では、認証と認可の確認、スケジューリング、キャッシュ処理、配布(プラガブル出力先への配布など)などの各種サービスにクライアント・リクエストを割り当てます。また、Reports Serverでは、リクエストされたレポートを生成するランタイム・エンジンを起動したり、生成されたレポートをReportsキャッシュから取り出したり、ジョブの準備が完了したことをクライアントに通知します。

rwserverとともに使用できるキーワードは、表A-1を参照してください。

Oracle Enterprise Managerを使用してReports Serverを管理するには、第6章「Oracle Enterprise ManagerによるOracle Reports Servicesの管理」を参照してください。

手動で構成する場合は、第7.2項「Reports Server構成ファイル」を参照してください。

A.2.7 rwbridge

rwbridge(Oracle Reports Bridge)はReports ServerとOracle Reports Clientが異なるファームにあるときに使用します。Oracle Reports Clientは、デフォルトのブロードキャスト・メカニズムを使用して、サーバーを検出します。このメカニズムではファーム内のみで転送できるパケットが送信されます。Oracle Reports Bridgeは、1つのネットワーク内の2つのファームをブリッジできます。これは、Reports ServerとOracle Reports Clientによってブロードキャストされたパケットを取得し、Oracle Reports Bridge構成ファイルで構成されたリモート・ブリッジに転送します。

rwbridgeには、コマンドライン・キーワードはありません。

Oracle Reports Bridgeを構成するには、第6.5項「Oracle Reportsコンポーネントの構成」を参照してください。

Oracle Reports Bridgeの起動や停止を行うには、第5章「Oracle Reports Servicesの起動と停止」を参照してください。

A.3 キーワードの使用方法のサマリー

表A-1では、すべてのOracle Reportsコマンドライン・キーワードをアルファベット順に要約したリストと、各キーワードを使用できるOracle Reportsコンポーネントを示しています。

キーワードの後ろにアスタリスク(*)が付いている場合は、Oracle9iAS Portalリリース1およびOracle WebDBリリース2.2に対する下位互換性を確保するためにそのキーワードが維持されていることを示します。

表A-1 キーワードの使用方法のサマリー

キーワード

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

rwbridge

ACCESSIBLE

はい

はい

はい

いいえ

はい

いいえ

いいえ

ARRAYSIZE

はい

はい

はい

いいえ

はい

いいえ

いいえ

AUTHID

はい

はい

いいえ

いいえ

はい

はい

いいえ

AUTOCOMMIT

はい

はい

はい

いいえ

はい

いいえ

いいえ

BACKGROUND

はい

いいえ

いいえ

いいえ

はい

いいえ

いいえ

BATCH

いいえ

いいえ

いいえ

はい

いいえ

はい

いいえ

BCC

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

BLANKPAGES

はい

はい

はい

いいえ

はい

いいえ

いいえ

BUFFERS

はい

はい

はい

いいえ

はい

いいえ

いいえ

CACHELOB

はい

はい

はい

いいえ

はい

いいえ

いいえ

CC

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

CELLWRAPPER

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

CMDFILE

はい

はい

はい

はい

いいえ

いいえ

いいえ

CMDKEY

いいえ

いいえ

いいえ

いいえ

はい

いいえ

いいえ

COLLATE

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

COMPILE_ALL

いいえ

いいえ

いいえ

はい

いいえ

いいえ

いいえ

CONTAINSHTMLTAGS

はい

はい

はい

いいえ

はい

いいえ

いいえ

CONTAINSOLE

はい

はい

はい

いいえ

はい

いいえ

いいえ

CONTENTAREA*

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

COPIES

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

CUSTOMIZE

はい

はい

いいえ

はい

はい

いいえ

いいえ

DATEFORMATMASK

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

DBPROXYCONN

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

DELAUTH

いいえ

いいえ

いいえ

いいえ

はい

いいえ

いいえ

DELIMITED_HDR

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

DELIMITER

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

DESFORMAT

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

DESNAME

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

DEST

いいえ

いいえ

いいえ

はい

いいえ

いいえ

いいえ

DESTINATION

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

DESTYPE

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

DISTRIBUTE

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

DTYPE

いいえ

いいえ

いいえ

はい

いいえ

いいえ

いいえ

DUNIT

いいえ

いいえ

いいえ

はい

いいえ

いいえ

いいえ

ENGINERESPONSETIMEOUT

はい

いいえ

いいえ

いいえ

はい

いいえ

いいえ

ENVID

はい

いいえ

いいえ

いいえ

はい

いいえ

いいえ

EXPIRATION

はい

いいえ

いいえ

いいえ

はい

いいえ

いいえ

EXPIREDAYS

いいえ

いいえ

いいえ

いいえ

はい

いいえ

いいえ

FORMSIZE

いいえ

いいえ

いいえ

はい

いいえ

いいえ

いいえ

FROM

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

GETJOBID

いいえ

いいえ

いいえ

いいえ

はい

いいえ

いいえ

GETSERVERINFO

いいえ

いいえ

いいえ

いいえ

はい

いいえ

いいえ

HELP

いいえ

いいえ

いいえ

いいえ

はい

いいえ

いいえ

ITEMTITLE

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

JOBNAME

はい

いいえ

いいえ

いいえ

はい

いいえ

いいえ

JOBRETRY

JOBTYPE

はい

いいえ

いいえ

いいえ

はい

いいえ

いいえ

JVMOPTIONS

いいえ

はい

はい

はい

いいえ

はい

いいえ

KILLENGINE

いいえ

いいえ

いいえ

いいえ

はい

いいえ

いいえ

KILLJOBID

いいえ

いいえ

いいえ

いいえ

はい

いいえ

いいえ

LONGCHUNK

はい

はい

はい

いいえ

はい

いいえ

いいえ

MIMETYPE

いいえ

いいえ

いいえ

いいえ

はい

いいえ

いいえ

MODE

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

MODULE|REPORT

はい

はい

はい

いいえ

はい

いいえ

いいえ

NAME

いいえ

いいえ

いいえ

いいえ

いいえ

いいえ

いいえ

NONBLOCKSQL

はい

はい

はい

いいえ

はい

いいえ

いいえ

NOTIFYFAILURE

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

NOTIFYSUCCESS

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

NUMBERFORMATMASK

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

ONFAILURE

はい

はい

はい

いいえ

はい

いいえ

いいえ

ONSUCCESS

はい

はい

はい

いいえ

はい

いいえ

いいえ

ORIENTATION

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

OUTPUTFOLDER*

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

OUTPUTGRAPHFORMAT

はい

はい

はい

いいえ

はい

いいえ

いいえ

OUTPUTIMAGEFORMAT

はい

はい

はい

いいえ

はい

いいえ

いいえ

OUTPUTPAGE

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

OVERWRITE

いいえ

いいえ

いいえ

はい

いいえ

いいえ

いいえ

P_AVAILABILITY

いいえ

いいえ

いいえ

はい

いいえ

いいえ

いいえ

P_DESCRIPTION

いいえ

いいえ

いいえ

はい

いいえ

いいえ

いいえ

P_FORMATS

いいえ

いいえ

いいえ

はい

いいえ

いいえ

いいえ

P_JDBCPDS

はい

はい

はい

いいえ

はい

いいえ

いいえ

P_NAME

いいえ

いいえ

いいえ

はい

いいえ

いいえ

いいえ

P_OWNER

いいえ

いいえ

いいえ

はい

いいえ

いいえ

いいえ

P_PFORMTEMPLATE

いいえ

いいえ

いいえ

はい

いいえ

いいえ

いいえ

P_PRINTERS

いいえ

いいえ

いいえ

はい

いいえ

いいえ

いいえ

P_PRIVILEGE

いいえ

いいえ

いいえ

はい

いいえ

いいえ

いいえ

P_SERVERS

いいえ

いいえ

いいえ

はい

いいえ

いいえ

いいえ

P_TRIGGER

いいえ

いいえ

いいえ

はい

いいえ

いいえ

いいえ

P_TYPES

いいえ

いいえ

いいえ

はい

いいえ

いいえ

いいえ

PAGEGROUP

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

PAGESIZE

はい

はい

はい

はい

はい

いいえ

いいえ

PAGESTREAM

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

PARAMETER

はい

はい

はい

はい

はい

はい

はい

PARAMFORM

いいえ

いいえ

いいえ

いいえ

はい

いいえ

いいえ

PARSEQUERY

いいえ

いいえ

いいえ

いいえ

はい

いいえ

いいえ

PDFCOMP

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

PDFEMBED

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

PDFOWNER

はい

はい

はい

いいえ

はい

いいえ

いいえ

PDFSECURITY

はい

はい

はい

いいえ

はい

いいえ

いいえ

PDFUSER

はい

はい

はい

いいえ

はい

いいえ

いいえ

PFACTION

はい

いいえ

はい

いいえ

いいえ

いいえ

いいえ

PRINTJOB

いいえ

いいえ

はい

いいえ

いいえ

いいえ

いいえ

READONLY

はい

はい

はい

いいえ

はい

いいえ

いいえ

RECURSIVE_LOAD

はい

はい

いいえ

はい

はい

いいえ

いいえ

REPLYTO

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

REPORT | MODULE

はい

はい

はい

いいえ

はい

いいえ

いいえ

ROLE

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

RUNDEBUG

はい

はい

はい

いいえ

はい

いいえ

いいえ

SAVE_RDF

いいえ

はい

はい

いいえ

いいえ

いいえ

いいえ

SCHEDULE

はい

いいえ

いいえ

いいえ

はい

いいえ

いいえ

SERVER

はい

いいえ

いいえ

いいえ

はい

はい

いいえ

SHOWAUTH

いいえ

いいえ

いいえ

いいえ

はい

いいえ

いいえ

SHOWENV

いいえ

いいえ

いいえ

いいえ

はい

いいえ

いいえ

SHOWJOBID

いいえ

いいえ

いいえ

いいえ

はい

いいえ

いいえ

SHOWJOBS

いいえ

いいえ

いいえ

いいえ

はい

いいえ

いいえ

SHOWMAP

いいえ

いいえ

いいえ

いいえ

はい

いいえ

いいえ

SHOWMYJOBS

いいえ

いいえ

いいえ

いいえ

はい

いいえ

いいえ

SHUTDOWN

いいえ

いいえ

いいえ

いいえ

いいえ

いいえ

いいえ

SITENAME*

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

SOURCE

いいえ

いいえ

いいえ

はい

いいえ

いいえ

いいえ

SQLTRACE

はい

はい

はい

いいえ

はい

いいえ

いいえ

SSOCONN

いいえ

いいえ

いいえ

いいえ

はい

いいえ

いいえ

STATUSFOLDER*

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

STATUSFORMAT

いいえ

いいえ

いいえ

いいえ

はい

いいえ

いいえ

STATUSPAGE

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

STYPE

いいえ

いいえ

いいえ

はい

いいえ

いいえ

いいえ

SUBJECT

はい

はい

いいえ

いいえ

はい

いいえ

いいえ

SUPPRESSLAYOUT

はい

はい

はい

いいえ

はい

いいえ

いいえ

TOLERANCE

はい

いいえ

いいえ

いいえ

はい

いいえ

いいえ

URLPARAMETER

はい

いいえ

いいえ

いいえ

はい

いいえ

いいえ

USEJVM

はい

いいえ

いいえ

いいえ

いいえ

いいえ

いいえ

USERID

はい

はい

はい

はい

はい

いいえ

いいえ

USERSTYLES

はい

はい

はい

いいえ

はい

いいえ

いいえ

VALIDATETAG

いいえ

いいえ

はい

いいえ

いいえ

いいえ

いいえ

WEBSERVER_DEBUG

いいえ

いいえ

はい

いいえ

いいえ

いいえ

いいえ

WEBSERVER_DOCROOT

いいえ

いいえ

はい

いいえ

いいえ

いいえ

いいえ

WEBSERVER_PORT

いいえ

いいえ

はい

いいえ

いいえ

いいえ

いいえ

A.4 コマンドライン・キーワード

ナビゲーションを容易にするために、アルファベット順に並べたキーワードのリストを次の項に分けています。

- コマンドライン・キーワード(ACCESSIBLEからDESTYPE)

- コマンドライン・キーワード(DISTRIBUTEからORIENTATION)

- コマンドライン・キーワード(OUTPUTFOLDERからROLE)

- コマンドライン・キーワード(RUNDEBUGからWEBSERVER_PORT)

A.5 コマンドライン・キーワード(ACCESSIBLEからDESTYPE)

この項では、Oracle Reportsで使用できる各コマンドライン・キーワードについて説明します。

A.5.1 ACCESSIBLE

表A-2では、ACCESSIBLEキーワードを使用できるコンポーネントを示します。

表A-2 ACCESSIBLEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

説明: ACCESSIBLEを使用してOracle Reportsのアクセシビリティ関連機能がPDF出力で有効化されるか(YES)または無効化されるか(NO)を指定します。

Oracle ReportsのPDFの詳細は、第10章「Oracle ReportsでのPDFの使用」を参照してください。

構文 ACCESSIBLE={YES|NO}

値

- YESの場合、アクセシビリティの機能がPDF出力で有効化されます。

- NOの場合、アクセシビリティの機能がPDF出力で無効化されます。

デフォルト: NO

A.5.2 ARRAYSIZE

表A-3では、ARRAYSIZEキーワードを使用できるコンポーネントを示します。

表A-3 ARRAYSIZEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

説明: ARRAYSIZEを使用して、Oracleの配列処理で使用するサイズ(KB)を指定します。通常、配列サイズが大きくなるに従って、レポートの実行速度も高まります。

構文: ARRAYSIZE=n

値

nには1から9999までの数字を使用します(位取りのカンマは使用しないでください)。Reports Runtimeでは、レポートでの問合せごとに、指定されたKB数のメモリーを使用できます。

デフォルト: 10

使用上の注意: ARRAYSIZEは、コマンドラインからJSPベースのWebレポートを実行する場合に使用できます。

A.5.3 AUTHID

表A-4では、AUTHIDキーワードを使用できるコンポーネントを示します。

表A-4 AUTHIDを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

rwbridge

はい

はい

いいえ

いいえ

はい

はい

はい

説明

- AUTHIDを使用して、制限付きのReports Serverのユーザーの認証に使用されるユーザー名とパスワードを指定します。ユーザー認証によって、レポート・リクエストを行っているユーザーがリクエストされたレポートを実行するアクセス権限を持っていることが保証されます。

- rwbridgeの場合、AUTHIDを使用して、Oracle Reports Bridgeを停止する権限の付与先となるユーザーの名前とパスワードを指定します。(Oracle Enterprise Managerを使用して)Oracle Reports Bridge構成でidentifier要素を管理者のユーザー名とパスワードに指定し、Oracle Reports Bridgeを保護できます。これにより、管理者のみがOracle Reports Bridgeを停止できるようになります。

構文: AUTHID=username/password

値

- username/passwordには、Oracle Portalで生成した有効なユーザー名とパスワードを指定します。Oracle Portalに新しいユーザー・アカウントを生成するには、データベース管理者に問い合せてください。

- rwbridgeの場合:
username/passwordは、Oracle Reports Bridge構成ファイル(rwbridge_bridgename.conf)のidentifier要素で指定されたユーザー名とパスワードです。

デフォルト なし

使用上のノート

- AUTHIDは、コマンドラインからJSPベースのWebレポートを実行する場合に使用できます。

- Single Sign-On環境では、Oracle Application Server Single Sign-Onサーバーが認証処理を実行し、AUTHIDのユーザー名のみをReports Serverに渡します。Single Sign-Onを使用することをお薦めします。

- Single Sign-On環境で認証サーバーとしてOracle Access Manager 11g (OAM)を使用している場合に、Reports URLでAUTHIDが渡されると、OAM認証ページが表示されます。

A.5.4 AUTOCOMMIT

表A-5では、AUTOCOMMITキーワードを使用できるコンポーネントを示します。

表A-5 AUTOCOMMITを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

説明: AUTOCOMMITを使用して、データベースへの変更(CREATEなど)をデータベースに自動的にコミットするかどうかを指定します。ある種の非Oracleデータベース(SQL Serverなど)では、AUTOCOMMIT=YESとする必要があります。

構文: AUTOCOMMIT={YES|NO}

値

- YESの場合、データ変更が自動的にデータベースにコミットされます。

- NOの場合、COMMITコマンドが実行されるか、データをコミットするPL/SQLコマンドが実行されるまで、データ変更はデータベースにコミットされません。

デフォルト: NO

使用上の注意: AUTOCOMMITは、URLからJSPベースのWebレポートを実行する場合に使用できます。

A.5.5 BACKGROUND

表A-6では、BACKGROUNDキーワードを使用できるコンポーネントを示します。

表A-6 BACKGROUNDを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

いいえ

いいえ

いいえ

はい

いいえ

説明: BACKGROUNDを使用して、サーバー上のレポートを同期で実行するか(NO)非同期で実行するか(YES)を指定できます。

ノート:

BACKGROUNDシステム・パラメータはOracle Reportsでは非推奨です。BACKGROUNDは、コマンドラインのみで使用します。

構文: BACKGROUND={YES|NO}

値

- YESの場合、レポートを非同期で実行します。クライアントがコールをサーバーに送信すると、レポート・ジョブが完了するのを待たずに他のプロセスを続行します。クライアント・プロセスが中止されると、そのジョブは取り消されます。

- NOの場合、レポートを同期で実行します。クライアントは、レポートがキューに入れられ、ランタイム・エンジンに割り当てられ、実行されてから完了するまで待ちます。

デフォルト: NO

使用上の注意: rwbuilderにBACKGROUND=YESを使用した場合、警告が出力され、キーワードは無視されます。

A.5.6 BATCH

表A-7では、BATCHキーワードを使用できるコンポーネントを示します。

表A-7 BATCHを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

はい

いいえ

はい

説明: BATCHは、サーバーを非UIモードで実行する場合に使用します。BATCH=YESを指定したコマンドラインから実行した場合、ユーザー・インタフェースは表示されません。たとえば、rwserverでこのオプションを使用すると、サーバーをスクリプトおよびリモート・エージェントから実行でき、実行中にサーバー・ダイアログは表示されません。

rwconverterでBATCH=YESを使用すると、レポートまたはライブラリの変換にユーザーが介入しないように、すべての端末入力および出力を抑止します。rwserverでBATCHを使用すると、サーバー・ダイアログ・ボックスがオフ(YES)またはオン(NO)になり、プロセスのメッセージが表示または非表示になります。

構文: BATCH={YES|NO}

値

- YESの場合、すべての端末入力および出力を非表示にします(レポートはバックグラウンドで実行されます)。これは、rwrunの場合、デフォルトです。

- NOの場合、特殊な端末入力および出力を許可します。rwconverterの場合、「変換」ダイアログ・ボックスが表示され、そのダイアログ・ボックスを受け入れると、変換が実行されます。

デフォルト: NO

使用上のノート

- BATCH=YESの場合、エラー・メッセージはSYSOUTに送信されます。SYSOUTの詳細は、DESTYPEを参照してください。

- BATCH=YESの場合、PARAMFORM=YESは無効になります。これは、ランタイム・パラメータ・フォームをバッチ・モードで表示する意味がないためです。

A.5.7 BCC

表A-8では、BCCキーワードを使用できるコンポーネントを示します。

表A-8 BCCを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: BCCを使用して、電子メールのブラインド・コーテシー・コピー(指定された受信者名が他の受信者に見えない(公開されない)宛先)を指定します。

ノート:

ブラインド・コピーでは、指定された受信者名が他の受信者に見えません(公開されません)。

構文: BCC="emailid" | ("emailid","emailid",...)

値

emailidには、someone@foo.com.形式の有効な電子メール・アドレスを指定します

デフォルト なし

使用上のノート

- 各アドレスを引用符(" ")で囲みます。複数の電子メール・アドレスを指定するには、各アドレスをカンマで区切ります。

- 関連するキーワードは、CC、FROM、REPLYTOおよびSUBJECTです。電子メールの主な宛先を指定するには、DESNAMEを使用します。

- BCCは、コマンドラインからJSPベースのWebレポートを実行する場合に使用できます。

A.5.8 BLANKPAGES

表A-9では、BLANKPAGESキーワードを使用できるコンポーネントを示します。

表A-9 BLANKPAGESを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

説明: BLANKPAGESを使用して、レポートの印刷時に空白ページの印刷をするかどうか指定します。このキーワードは、レポート出力に印刷したくない空白ページがある場合に使用します。

構文: BLANKPAGES={YES|NO}

値

- YESの場合、すべての空白ページを印刷します。

- NOの場合、空白ページを印刷しません。

デフォルト: YES

使用上の注意: BLANKPAGESは、論理ページが複数の物理ページ(またはパネル)にわたっていて、すべての空白の物理ページの印刷をしないときに特に便利です。

A.5.9 BUFFERS

表A-10では、BUFFERSキーワードを使用できるコンポーネントを示します。

表A-10 BUFFERSを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

説明: BUFFERSを使用して、仮想メモリー・キャッシュのサイズをKBで指定します。レポートの実行に十分な領域を確保する一方で、システムのリソースを使い過ぎないように調整する必要があります。

構文: BUFFERS=n

値

nには1から9999までの数字を使用します(位取りのカンマや小数点などは使用しないでください)。オペレーティング・システムによっては、上限がこれより低い場合もあります。

デフォルト: 640

使用上のノート

- この設定がセッションの途中で変更されても、変更は次のレポートが実行されるまで有効になりません。

- BUFFERSは、コマンドラインからJSPベースのWebレポートを実行する場合に使用できます。

A.5.10 CACHELOB

表A-11では、CACHELOBキーワードを使用できるコンポーネントを示します。

表A-11 CACHELOBキーワードを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

説明: CACHELOBを使用して、取り出したORACLEラージ・オブジェクトをReports Serverの一時ファイル・ディレクトリにキャッシュするかどうかを指定します。一時ファイル・ディレクトリは、REPORTS_TMP環境変数、またはtempDirプロパティ(Reports Server構成ファイルrwserver.confのengine要素のプロパティ)で指定されます。tempDir設定はREPORTS_TMP設定をオーバーライドします。

構文: CACHELOB={YES|NO}

値

- YESの場合、LOBを一時ファイル・ディレクトリにキャッシュします。

- NOの場合、LOBを一時ファイル・ディレクトリにキャッシュしません。

デフォルト: YES

使用上のノート

- このオプションは、コマンドラインでのみ設定できます。

- サーバー上の一時ファイル・ディレクトリの場所に、使用可能なディスク領域が十分にない場合は、この値をNOに設定することをお薦めします。ただし、この値をNOに設定すると、LOBをデータベースから複数回フェッチする必要がある場合があり、それによってパフォーマンスが低下することがあります。

- CACHELOBは、コマンドラインからJSPベースのWebレポートを実行する場合に使用できます。

A.5.11 CC

表A-12では、CCキーワードを使用できるコンポーネントを示します。

表A-12 CCを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: CCを使用して、電子メールのCC宛先を指定します。

構文: CC="emailid" | ("emailid","emailid",...)

値

emailidには、someone@foo.com形式の有効な電子メール・アドレスを指定します。

デフォルト なし

使用上のノート

- 各アドレスを引用符(" ")で囲みます。複数の電子メール・アドレスを指定するには、各アドレスをカンマで区切ります。

- 関連するキーワードは、BCC、FROM、REPLYTOおよびSUBJECTです。電子メールの主な宛先を指定するには、DESNAMEを使用します。

A.5.12 CELLWRAPPER

表A-13では、CELLWRAPPERキーワードを使用できるコンポーネントを示します。

表A-13 CELLWRAPPERを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: CELLWRAPPERを使用して、レポート出力のデリミタ付きセルの前後に表示される文字を指定します。

構文: CELLWRAPPER=value

値

valueには、任意の英数字または英数字の文字列を使用します。

表A-14 一般的な有効値

値

説明

"

セルの両側に二重引用符が表示されます。

'

セルの両側に一重引用符が表示されます。

表A-15 予約済の有効値

値

説明

tab

セルの両側にタブが配置されます。

space

セルの両側にシングル・スペースが配置されます。

return

セルの両側に改行が配置されます。

none

セルの囲み文字は使用されません。

表A-16 ASCII文字セットに基づくエスケープ・シーケンスの有効値

値

説明

\t

セルの両側にタブが配置されます。

\n

セルの両側に改行が配置されます。

デフォルト なし

使用上のノート

- このキーワードを使用できるのは、DESFORMAT=DELIMITEDまたはDESFORMAT=DELIMITEDDATAと指定しているときのみです。

- セルの囲み文字は実際のデリミタとは異なります。セルの囲み文字は、デリミタ付きデータの周囲に表示される文字を指定します。デリミタは、2つのデータ間の境界または区切り位置を示します。

A.5.13 CMDFILE

表A-17では、CMDFILEキーワードを使用できるコンポーネントを示します。

表A-17 CMDFILEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

はい

いいえ

いいえ

説明: CMDFILEを使用して、レポートのコマンドライン・オプションを格納するファイルをコールします。コールするファイルは、.txtまたはその他のASCII形式ファイルである必要があります。

CMDFILEとcgicmd.datキー・マップ・ファイル(詳細は第17.13項「キー・マップ・ファイルの使用」を参照)との違いは、CMDFILEには1つのレポートに対してコマンドラインを1つ指定できるのに対し、cgicmd.datファイルには、複数のレポートに対して、キーによって識別されるコマンドを複数格納できる点です。また、CMDFILEキーワードは、コマンドラインで他の引数とともに使用できますが、cgicmd.datに関連したキー引数を使用する場合、コマンドラインで使用するのはその引数のみです。

CMDFILEキーワードを使用すると、実行コマンドを呼び出すたびに多くのオプションを指定しなくても、レポートを実行できます。

構文: CMDFILE=filename

値

filenameには、任意の有効なコマンド・ファイル名を指定します。

デフォルト なし

使用上のノート

- rwservletでは、CMDFILEキーワードを使用するのではなく、cgicmd.datファイルのキーを参照するCMDKEYキーワードを使用します。

- コマンド・ファイルは、別のコマンド・ファイルを参照できます。

- コマンド・ファイルで指定するコマンドライン構文は、コマンドラインで使用される構文と同じです。

- コマンドラインに入力した値は、コマンド・ファイルで指定した値をオーバーライドします。たとえば、コマンドラインからrwclientをCOPIES=1およびCMDFILE=RUNONE(コマンド・ファイル)として指定するとします。一方RUNONEファイルにはCOPIESの値として2が指定されています。この場合、コマンドラインで指定したCOPIESの値(1)は、RUNONEファイルで指定したCOPIESの値(2)よりも優先されます。この場合、生成されるレポートのコピーは1つのみです。

- このキーワードの値は、オペレーティング・システムによって異なります。

A.5.14 CMDKEY

表A-18では、CMDKEYキーワードを使用できるコンポーネントを示します。

表A-18 CMDKEYを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

いいえ

はい

いいえ

説明: CMDKEYを使用して、cgicmd.datキー・マップ・ファイル(詳細は、第17.13項「キー・マップ・ファイルの使用」を参照)内のキー識別コマンドラインをコールします。例:

構文: CMDKEY=key

値

keyには、cgicmd.datファイルで指定されたコマンドラインに関連付けられたキーの名前を指定します。

デフォルト なし

使用上のノート

- CMDKEYをrwservletで使用する際、コマンドラインでは順不同で使用できます(URLの場合は、疑問符の後に使用します)。rwservletには、CMDKEYとともに他のコマンドライン・キーワードも使用できます。

- CMDKEYは、コマンドラインからJSPベースのWebレポートを実行する場合に使用できます。

例

http://your_webserver/reports/rwservlet?cmdkey=key& ...

A.5.15 COLLATE

表A-19では、COLLATEキーワードを使用できるコンポーネントを示します。

表A-19 COLLATEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: COLLATEを使用して、レポートをプリンタに出力するときに部単位で印刷する動作を制御します。

構文: COLLATE={YES|NO}

値

- YESの場合、プリンタへの出力時に部単位で印刷されます。

- NOの場合、プリンタへの出力時に部単位で印刷されません。

デフォルト: YES

例

3ページの文書を3部印刷する場合、COLLATEをYESに設定すると、次のように出力されます。

1 2 3|1 2 3| 1 2 3

文書はこのページ番号の順序で印刷されます。この動作は、「印刷」ダイアログ・ボックスの「部単位で印刷」チェック・ボックスを選択した場合と同じ動作です。

3ページの文書を3部印刷する場合に、COLLATEをNOに設定すると、次のように出力されます。

1 1 1| 2 2 2| 3 3 3

A.5.16 COMPILE_ALL

表A-20では、COMPILE_ALLキーワードを使用できるコンポーネントを示します。

表A-20 COMPILE_ALLを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

はい

いいえ

いいえ

説明: COMPILE_ALLを使用して、rwconverterによって変換されたレポート内のすべてのプログラム・ユニットを強制的にコンパイルします。ただし、次の場合を除きます。

- 宛先タイプ(DTYPE)がREXFILE、XMLFILEまたはJSPFILEの場合、プログラム・ユニットはrwconverterによってコンパイルされません。Oracle Reports BuilderまたはReports ServerでREX、XMLまたはJSPのレポート定義を開くと、自動的にOracle Reportsによってコンパイルされます。

構文 COMPILE_ALL={YES|NO}

値

- YESの場合、DTYPEがREXFILE、XMLFILEまたはJSPFILEの場合を除いて、すべてのプログラム・ユニットがコンパイルされます。

- NOの場合、未コンパイルのプログラム・ユニットのみコンパイルされます。

デフォルト: NO

使用上の注意: デフォルトでは、rwconverterによる変換操作の際に未コンパイルのプログラム・ユニットがすべてコンパイルされます。COMPILE_ALL=YESの場合、レポート内のすべてのプログラム・ユニット(コンパイル済のプログラム・ユニットも含む)が強制的にrwconverterによってコンパイルされます。レポートを別のクライアント・マシンに移動すると、このように指定することで、すべてのプログラム・ユニットが確実に再コンパイルされるので、潜在的な非互換が予防されます。

A.5.17 CONTAINSHTMLTAGS

表A-23では、CONTAINSHTMLTAGSキーワードを使用できるコンポーネントを示します。

表A-21 CONTAINSHTMLTAGSを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

説明 オブジェクトの「HTMLタグを含む」プロパティを「はい」に設定すると、HTMLフォーマット・タグの定義済セットを使用して、テキスト・スタイル(太字、イタリック、下線および取消し線)とテキスト属性(フォント名、フォントの色およびフォント・サイズ)をフォーマットし、Oracle Reportsでサポートされているすべてのビットマップ出力フォーマットで、フォーマット済テキスト・オブジェクトを生成できます。

CONTAINSHTMLTAGSを使用して、サポートされているすべての出力フォーマットで、HTMLフォーマット・タグがOracle Reportsで解釈されるかどうかを指定します。

構文 CONTAINSHTMLTAGS=YES|NO

値

- YESの場合、Oracle Reportsでは、「HTMLタグを含む」プロパティが「はい」に設定されているすべてのオブジェクトで、HTMLフォーマット・タグが解釈されます。

- NOの場合、Oracle Reportsでは、オブジェクトの「HTMLタグを含む」プロパティの設定に関係なく、そのレポートに対してHTMLタグは解釈されません。出力がHTMLおよびHTMLCSSの場合は、ブラウザによってHTMLフォーマット・タグが解釈されます。それ以外の出力フォーマットの場合は、HTMLタグ自体がそのままの形でレポート出力に表示されます。

デフォルト: YES

使用上のノート

- サポートされている出力フォーマットは、PDF、RTF、HTML、HTMLCSS、スプレッドシートおよびPostScriptです。

- HTMLタグの解釈は、Oracle Reportsとブラウザで異なる場合があります。したがって、Oracle Reports 10gリリース2 (10.1.2)より前のリリースでHTMLタグを使用して設計されたレポートは、それ以降のリリース(Oracle ReportsによってHTMLフォーマット・タグが解釈されていたリリース)では異なるHTMLやHTMLCSS出力が生成されることがあります。Oracle ReportsでHTMLフォーマット・タグが解釈されないようにして、以前のリリースの動作を維持する場合、REPORTS_CONTAINSHTMLTAGS環境変数をNOに設定します。

- REPORTS_CONTAINSHTMLTAGS環境変数をNOに設定した場合でも、選択したレポートに対してコマンドラインでCONTAINSHTMLTAGS=YESを指定して、サポートされているすべての出力フォーマットに対してOracle ReportsがHTMLフォーマット・タグを解釈するようにもできます。つまり、このコマンドライン・キーワードで指定する値は、REPORTS_CONTAINSHTMLTAGS環境変数よりも優先されます。

A.5.18 CONTAINSOLE

ノート:

Oracle Reportsでは、OLEのサポートは廃止されました(OLEは、Webベースの環境では適用できないクライアント/サーバー機能)。かわりに、MIMEタイプを、関連付けられたプラグインとハイパーリンクとともに使用します。

表A-23では、CONTAINSOLEキーワードを使用できるコンポーネントを示します。

表A-22 CONTAINSOLEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

説明: 下位互換性のために、CONTAINSOLEを使用して、レポートのプログラム・ユニットまたは連結ライブラリにOLE (Object Linking and Embedding)コールが含まれているかどうかを指定します。CONTAINSOLE=YESの場合、OLEシステムはレポート実行開始時に初期化され、レポート実行終了時に終了します。

構文 CONTAINSOLE=YES|NO

値

- YESの場合、レポートのプログラム・ユニットまたは連結ライブラリにOLEコールが含まれています。

- NOの場合、レポートのプログラム・ユニットまたは連結ライブラリにOLEコールは含まれていません。

デフォルト: NO

A.5.19 CONTENTAREA

表A-23では、CONTENTAREAキーワードを使用できるコンポーネントを示します。

表A-23 CONTENTAREAを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: CONTENTAREAを使用して、レポート出力の配信先となるOracle9iAS Portalリリース1のコンテンツ領域を指定します。このキーワードは、Oracle9iAS Portalリリース1に対する下位互換性を確保するために維持されています。Oracle WebDBリリース2.2に対する下位互換性の詳細は、「SITENAME」を参照してください。Oracle Portal 10g リリース1 (9.0.4)以降では、PAGEGROUPを使用してください。

構文: CONTENTAREA=name

値

nameには、有効なOracle9iAS Portalリリース1対応コンテンツ領域の名前(内部名)を指定します。

デフォルト なし

使用上のノート

- Oracle Reportsの出力をOracle9iAS Portalリリース1に送信するには、このキーワードの使用が必須です。

- CONTENTAREAの名前には、表示名ではなく内部名を指定する必要があります。内部名を使用すると、Oracle9iAS Portalリリース1のコンポーネント・インスタンスが一意に識別されます。

- 関連するキーワードは、CONTENTAREA*、EXPIREDAYS、ITEMTITLE、OUTPUTFOLDER*、OUTPUTPAGE、PAGEGROUP、SITENAME*、STATUSFOLDER*、STATUSPAGEです。
* Oracle9iAS Portalリリース1およびOracle WebDBリリース2.2に対する下位互換性を確保するために維持されています。

A.5.20 COPIES

表A-24では、COPIESキーワードを使用できるコンポーネントを示します。

表A-24 COPIESを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: COPIESを使用して、印刷するレポート出力の部数を指定します。

構文: COPIES=n

値

nには、1から9999までの整数を使用します(位取りのカンマや小数点などは使用しないでください)。

デフォルト: COPIESパラメータの初期値プロパティから取得します(初期値は、設計時にOracle Reports Builderで定義)。

使用上のノート

- DESTYPEがPRINTERでない場合、このキーワードは無視されます。

- ランタイム・パラメータ・フォーム上でCOPIESが空白のままになっている場合は、デフォルトの1が使用されます。

A.5.21 CUSTOMIZE

表A-25では、CUSTOMIZEキーワードを使用できるコンポーネントを示します。

表A-25 CUSTOMIZEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

はい

はい

いいえ

説明: CUSTOMIZEを使用して、現在のレポートに対して実行するOracle Reports XMLファイルを指定します。XMLファイルには、レポート定義をなんらかの形で変更する、カスタマイズされた設定(レイアウトやデータ・モデルの変更など)が入っています。

構文: CUSTOMIZE=filename.xml | (filename1.xml, filename2.xml,...)

値

filenamen.xmlには、有効なXMLレポート定義を含むファイル名またはファイル名のリストを指定します。必要に応じて、ファイル名の前にパス情報を付加します (REPORTS_PATHレジストリまたはengine要素のSourceDirプロパティで指定されているパスにファイルが置かれていない場合は、パスを付加する必要があります)。

ノート:

XMLカスタマイズ・ファイルを使用してレポートを実行時にカスタマイズする方法の詳細は、第21章「XMLによるレポートのカスタマイズ」を参照してください。

デフォルト なし

使用上のノート

- 通常、XMLレポート定義のファイル拡張子には.xmlを付けますが、CUSTOMIZEキーワードを使用するときは、その拡張子を付ける必要はありません。

- CUSTOMIZEは、コマンドラインからJSPベースのWebレポートを実行する場合に使用できます。

- Microsoft Internet Explorerでは、URLの戻りストリームのMIMEタイプが無視され、URLを参照しMIMEタイプが設定される場合があります。このため、URLでCUSTOMIZEを最後のキーワードとして指定した場合に問題が発生することがあります。
...REPORT=emp.rdf CUSTOMIZE=c:\myreports\emp.xml

この場合、URLが拡張子.xmlで終わるため、Internet Explorerでは、URLの戻りストリームが実際はHTMLであったとしても、XMLとして処理されます。結果として、ブラウザ・エラーが発生します。この問題を回避するには、URLの最後に一般的なファイル拡張子を使用しないようにします。前述の例では、URLでREPORTパラメータとCUSTOMIZEパラメータの位置を入れ替えることができます。

A.5.22 DATEFORMATMASK

表A-26では、DATEFORMATMASKキーワードを使用できるコンポーネントを示します。

表A-26 DATEFORMATMASKを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: DATEFORMATMASKを使用して、日付の値がデリミタ付きのレポート出力でどのように表示されるかを指定します。

構文: DATEFORMATMASK=mask

値

maskには、任意の日付書式マスクを指定します。

デフォルト なし

使用上のノート

- このキーワードを使用できるのは、DESFORMAT=DELIMITEDまたはDESFORMAT=DELIMITEDDATAと指定しているときのみです。

ノート:

有効なDATEFORMATMASK値については、Oracle Reportsのオンライン・ヘルプの日付および時間書式マスク構文に関するトピックを参照してください。

- DATEFORMATMASKは、コマンドラインからJSPベースのWebレポートを実行する場合に使用できます。

A.5.23 DBPROXYCONN

表A-26では、DBPROXYCONNキーワードを使用できるコンポーネントを示します。

表A-27 DBPROXYCONNを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: DBPROXYCONNを使用して、Oracle Internet Directoryからプロキシのユーザー名、パスワードおよびデータベース情報を取得するために使用するキーを指定します。このキーは、デフォルトのリソース・アクセス情報を指定するときにOracle Internet Directoryで作成されます。

構文: dbproxyconn=key

値

KEYには、ユーザーRADまたはデフォルトRADのOracle Internet Directoryで構成されているリソース名を指定します。

デフォルト なし

使用上のノート

dbproxy接続キーをサーバー構成ファイルに追加できます。

A.5.24 DELAUTH

表A-28では、DELAUTHキーワードを使用できるコンポーネントを示します。

表A-28 DELAUTHを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

いいえ

はい

いいえ

説明: DELAUTHを使用して、rwservletのユーザーID Cookieを削除します。

構文 http://your_webserver/reports/rwservlet/delauth[?]
[server=server_name][&authid=username/password]

値 構文を参照してください。

デフォルト なし

使用上のノート

- このキーワードは値を必要としないコマンドです。つまり、対応する値を持たず、コマンドだけが入力されます。

- 関連するキーワードは、SERVERおよびAUTHIDです。

A.5.25 DELIMITED_HDR

表A-29では、DELIMITED_HDRキーワードを使用できるコンポーネントを示します。

表A-29 DELIMITED_HDRを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: DELIMITED_HDRを使用して、DESFORMAT=DELIMITEDまたはDESFORMAT=DELIMITEDDATAによるレポート実行の際に、レポート・ヘッダーなどのボイラープレート・テキストをオフにします。

構文 DELIMITED_HDR={YES|NO}

値

- YESの場合、デリミタ付き出力ファイルのボイラープレート・テキストをそのまま残します。

- NOの場合、デリミタ付き出力ファイルのボイラープレート・テキストをすべてオフにします。

デフォルト: YES

使用上の注意 このキーワードを使用できるのは、DESFORMAT=DELIMITEDまたはDESFORMAT=DELIMITEDDATAと指定しているときのみです。

A.5.26 DELIMITER

表A-30では、DELIMITERキーワードを使用できるコンポーネントを示します。

表A-30 DELIMITERを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: DELIMITERを使用して、レポート出力のセルを区切るために使用する文字を指定します。

構文: DELIMITER=value

値

valueには、次のような任意の英数字または英数字の文字列を使用します。

表A-31 一般的な有効値

値

説明

,

各セルをカンマで区切ります。

.

各セルをピリオドで区切ります。

予約値には次のようなものがあります。

表A-32 予約済の有効値

値

説明

tab

各セルをタブで区切ります。

space

各セルをスペースで区切ります。

return

各セルを改行で区切ります。

none

デリミタを使用しません。

表A-33 ASCII文字セットに基づくエスケープ・シーケンスの有効値

値

説明

\t

各セルをタブで区切ります。

\n

各セルを改行で区切ります。

デフォルト タブ

使用上の注意 このキーワードを使用できるのは、DESFORMAT=DELIMITEDまたはDESFORMAT=DELIMITEDDATAと指定しているときのみです。

A.5.27 DESFORMAT

表A-34では、DESFORMATキーワードを使用できるコンポーネントを示します。

表A-34 DESFORMATを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: DESFORMATを使用して、DESTYPE=FILEおよびDESNAME=filenameが指定されている場合にレポートのフォーマットに使用するレポートの出力フォーマットまたはプリンタ定義を指定します。

構文: DESFORMAT=desformat

値 長さが1Kを超えない任意の有効な宛先フォーマットです。このキーワードの有効値の例は、表A-35を参照してください。

表A-35 DESFORMATの有効値

値

説明

DFLT

レポート出力は、デフォルトのプリンタ・ドライバを使用してレポートをフォーマットするファイルに送信されます(たとえば、PostScriptドライバはPostScript出力フォーマットを生成します)。

DELIMITED

このレポート出力は、標準のスプレッドシート・ユーティリティ(Microsoft Excelなど)で読み取ることのできるファイルに出力されます。DELIMITERキーワードを使用して、デリミタを指定していない場合、デフォルトのデリミタとしてタブが使用されます。「使用上の注意」を参照してください。

DELIMITEDDATA

DELIMITEDと同様の機能ですが、DESFORMAT=DELIMITEDを指定して大量のレポートを実行すると問題が発生する場合に使用します。「使用上の注意」を参照してください。

HTML

このレポート出力は、HTMLフォーマットのファイルに出力されます。「使用上のノート」を参照してください。

HTMLCSS

このレポート出力は、スタイル・シート拡張を含むファイルに出力されます。「使用上のノート」を参照してください。

PDF

このレポート出力は、PDF形式のファイルに出力され、Adobe AcrobatなどのPDFビューアで読み取ることができます。PDF出力は、現在システムに構成されているプリンタに基づきます。プリンタへの出力には、現在選択されているプリンタのドライバが使用されるため、レポートを実行しているマシンにプリンタを構成している必要があります。

printer definition

DESTYPE=FILEおよびDESNAME=filenameでレポートをフォーマットする際に使用するプリンタ定義。

MODE=BITMAPの場合、これはプリンタ名です。DFLTの値は、デフォルトのプリンタ・ドライバを使用することを意味します。

MODE=CHARACTERの場合、これはプリンタ定義ファイル(.prtファイル)の名前です。たとえば、hpl、hplwide、dec、decwide、decland、dec180、dflt、wideなどがあります。有効なプリンタ定義のリストは、システム管理者におたずねください。

RTF

このレポート出力は、ワード・プロセッサ(Microsoft Wordなど)で読み取ることのできるファイルに送信されます。Microsoft Wordでファイルを開き、レポート内のすべての図形およびオブジェクトを表示するには、「表示」→「ページ レイアウト」を選択する必要があります。「使用上のノート」を参照してください。

SPREADSHEET

(コマンドラインのみ)レポート出力はHTMLファイルに送信され、それはMicrosoft Excel 2000で直接開くことができます。スプレッドシート出力は、どのフォーマット(.rdf、.jsp、.xml)で保存されたレポートのペーパー・レイアウトからでも生成できます。「使用上の注意」を参照してください。

ENHANCEDSPREADSHEET

(コマンドラインのみ)Oracle Reports 11gリリース2 (11.1.2)で導入されたレポート出力であり、Microsoft Excelなどのスプレッドシート・アプリケーションと互換性があるHTMLファイルに送信されます。また、SPREADSHEET出力フォーマットが強化され、レポートを一括処理してスプレッドシート・フォーマットで配布したり、大きなデータセット(最大75,000行)をスプレッドシートに生成できます。スプレッドシート出力は、どのフォーマット(.rdf、.jsp、.xml)で保存されたレポートのペーパー・レイアウトからでも生成できます。「使用上の注意」を参照してください。

XML

このレポート出力は、XMLファイルとして保存されます。このレポートは、XMLをサポートしているブラウザ、あるいは任意のXML表示アプリケーションでオープンしたり読み取ることができます。

デフォルト: DESFORMATシステム・パラメータの初期値プロパティ(Oracle Reports Builderで設計時に定義)から取得します。Oracle Reports Builderでレポートを実行するときにDESFORMATが空白またはDFLTである場合、現行のプリンタ・ドライバ(「ファイル」→「プリンタ」で指定)が使用されます。プリンタ名が選択されていないと、デフォルトでPostScript出力フォーマットが使用されます。

使用上のノート

- このキーワードの値は、使用しているオペレーティング・システムによっては、大文字と小文字の区別が必要な場合があります。

- DESFORMAT=HTMLまたはDESFORMAT=HTMLCSSの場合、スペースは&nbsp;に置き換えられます。このデフォルト動作によって、右揃えの数値における整列の問題が解消されます。HTMLおよびHTMLCSS出力でスペースが&nbsp;に置換されないようにするには、REPORTS_NO_HTML_SPACE_REPLACEをYESに設定する必要があります。これにより、HTMLおよびHTMLCSS出力のDELIMITERコマンドライン・キーワードの機能が削除されます(DESFORMAT=DELIMITEDの場合、DELIMITERは引き続き有効です)。

- DESFORMAT=DELIMITEDは、DSTファイル(レポートを配布するためにコマンドラインのDESTINATIONキーワードで指定)ではサポートされません。その場合、Oracle Reportsでは、次のエラーが表示されます。
REP-34305: destid= 'DEST1'のキーワードの設定が無効です。

ノート:

DSTファイルがサポートされているのは、下位互換性を確保するためです。レポートを配布するには、第19章「拡張配布の作成」の説明に従ってReports Builderの「配布」ダイアログ・ボックスまたはXMLを使用することをお薦めします。

DELIMITED機能では、DELIMITER、CELLWRAPPER、NUMBERFORMATMASKおよびDATEFORMATMASKのコマンドライン・キーワードも使用できます。

- DESFORMAT=DELIMITEDDATAの場合、DelimitedDataドライバはレポート・データ・モデルで実行されず、XMLドライバとほぼ同じ動作をします。ドライバがデータ・モデルで実行されないため、レイアウトで定義されたフォーマットはDelimitedData出力に反映されません。
次の列プロパティを設定して列名を変更し、列をDelimitedData出力ファイルから除外できます。

- 「XMLタグ」プロパティを使用して列の別名を入力できます。

- 「XML出力から除外」プロパティを使用して列をDelimitedData出力から除外できます。

DELIMITEDDATA機能では、DELIMITEDと同様に、DELIMITER、CELLWRAPPER、NUMBERFORMATMASKおよびDATEFORMATMASKのコマンドライン・キーワードも使用できます。

デリミタ付き出力の詳細は、Oracle Reportsのオンライン・ヘルプのデリミタ付き出力に関する項(およびOracle Reportsレポートの作成マニュアルの高度なコンセプトの章)を参照してください。

- DESFORMAT=SPREADSHEETの場合、レポート出力では、色、フォント、条件付き書式、グラフ、イメージなどのリッチ・レイアウト・フォーマットが保持されます。DESFORMAT=SPREADSHEETで実行されるレポートで様々なレポート・オブジェクトが生成される方法の詳細は、Oracle Reportsのオンライン・ヘルプのスプレッドシート出力に関する項(およびOracle Reportsレポートの作成マニュアルの高度なコンセプトの章)を参照してください。

- Oracle Reportsで生成されたRTF出力を日本語版Microsoft Word 95で開くと、ダッシュが正しく表示されないなどの出力問題が発生する場合があります。この問題はMicrosoft Word 95固有の問題であり、日本語版Microsoft Word 97では発生しません。

A.5.28 DESNAME

表A-36では、DESNAMEキーワードを使用できるコンポーネントを示します。

表A-36 DESNAMEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: DESNAMEを使用して、レポート出力の送信先のキャッシュ、ファイル、プリンタ、WebDAVサーバーまたは電子メールID(または配布リスト)を指定します。

構文: DESNAME=desname

値

desnameには、1KBを超えない長さの任意の有効なキャッシュ宛先、ファイル名、プリンタ名、電子メールIDまたはWebDAVサーバーを指定します。プリンタ名には、オプションでポートを指定できます。例:

DESNAME=printer,LPT1:DESNAME=printer,FILE:

デフォルト: DESNAMEパラメータの初期値プロパティから取得します(初期値はOracle Reports Builderで設計時に定義)。DESTYPE=FILEで、かつDESNAMEが空の文字列である場合は、実行時にデフォルトでreportname.lisになります。

使用上のノート

- このキーワードの値は、使用しているオペレーティング・システムによっては、大文字と小文字の区別が必要な場合があります。

- レポート出力を電子メールで送信するには、電子メールIDを通常の電子メール・アプリケーション(任意のSMTP互換アプリケーション)の場合と同様に指定します。複数のユーザー名を指定する際は、スペースを入れずにカンマで区切ります。例:
tsmith@companya.com,gjones@companyb.com,mroberts@companyc.com

- 場合によっては、このキーワードがオペレーティング・システムによって無効にされることもあります。

例

例1: レポート出力をファイルに送信

rwrun report=test.rdf userid=scott/tiger@mydb desformat=pdf destype=file
desname=c:\mydir\test.pdf

http://myias.mycomp.com:7779/reports/rwservlet?server=myrepserv+report=test.rdf+
userid=scott/tiger@mydb+desformat=pdf+destype=file+desname=c:\mydir\test.pdf

rwclient server=myrepserv report=test.rdf userid=scott/tiger@mydb desformat=pdf
destype=file desname=c:\mydir\test.

例2: レポート出力をプリンタに送信

rwrun report=test.rdf userid=scott/tiger@mydb destype=printer
desname=myprinter

http://myias.mycomp.com:7779/reports/rwservlet?server=myrepserv+report=test.rdf+
userid=scott/tiger@mydb+destype=printer+desname=myprinter

rwclient server=myrepserv report=test.rdf userid=scott/tiger@mydb destype=printer desname=myprinter

例3: レポート出力を電子メールで送信

rwrun report=test.rdf userid=scott/tiger@mydb desformat=pdf destype=mail
desname="emp1@comp.com, emp2@comp.com" cc="emp3@comp.com" bcc="mgr@comp.com"
replyto="me@comp.com" from="me@comp.com"

http://myias.mycomp.com:7779/reports/rwservlet?server=myrepserv+report=test.rdf+
userid=scott/tiger@mydb+desformat=pdf+destype=mail+desname="emp1@comp.com, emp2@comp.com"+cc="emp3@comp.com"+bcc="mgr@comp.com"+
replyto="me@comp.com"+from="me@comp.com"

rwclient server=myrepserv report=test.rdf userid=scott/tiger@mydb desformat=pdf
destype=mail desname="emp1@comp.com, emp2@comp.com" cc="emp3@comp.com"
bcc="mgr@comp.com" replyto="me@comp.com" from="me@comp.com"

例4: レポート出力をWebDAV(いずれかのWebDAVサーバーまたはOracle Portal WebDAV)に送信

ノート:

現在、Reports Builder環境からのFTPおよびWebDAV宛先へのサポートはありません。ただし、Reports RuntimeおよびReports Server環境からはサポートされています。

rwrun report=test.rdf userid=scott/tiger@mydb desformat=htmlcss destype=webdav
desname="http://myusername:mypassword@mywebdavserv.com/mydir/test.html"

http://myias.mycomp.com:7779/reports/rwservlet?server=myrepserv+report=test.rdf+
userid=scott/tiger@mydb+desformat=htmlcss+destype=webdav+
desname="http://myusername:mypassword@mywebdavserv.com/mydir/test.html"

rwclient server=myrepserv report=test.rdf userid=scott/tiger@mydbdesformat=htmlcss
destype=webdav
desname="http://myusername:mypassword@mywebdavserv.com/mydir/test.htm"

A.5.29 DEST

表A-37では、DESTキーワードを使用できるコンポーネントを示します。

表A-37 DESTを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

はい

いいえ

いいえ

説明: DESTを使用して、変換後のレポートまたはライブラリの名前を指定します。

構文: DEST={dest_name|(dest_name1, dest_name2, …)|pathname}

値

dest_nameには、有効なレポート名、ライブラリ名またはファイル名、あるいは名前をカンマで区切り、括弧で囲んだそれらのリスト((qanda,text,dmast)など)を指定します。

デフォルト: DESTキーワードを指定しない場合、rwconverterは次のデフォルト名を使用します。

- DTYPEがPLDFILEのとき、DESTのデフォルト名はsource.pldです。

- DTYPEがPLLFILEのとき、DESTのデフォルト名はsource.pllです。

- DTYPEがRDFFILEのとき、DESTのデフォルト名はsource.rdfです。

- DTYPEがREPFILEのとき、DESTのデフォルト名はsource.repです。

- DTYPEがREXFILEのとき、DESTのデフォルト名はsource.rexです。

- DTYPEがTDFFILEのとき、DESTのデフォルト名はsource.tdfです。

- DTYPEがXMLFILEのとき、DESTのデフォルト名はsource.xmlです。

- DTYPEがJSPFILEのとき、DESTのデフォルト名はsource.jspです。

- DTYPEがREGISTERのとき、DESTのデフォルト名はSQL*Plusスクリプト出力ファイルの名前(output.sqlなど)です。

使用上のノート

- ファイル名のレポート/ライブラリ名のリストは、各エントリをカンマで区切り、括弧で囲む必要があります。例:
(qanda,test,dmast)または(qanda, test, dmast)

- 存在するソース名よりも指定した宛先名が多い場合、余分な宛先名は無視されます。存在するソース名よりも指定した宛先名が少ない場合、宛先名がなくなるとデフォルト名が使用されます。

- DESTキーワードの値は、オペレーティング・システムによって異なります。

- DTYPE=REGISTERのとき、複数の宛先は不要です。DESTに複数のSQL*Plusスクリプト・ファイル名を指定しても、最初のファイル名しか認識されません。他のファイル名は無視されます。

A.5.30 DESTINATION

表A-38では、DESTINATIONキーワードを使用できるコンポーネントを示します。

表A-38 DESTINATIONを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: DESTINATIONキーワードを使用すると、レポートの現行の実行処理に対応する配布を定義するXMLファイルの名前を指定できます。

ノート:

XMLベースの配布ファイルには.xml拡張子が必要です。

構文: DESTINATION=filename.xml

値

filename.xmlには、レポートあるいはレポートのある部分の配布を定義するXMLファイルの名前を指定します。

デフォルト なし

使用上のノート

- DESTINATIONキーワードを使用可能にするには、コマンドラインでDISTRIBUTE=YESと指定する必要があります。これら両方のキーワードを指定すると、DESTYPE、DESNAMEおよびDESFORMATは指定しても無視されます。

- Microsoft Internet Explorerでは、URLの戻りストリームのMIMEタイプが無視され、URLを参照しMIMEタイプが設定される場合があります。これは、レポートの配布を定義するときに問題となる場合があります。それは、URLの最後がDESTINATIONキーワードになることがあるためです。例:
...DISTRIBUTE=yes DESTINATION=c:\oracle\reports\dist\mydist.xml

この場合、URLが拡張子.xmlで終わるため、Internet Explorerでは、URLの戻りストリームが実際はHTMLであったとしても、XMLとして処理されます。結果として、ブラウザ・エラーが発生します。この問題を回避するには、URLの最後に一般的なファイル拡張子を使用しないようにします。前述の例では、URLでDISTRIBUTEパラメータとDESTINATIONパラメータの位置を入れ替えることができます。

ノート:

拡張配布の作成の詳細は、第19章「拡張配布の作成」を参照してください。

A.5.31 DESTYPE

表A-39では、DESTYPEキーワードを使用できるコンポーネントを示します。

表A-39 DESTYPEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: DESTYPEを使用して、ペーパーベースのレポートのレポート出力を受け取るデバイス・タイプを指定できます。Oracle ReportsのDestination APIで独自のプラガブル宛先を作成した場合、作成した宛先をこのようにしてコールします。

構文 DESTYPE={CACHE|LOCALFILE|FILE|PRINTER|MAIL|ORACLEPORTAL|FTP|
WEBDAV|name_of_pluggable_destination}

値: 表A-40では、DESTYPEキーワードの有効値が説明されています。

表A-40 DESTYPEの有効値

値

説明

CACHE

rwclientとrwservletのみ有効です。出力はWebブラウザのキャッシュに直接送信されます。

LOCALFILE

rwclientとrwservletのみ有効です。出力はクライアント・マシン上のファイルに同期式または非同期式で送信されます。

rwclientでDESTYPE=LOCALFILEを指定して使用すると、出力はクライアント・マシン上にDESNAMEで指定されるファイル名で保存されます。

rwservletでDESTYPE=LOCALFILEを指定して使用すると、mimetypeがapplication/octet-streamに設定され、ブラウザに「保存」ダイアログ・ボックスが表示されます。なんらかの理由で機能しない場合、かわりにDESTYPE=CACHEを指定し、MIMETYPE=REPORTS/LOCAL(または未登録のMIMEタイプ)を追加すると、ブラウザに「保存」ダイアログ・ボックスが表示されます。

FILE

出力はDESNAMEで指定したサーバー上のファイルに出力されます。

PRINTER

出力はDESNAMEで指定したサーバー上のプリンタに送信されます。Oracle Reports Servicesが認識できるプリンタをインストールして稼動させる必要があります。次の「使用上のノート」を参照してください。

MAIL

出力はDESNAMEで指定されたメール・ユーザーに送信されます。SMTPを使用する任意のメール・システムにメールを送信できます。

注意: 構成ファイルのrwserver.confには、送信メール・サーバー名が含まれている必要があります。これは、WindowsとUNIXのどちらの環境にも該当します。第7.2.1.2項「pluginParam」を参照してください。

ORACLEPORTAL

rwclientとrwservletのみ有効です。出力はOracle Portalに送信されます。関連するキーワードは、CONTENTAREA*、EXPIREDAYS、ITEMTITLE、OUTPUTFOLDER*、OUTPUTPAGE、PAGEGROUP、SCHEDULE、SITENAME*、STATUSFOLDER*、STATUSPAGEです。

* Oracle9iAS Portalリリース1およびOracle WebDBリリース2.2に対する下位互換性を確保するために維持されています。

次の「使用上のノート」を参照してください。

FTP

出力は指定されたFTPサーバーに送信されます。次の「使用上のノート」を参照してください。

WEBDAV

レポートを直接公開できるように、出力は指定されたWebDAVサーバーに送信されます。次の「使用上のノート」を参照してください。

name_of_pluggable_destination

Oracle ReportsのDestination APIで独自のプラガブル宛先を作成した場合は、作成した宛先をこのようにしてコールします。

デフォルト: DESTYPEシステム・パラメータの初期値プロパティから取得します(設計時にOracle Reports Builderで定義)。

使用上のノート

- DESTYPE値のSCREENとPREVIEWは無効になりました。Reports Runtime (rwrun)ユーザー・インタフェースが廃止されたためです。Oracle Reports Builderでは、DESTYPEシステム・パラメータをSCREENに設定してレポートをフォーマットし、スクリーン・フォントをOracle Reports Builderユーザー・インタフェースのプレビューアに表示できます。

- DESTYPE=PRINTER: Windowsでは、ハードウェアベースの左マージンはデフォルトで無視されます。印刷は印刷可能領域ではなく、実際の用紙の左上隅(0、0)を起点として開始されます。そのため、プリンタ・ハードウェアベースのマージンに依存しないで、レポートを容易に設計できます。Windowsでハードウェアベースの左マージンを入れずにレポートを印刷する際には、レポートのレイアウト時に、データが印刷可能領域に表示されるように十分なマージン・スペースを確保する必要があります。「ページ設定」ダイアログの「マージン」フィールドは、Oracle Reports Servicesとの一貫性を保つために無効になっています。ハードウェア・マージンを入れる従来の動作に戻すには、REPORTS_ADD_HWMARGIN環境変数をYESに設定します。

- DESTYPE=ORACLEPORTAL: Oracle Reports出力をOracle Portalに配信する前に、次が作成されていることを確認してください。

- 少なくとも1つのitem領域を含む有効なOUTPUTPAGE。

- 少なくとも1つのitem領域を含む有効なPAGEGROUP。

また、Reports Server構成ファイル(rwserver.conf)を次のように編集する必要があります。

1. destype=oraclePortal要素のコメントを外します。

<destination
destype="oraclePortal"
class="oracle.reports.server.DesOraclePortal">
<!--property name="portalUserid"
value="%PORTAL_DB_USERNAME%/%PORTAL_DB_
PASSWORD%@%PORTAL_DB_TNSNAME%"
encrypted="no"/-->
</destination>

ノート:

11gリリース2 (11.1.2)では、デフォルトでportalUseridはコメントアウトされています。Reports Serverによって接続文字列が判別され、レポートがOracle Portalに配信されます。このコメントを外す必要があるのは、異なるOracle Portalインスタンスを使用しているときのみです。

2. Oracle Reports出力をデフォルトのOracle Portalインスタンスに配信しない場合、portalUseridプロパティの値をOracle Portal接続情報と置き換えます。

ノート:

値を置き換えない、またはdestypeエントリのコメントを外さない場合は、次のようなエラー・メッセージが表示されます。

REP-56092: 宛先タイプoracleportalへのクラスが定義されていません。

リクエストの実行方法は他のデフォルトの宛先指定と同様です。例:

http://your_server:port/reports/rwservlet?report=test.rdf&userid=scott/tiger@repportal&authid=pushportal/trial&destype=oracleportal&desformat=PDF&pagegroup=PORTAL_REPORTS&outputpage=reports_output&itemtitle=pushtoportal&statuspage=result

- DESTYPE=FTP: リクエストの実行方法は他のデフォルトのプラガブル宛先指定と同様です。ファイル名とともに完全なFTPのURL位置を指定する必要があります。FTPサーバーに認証が必要な場合は、それも含めて次のようにURLで指定する必要があります。

http://your_server:port/reports/rwservlet?report=rep.jsp&destype=FTP&desname=ftp://user:pwd@ftpServer/dir/myreport.pdf&desformat=pdf

この例では、DESTYPEはFTPで、DESNAME値は完全なFTPのURL位置で、レポート名はmyreport.pdfです。

プロキシ情報を指定して、ファイアウォール経由で情報の送受信を行うには、第7.7項「プロキシ情報の入力」を参照してください。

ノート:

FTP宛先に指定されたプロキシ・サーバーでは、SOCKSプロトコルがサポートされている必要があります。この確認は、初期化中に実行されます。プロキシ・サーバーでSOCKSプロトコルがサポートされていない場合、サーバーで次のエラーが発生します。

REP-62352: 指定FTPプロキシ・サーバーからレスポンスなし

- DESTYPE=WEBDAV: リクエストの実行方法は他のデフォルトのプラガブル宛先指定と同様です。ファイル名とともに完全なWebDAVのURL位置を指定する必要があります。WebDAVサーバーに認証が必要な場合は、それも含めて次のようにURLで指定する必要があります。
http://your_server:port/reports/rwservlet?report=rep.jsp&destype=webdav&desname=http://user:pwd@webdavserver/myreport.pdf&desformat=pdf

この例では、DESTYPEはWEBDAVで、DESNAME値は完全なWebDAVのURL位置で、レポート名はmyreport.pdfです。

プロキシ情報を指定して、ファイアウォール経由で情報の送受信を行うには、第7.7項「プロキシ情報の入力」を参照してください。

例

例1: ペーパー・レポートをブラウザ(キャッシュ)で実行

http://myias.mycomp.com:7779/reports/rwservlet?server=myrepserv+report=test.rdf+
userid=scott/tiger@mydb+desformat=pdf+destype=cache

rwclient server=myrepserv report=test.rdf userid=scott/tiger@mydb desformat=pdf
destype=cache

例2: レポート出力をファイルに送信

rwrun report=test.rdf userid=scott/tiger@mydb desformat=pdf destype=file
desname=c:\mydir\test.pdf

http://myias.mycomp.com:7779/reports/rwservlet?server=myrepserv+report=test.rdf+
userid=scott/tiger@mydb+desformat=pdf+destype=file+desname=c:\mydir\test.pdf

rwclient server=myrepserv report=test.rdf userid=scott/tiger@mydb desformat=pdf
destype=file desname=c:\mydir\test.pdf

例3: レポート出力をプリンタに送信

rwrun report=test.rdf userid=scott/tiger@mydb destype=printer
desname=myprinter

http://myias.mycomp.com:7779/reports/rwservlet?server=myrepserv+report=test.rdf+
userid=scott/tiger@mydb+destype=printer+desname=myprinter

rwclient server=myrepserv report=test.rdf userid=scott/tiger@mydb destype=printer desname=myprinter

例4: レポート出力を電子メールで送信

rwrun report=test.rdf userid=scott/tiger@mydb desformat=pdf destype=mail
desname="emp1@comp.com, emp2@comp.com" cc="emp3@comp.com" bcc="mgr@comp.com"
replyto=me@comp.com" from="me@comp.com"

http://myias.mycomp.com:7779/reports/rwservlet?server=myrepserv+report=test.rdf+
userid=scott/tiger@mydb+desformat=pdf+destype=mail+
desname="emp1@comp.com,emp2@comp.com"+cc="emp3@comp.com"+bcc="mgr@comp.com"+
replyto="me@comp.com"+from="me@comp.com"

rwclient server=myrepserv report=test.rdf userid=scott/tiger@mydb desformat=pdf
destype=mail desname="emp1@comp.com, emp2@comp.com" cc="emp3@comp.com"
bcc="mgr@comp.com" replyto="me@comp.com" from="me@comp.com"

例5: レポート出力をWebDAV(いずれかのWebDAVサーバーまたはOracle Portal WebDAV)に送信

rwrun report=test.rdf userid=scott/tiger@mydb desformat=htmlcss destype=webdav
desname="http://myusername:mypassword@mywebdavserv.com/mydir/test.html"

http://myias.mycomp.com:7779/reports/rwservlet?server=myrepserv+report=test.rdf+
userid=scott/tiger@mydb+desformat=htmlcss+destype=webdav+
desname="http://myusername:mypassword@mywebdavserv.com/mydir/test.html"

rwclient server=myrepserv report=test.rdf userid=scott/tiger@mydb
desformat=htmlcss destype=webdav
desname="http://myusername:mypassword@mywebdavserv.com/mydir/test.html"

例6: レポート出力をOracle Portalに送信

rwrun report=test.rdf userid=scott/tiger@mydb destype=oracleportal desformat=PDF
pagegroup=mypagegrp outputpage=reports_output itemtitle=pushtoportal
statuspage=result

http://myias.mycomp.com:7779/reports/rwservlet?server=myrepserv+report=test.rdf+
userid=scott/tiger@mydb+destype=oracleportal+desformat=PDF+pagegroup=mypagegrp+
outputpage=reports_output+itemtitle=pushtoportal+statuspage=result

rwclient server=myrepserv report=test.rdf userid=scott/tiger@mydb
destype=oracleportal desformat=PDF pagegroup=mypagegrp outputpage=reports_output
itemtitle=pushtoportal statuspage=result

A.6 コマンドライン・キーワード(DISTRIBUTEからORIENTATION)

この項では、Oracle Reportsコンポーネントと各コンポーネントで使用できるキーワードについて簡単に説明します。

A.6.1 DISTRIBUTE

表A-41では、DISTRIBUTEキーワードを使用できるコンポーネントを示します。

表A-41 DISTRIBUTEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: DISTRIBUTEを使用して、レポート出力の宛先としてレポート配布定義(設計時にOracle Reports Builderの「配布」ダイアログ・ボックスで定義)または配布XMLファイルで定義されている配布リスト上の複数の宛先への配布を有効化したり無効化します。

構文 DISTRIBUTE={YES|NO}

値

- YESの場合、レポートを配布リストにある宛先に配布します。

- NOの場合、配布リストを無視して、DESNAME、DESTYPEおよびDESFORMATのパラメータの指定に従ってレポートを出力します。これは基本的に、配布用のレポート設定を実行するデバッグ・モードで、配布を実際には実行しません。

デフォルト: NO

使用上の注意: DISTRIBUTEキーワードは、DESTINATIONキーワードと密接に関連して動作します。DESTINATIONキーワードが効果を発揮するには、DISTRIBUTEにYESを指定する必要があります。これら両方のキーワードを指定すると、DESTYPE、DESNAMEおよびDESFORMATは指定しても無視されます。

ノート:

拡張配布の作成の詳細は、第19章「拡張配布の作成」を参照してください。

A.6.2 DTYPE

表A-42では、DTYPEキーワードを使用できるコンポーネントを示します。

表A-42 DTYPEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

はい

いいえ

いいえ

説明: DTYPEを使用して、レポートまたはライブラリの変換後のフォーマットを指定します。

構文 DTYPE={PLDFILE|PLLFILE|RDFFILE|REPFILE|REXFILE|TDFFILE|XMLFILE|
JSPFILE|REGISTER}

値 次の値が適用されます。

- PLDFILEの場合、変換されたPL/SQLライブラリは、ASCII形式のファイルに格納されます。

- PLLFILEの場合、変換されたPL/SQLライブラリは、ソース・コードおよびPコード(コンパイル済PL/SQL)を含むファイルに格納されます。

- RDFFILEの場合、変換されたレポートは、1つ以上のレポート定義ファイル(.rdf拡張子を持つファイル)に格納されます。

- REPFILEの場合、変換されたレポートは、1つ以上のバイナリ実行ファイル(.rep拡張子を持つファイル)に格納されます。

- REXFILEの場合、変換されたレポートは、1つ以上のテキスト・ファイル(.rex拡張子を持つファイル)に格納されます。

- TDFFILEの場合、レポートはテンプレート・ファイル(.tdf拡張子を持つファイル)に変換されます。

- XMLFILEの場合、変換されたレポートは、XMLファイル(.xml拡張子を持つファイル)に格納されます。

- JSPFILEの場合、変換されたレポートは、JSPファイル(.jsp拡張子を持つファイル)に格納されます。

- REGISTERの場合は、SOURCEによって指定された各レポートをRWWWVREG.REGISTER_REPORT関数でOracle Portalにロードするためのスクリプト・ファイルが作成されます。各ロード関数には、Oracle Portalにレポートを登録するために必要な情報が入力されます。作成されたスクリプト・ファイルをSQL*PlusでOracle Fusion Middleware DBプロバイダに対して実行すると、複数のレポートをOracle Portalにバッチ登録できます。詳細は、付録C「Oracle Portalへのレポートのバッチ登録」を参照してください。

デフォルト: REPFILE

使用上のノート

- rwconverterを使用して.repファイルを作成する場合、ソース・レポートのPL/SQLは、自動的にコンパイルされます。コンパイルでエラーが発生すると、エラー・メッセージが表示され、.repファイルは作成されません。この問題を避けるには、.repファイルを作成する前に、必ず「プログラム」→「コンパイル」を選択して、ソース・レポートのPL/SQLをコンパイルしてください。

- レポートをテンプレートに変換する場合、レポートのヘッダー・セクション、トレーラ・セクションおよびマージン領域にあるオブジェクトのみがテンプレートに使用されます。メイン・セクションにあるオブジェクトは無視されます。

A.6.3 DUNIT

表A-43では、DUNITキーワードを使用できるコンポーネントを示します。

表A-43 DUNITを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

はい

いいえ

いいえ

説明: DUNITを使用して、レポートを変換する宛先のサイズの単位を指定できます。これを指定すると、DUNITは、SOURCEレポートのサイズの単位と異なっている必要があります。これを指定しないと、SOURCEレポートのサイズの単位が使用されます。

構文 DUNIT={CENTIMETER|CHARACTER|INCH|POINT}

値

- CENTIMETERの場合、変換されたレポートは、サイズの単位として最初にセンチメートルを使用します。

- CHARACTERの場合、変換されたレポートは、サイズの単位として最初に文字を使用します。

- INCHの場合、変換されたレポートは、サイズの単位として最初にインチを使用します。

- POINTの場合、変換されたレポートは、サイズの単位として最初にポイントを使用します。

デフォルト: Null(レポートのサイズの単位が使用されます)。

A.6.4 ENGINERESPONSETIMEOUT

表A-44では、ENGINERESPONSETIMEOUTキーワードを使用できるコンポーネントを示します。

表A-44 ENGINERESPONSETIMEOUTを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

いいえ

いいえ

いいえ

はい

いいえ

説明: ENGINERESPONSETIMEOUTを使用すると、現行環境でのレポートの実行時に、エンジンがジョブのステータスを更新する最大時間(分)を指定できます。ジョブのステータスを更新する時間がなんらかの理由(エンジンがハングしたりSQL問合せが長時間ブロックされるなど)でこの最大時間を超えると、Reports Serverではジョブが終了します。

このパラメータは、Reports Server構成ファイルのengine要素のengineResponseTimeOut属性より優先されます。engine要素の詳細は、第7.2.1.9項「engine」を参照してください。

構文: ENGINERESPONSETIMEOUT=number

値

numberには、分数(5など)を指定します。

デフォルト なし

A.6.5 ENVID

表A-44では、ENVIDキーワードを使用できるコンポーネントを示します。

表A-45 ENVIDを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

いいえ

いいえ

いいえ

はい

いいえ

説明: ENVIDを使用して、現行のジョブ・リクエストに必要な環境を指定します。第7.2.2項「動的な環境切替え」の説明のように、このキーワードによって環境の動的な切替えができます。

構文: ENVID=id

値

idには、構成ファイルのenvironment要素idに対応する識別子を指定します。一致するenvironment要素によって、現行のジョブ・リクエストに使用される環境変数が定義されます。例の詳細は、第7.2.2項「動的な環境切替え」を参照してください。

デフォルト なし

A.6.6 EXPIRATION

表A-46では、EXPIRATIONキーワードを使用できるコンポーネントを示します。

表A-46 EXPIRATIONを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

いいえ

いいえ

いいえ

はい

いいえ

説明: EXPIRATIONを使用して、レポート出力が削除されるまでキャッシュにとどまることのできる期間を定義します。

重複ジョブの検出の詳細は、第17.12項「キャッシュからのレポート出力の再使用」を参照してください。maxQueueSize値とcacheSize値に関連するチューニングの考慮事項の詳細は、第23.4項「Reports Server構成のチューニング」と第23.8項「レポートの実行」を参照してください。

構文: EXPIRATION=time_string

値

time_stringには、次のいずれかの形式を使用できます。

- n{unit}は、オプションの単位を持つ数値の場合に使用します。unitには、minute(s)、hour(s)またはday(s)を指定できます。単位を指定しない場合は、デフォルトのminute(s)が使用されます。

- {Mon DD, YYYY} hh:mi:ss am|pm {timezone}が日付/時刻の書式として使用されます。日付情報はオプションです。日付を指定しないと、本日の日付が使用されます。タイムゾーンもオプションです。タイムゾーンを指定しないと、Reports Serverのタイムゾーンが使用されます。日付/時刻の書式には必ず米国のロケールを使用します。この書式は、Java DateFormat.MEDIUMタイプの定義と同じです。

デフォルト なし

A.6.7 EXPIREDAYS

表A-47では、EXPIREDAYSキーワードを使用できるコンポーネントを示します。

表A-47 EXPIREDAYSを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

いいえ

はい

いいえ

説明: EXPIREDAYSを使用して、Oracle Portalに送信されたOracle Reports出力が期限切れになるまでの日数を指定します。

構文: EXPIREDAYS={PERMANENT|1 day|2 days|3 days|7 days|14 days|31 days|60 days|90 days|120 days}

値

- PERMANENT は、期限がないことを示します。

- n daysは、n日後に期限が切れることを示します。

デフォルト なし

使用上のノート

- Oracle PortalへのOracle Reports出力の送信において、このキーワードの使用はオプションです。

- 関連するキーワードは、CONTENTAREA*、EXPIREDAYS、ITEMTITLE、OUTPUTFOLDER*、OUTPUTPAGE、PAGEGROUP、SITENAME*、STATUSFOLDER*、STATUSPAGEです。
* Oracle9iAS Portalリリース1およびOracle WebDBリリース2.2に対する下位互換性を確保するために維持されています。

A.6.8 FORMSIZE

表A-48では、FORMSIZEキーワードを使用できるコンポーネントを示します。

表A-48 FORMSIZEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

はい

いいえ

いいえ

説明: FORMSIZEを使用して、変換するレポートのランタイム・パラメータ・フォームのサイズを、宛先のサイズの単位で(DUNITを使用して)指定します。

構文: FORMSIZE=width x height

値

width/heightには、指定されたサイズの単位で使用できる任意の値を指定します。

デフォルト なし

使用上のノート

- CHARACTER以外のDUNITでは、端数を指定するのに小数を使用できます(8.5 x 11など)。

- ランタイム・パラメータ・フォームの詳細は、PARAMFORMキーワードを参照してください。

A.6.9 FROM

表A-49では、FROMキーワードを使用できるコンポーネントを示します。

表A-49 FROMを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: FROMを使用して、電子メール送信者の電子メール・アドレスを指定できます。

構文: FROM="emailid"

値

emailidには、someone@foo.comの形式で有効な電子メール・アドレスを指定します。

デフォルト: loginid@machine_name

使用上のノート 関連するキーワードは、BCC、CC、REPLYTOおよびSUBJECTです。電子メールの主な宛先を指定するには、DESNAMEを使用します。

A.6.10 GETJOBID

表A-50では、GETJOBIDキーワードを使用できるコンポーネントを示します。

表A-50 GETJOBIDを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

いいえ

はい

いいえ

説明: GETJOBIDを使用して、ジョブID nのReports Serverジョブの結果出力を取得します。

構文: http://your_webserver/reports/rwservlet/getjobid n[?][server=server_name][&authid=username/password]

値 構文を参照してください。

デフォルト なし

使用上のノート

- このキーワードは値を必要としないコマンドです。つまり、対応する値を持たず、コマンドだけが入力されます。

- ジョブが正常に終了し、Reports Serverキャッシュに存在する必要があります。現在のジョブ・リストを参照するには、SHOWJOBSを使用します。

- 関連するキーワードは、SERVERおよびAUTHIDです。

A.6.11 GETSERVERINFO

表A-51では、GETSERVERINFOキーワードを使用できるコンポーネントを示します。

表A-51 GETSERVERINFOを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

いいえ

はい

いいえ

説明: GETSERVERINFOを使用して、Reports Server情報を表示できます。情報が返される形式(HTMLまたはXML)は、statusformatで選択できます。

構文 http://your_webserver/reports/rwservlet/getserverinfo[?]
[server=server_name][&authid=username/password]
[&statusformat={html|xml}]

値 構文を参照してください。

デフォルト なし

使用上のノート

- このキーワードは値を必要としないコマンドです。つまり、対応する値を持たず、コマンドだけが入力されます。

- 関連するキーワードは、SERVERおよびAUTHIDです。

A.6.12 HELP

表A-52では、HELPキーワードを使用できるコンポーネントを示します。

表A-52 HELPを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

いいえ

はい

いいえ

説明: HELPキーワードを使用して、ヘルプ・トピックを表示し、rwservletコマンドとともに使用できるキーワードを示します。

構文: http://yourwebserver/reports/rwservlet/help

または

http://your_webserver/reports/rwservlet/help?command=keyword

値 構文を参照してください。

デフォルト なし

例

http://your_webserver/reports/rwservlet/help?command=keyword

A.6.13 ITEMTITLE

表A-53では、ITEMTITLEキーワードを使用できるコンポーネントを示します。

表A-53 ITEMTITLEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: ITEMTITLEを使用して、Oracle Portalが出力に使用する表示名を指定できます。Oracle Portalにはこの名前が表示され、Oracle Reports出力にリンクされます。

構文: ITEMTITLE=title

値

titleには、任意のテキストを指定します。値に空白が含まれる場合や、cgicmd.datキー・マップ・ファイルでオプションを指定する場合、値の前後に引用符を付けます(詳細は、第17.13項「キー・マップ・ファイルの使用」を参照)。

デフォルト レポートのファイル名

使用上のノート

- Oracle PortalへのOracle Reports出力の送信において、このキーワードの使用はオプションです。

- 関連するキーワードは、CONTENTAREA*、EXPIREDAYS、ITEMTITLE、OUTPUTFOLDER*、OUTPUTPAGE、PAGEGROUP、SITENAME*、STATUSFOLDER*、STATUSPAGEです。
* Oracle9iAS Portalリリース1およびOracle WebDBリリース2.2に対する下位互換性を確保するために維持されています。

A.6.14 JOBNAME

表A-54では、JOBNAMEキーワードを使用できるコンポーネントを示します。

表A-54 JOBNAMEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

いいえ

いいえ

いいえ

はい

いいえ

説明: JOBNAMEを使用して、Reports Queue Managerに表示されるジョブの名前を指定できます。これはコメントとして扱われ、ジョブの実行にはまったく関係しません。JOBNAMEが指定されていないときは、Reports Queue Managerではレポート名がジョブ名として表示されます。

構文: JOBNAME=string

値

stringには、任意のジョブ名を指定します。

デフォルト なし

使用上の注意: JOBNAMEは、コマンドラインからJSPベースのWebレポートを実行する場合に使用できます。

A.6.15 JOBRETRY

表A-55では、JOBRETRYキーワードを使用できるコンポーネントを示します。

表A-55 JOBRETRYを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

いいえ

いいえ

いいえ

はい

いいえ

説明: JOBRETRYを使用して、ジョブが失敗した後に実行を再試行する最大回数を指定します。このキーワードを指定すると、サーバー構成ファイルのjob要素のretry属性のエントリよりも優先されます。

構文: JOBRETRY=retries

値

retriesには、ジョブを1回実行してから、不測のエラーによりジョブが失敗したときに実行するジョブ再試行の回数を指定します(合計試行回数は最初の1回にJOBRETRY値を加算した値)。

デフォルト: 0

使用上のノート 明示的に取り消されたジョブは再試行されません。不測のエラー(エンジン・クラッシュや一般的なエラー)で失敗したジョブはすべて再試行されます。

JOBRETRYに無効な値が指定されると、Oracle Reportsによってランタイム例外のREP-50003が生成されます。

A.6.16 JOBTYPE

表A-56では、JOBTYPEキーワードを使用できるコンポーネントを示します。

表A-56 JOBTYPEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

いいえ

いいえ

いいえ

はい

いいえ

説明: JOBTYPEを使用して、サーバーによって実行されるジョブのタイプを記述できます。Reports Serverにあるエンジンがそのジョブ・タイプを処理できれば、任意のジョブ・タイプを入力できます。

構文: JOBTYPE=jobtype

値

jobtypeには、Reports Serverのエンジンが処理するジョブを指定します。たとえば、report (rwEngエンジンの場合)やrwurl (rwURLEngエンジンの場合)を指定します。

デフォルト: report

使用上の注意: Oracle Reportsで用意されているデータベース認証機能は、JOBTYPE=reportの場合にのみ使用できます。これは、OracleAS Reports Servicesに提供されるデフォルトのエンジン(rwEng)のジョブ・タイプです。データベース認証機能は、JOBTYPEが別の値(たとえば、独自で開発したカスタム・エンジンなど)を指定されている場合は使用できません。これは、カスタム・エンジンでは、接続文字列の形式が異なっていることが必要になる場合があるためです。Oracle Reportsのデータベース認証機能では、接続文字列はデフォルトのエンジンで使用されるOracle Reports形式のuser/password@dbnameに限定されます。

A.6.17 JVMOPTIONS

表A-57では、JVMOPTIONSキーワードを使用できるコンポーネントを示します。

表A-57 JVMOPTIONSを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

はい

はい

はい

いいえ

はい

説明: JVMOPTIONSを使用して、Java Virtual Machine (JVM)に対するオプションを設定します。

構文

JVMOPTIONS={options in the Reports Runtime, Reports Builder, Reports Converter, or Reports Server's JVM}

使用上のノート

- デフォルト値-Xmx256Mでは、JVMヒープ・サイズが256MBに設定されており、大きなグラフ付きのレポートやサイズの大きいレポートを実行したときに、エラー・メッセージOut of memoryが表示されないように考慮されています。

- Reports Engineの起動時に、rwserver.confファイルのengine要素にあるjvmoptions属性で指定されているJVMオプションがチェックされます。詳細は、第7.2.1.9項「engine」を参照してください。rwserver.confでJVMオプションが設定されている場合は、それがREPORTS_JVM_OPTIONS環境変数の値よりも優先されます。rwserver.confでJVMオプションが指定されていないと、Oracle Reportsでは、REPORTS_JVM_OPTIONS環境変数で指定されたJVMオプションが使用されます。詳細は、第B.1.54項「REPORTS_JVM_OPTIONS」を参照してください。

- Reports Serverでレポートを実行する場合、JVMオプションはREPORTS_JVM_OPTIONS環境変数を使用して設定できません。Reports Serverの場合、JVMオプションはコマンドラインでJVMOPTIONSコマンドライン・キーワードを使用して設定します。

- Reports Builder、Reports RuntimeおよびReports Converterでレポートを実行する場合、コマンドラインでJVMOPTIONSコマンドライン・キーワードを使用して指定されたJVMオプションが、REPORTS_JVM_OPTIONS環境変数で指定されたJVMオプションよりも優先されます。

例

次のようなコマンドラインを使用して、Reports Server (rwserver)を512MBのヒープ領域で起動できます。

rwserver server=servername jvmoptions=-Xmx512M

また、次のようなコマンドラインを使用して、Oracle Reports Builder (rwbuilder)を512MBのヒープ領域で起動できます。

rwbuilder jvmoptions=-Xmx512M

複数のオプションを指定する場合、それらを引用符で囲む必要があります。

rwserver server=servername jvmoptions="-Xmx256M -Xms128M"

A.6.18 KILLENGINE

表A-58では、KILLENGINEキーワードを使用できるコンポーネントを示します。

表A-58 KILLENGINEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

いいえ

はい

いいえ

説明: KILLENGINEを使用して、指定されたエンジンIDおよびエンジン・タイプを持つReports Serverエンジンを停止します。セキュリティで保護されたReports Serverの場合、管理者権限を持つユーザーのみがこのキーワードを使用できます。保護されていないReports Serverの場合、AUTHIDキーワードのユーザーIDとパスワード値は、server.conf構成ファイルのidentifierタグで指定されたユーザーIDとパスワードと一致している必要があります。

構文 http://your_webserver/reports/rwservlet/killengine[?][server=server_name][&authid=username/password]
[&type=engine_type]

値 構文を参照してください。

デフォルト なし

使用上のノート

- エンジンが、現在Reports Serverに存在している必要があります。

- GETSERVERINFOを使用して、サーバーに存在している現行のエンジンを調べます。

- 関連するキーワードは、GETSERVERINFO、SERVERおよびAUTHIDです。

例

rwEng-0エンジンを停止するには、次のようにします。

http://yourwebserver/reports/rwservlet/killengine0?server=myserver&authid=mydb/password&type=rwEng

A.6.19 KILLJOBID

表A-59では、KILLJOBIDキーワードを使用できるコンポーネントを示します。

表A-59 KILLJOBIDを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

いいえ

はい

いいえ

説明: KILLJOBIDを使用して、ジョブID nのReports Serverジョブを取り消します。

構文 http://your_webserver/reports/rwservlet/killjobidn[?]
[server=server_name][&authid=username/password]
[&statusformat={html|xml|xmldtd}]

値 構文を参照してください。

デフォルト なし

使用上のノート

- ジョブは現行である(キューに入っているかスケジュールされている)必要があります。

- 現在のジョブ・リストを参照するには、SHOWJOBSを使用します。STATUSFORMATはhtml(デフォルト)、xmlまたはxmldtdに設定できます。指定した形式でステータスが返されます。ステータス情報は、HTML、XMLまたはXMLDTD (DTDの内部サブセット)に生成されます。

- 関連するキーワードは、SHOWJOBS、SERVER、AUTHIDおよびSTATUSFORMATです。

A.6.20 LONGCHUNK

表A-60では、LONGCHUNKキーワードを使用できるコンポーネントを示します。

表A-60 LONGCHUNKを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

説明: LONGCHUNKは、Oracle Reports BuilderでLONG列値を取り出す変更分のサイズ(KB)です。LONGの値を検索する際に、メモリー容量の制限から一度にすべてを検索するのではなく、少しずつ検索する方がよい場合があります。LONGCHUNKは、Oracleデータベースにのみ適用されます。

構文: LONGCHUNK=n

値

nには1から9999までの数字を使用します(位取りのカンマや小数点などは使用しないでください)。オペレーティング・システムによっては、上限がこれより低い場合もあります。

デフォルト: 10

使用上の注意: LONGCHUNKは、コマンドラインからJSPベースのWebレポートを実行する場合に使用できます。

A.6.21 MIMETYPE

表A-61では、MIMETYPEキーワードを使用できるコンポーネントを示します。

表A-61 MIMETYPEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

いいえ

はい

いいえ

説明: MIMETYPEを使用して、Webの出力が返される際に、Reports Serverによって割り当てられたMIMEタイプをオーバーライドします。通常はデフォルトのMIMEタイプは有効ですが、誤っている場合には、このキーワードで無効にできます。

構文: MIMETYPE=string

値

stringには、有効なMIMEタイプを指定します。

デフォルト なし

使用上の注意: Oracle Reports Servicesでは、MIMETYPEに入力された文字列は検証されません。返されるレポート出力に対して、入力した文字列が有効であることを確認してください。

例

MIMETYPE=application/vnd.ms-excel

A.6.22 MODE

表A-62では、MODEキーワードを使用できるコンポーネントを示します。

表A-62 MODEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: MODEを使用して、レポートをキャラクタ・モードで実行するか、ビットマップで実行するかを指定できます。これにより、Oracle Reports Builderからキャラクタ・モードでレポートを実行できます。

構文 MODE={BITMAP|CHARACTER|DEFAULT}

値

- BITMAPは、レポートをビットマップ・モードで実行します。

- DEFAULTは、現在使用されているコンポーネントのモードでレポートを実行します。

- CHARACTERは、WindowsではOracle Reports BuilderのASCIIドライバを使用し、編集可能なASCII出力を生成します。

デフォルト DEFAULT

A.6.23 MODULE|REPORT

表A-63では、MODULE|REPORTキーワードを使用できるコンポーネントを示します。

表A-63 MODULE|REPORTを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

説明: MODULEまたはREPORTを使用して、実行するレポートの名前を指定できます。

構文: REPORT|MODULE=runfile

値

runfileには、任意の有効な実行ファイル(つまり、拡張子が.rep、.rdf、.jspまたは.xmlのファイル)を指定します。

デフォルト なし

使用上のノート

- キャラクタ・モード・レポートを指定すると、Oracle Reports Builderでは警告が表示され、8.5 x 11インチのページ・サイズと7 x 6インチのフォーム・サイズを使用してレポートが開きます。

- レポートを実行する場合は(たとえば、ペーパー・デザイン・ビューで表示する場合は)、そのレポートは完全なレポート定義である(独自のデータ・モデルとレイアウト定義を持つ)必要があります。部分レポート定義は実行できません。

- XMLレポート定義をMODULE|REPORTキーワードで指定する場合は、.xmlファイル拡張子を付ける必要があります。

- ファイルの拡張子を入力しないと、Oracle Reports Builderでは、ファイル検索用ファイル・パス検索順序を使用して、.rep拡張子、.rdf拡張子、.jsp拡張子、拡張子なしの順にファイルを検索します。

A.6.24 NAME

NAMEキーワードは、rwbridgeコンポーネントでのみ使用できます。

説明: NAMEを使用して、Oracle Reports Bridgeの名前を指定します。Oracle Reports Bridgeコンポーネント(rwbridge)は、Oracle Reports Bridge構成ファイルのrepbrg_bridgename.confをORACLE_HOME/reports/confで検索します。見つからない場合は、新しい構成ファイルがORACLE_HOME/reports/confに作成されます。

構文: NAME=bridgename

値

bridgenameには、有効な英数字の文字列を指定します。

デフォルト なし

A.6.25 NONBLOCKSQL

表A-64では、NONBLOCKSQLキーワードを使用できるコンポーネントを示します。

表A-64 NONBLOCKSQLを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

説明: NONBLOCKSQLを使用して、データベースからデータをフェッチしている間に、他のプログラムを実行できるかどうかを指定できます。

構文 NONBLOCKSQL={YES|NO}

値

- YESの場合、データをフェッチしているときに他のプログラムを実行できます。

- NOの場合、データをフェッチしているときは他のプログラムを実行できません。

デフォルト: YES

使用上の注意: NONBLOCKSQLは、コマンドラインからJSPベースのWebレポートを実行する場合に使用できます。

A.6.26 NOTIFYFAILURE

表A-65では、NOTIFYFAILUREキーワードを使用できるコンポーネントを示します。

表A-65 NOTIFYFAILUREを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: NOTIFYFAILUREを使用して、レポート・リクエストが失敗した場合に電子メールで通知する宛先を指定できます。通知クラスを使用するようReports Serverを構成した場合に、このキーワードを使用します。詳細は、「Oracle Reports Servicesの構成」で通知に関する説明を参照してください。

構文: NOTIFYFAILURE="emailid"|("emailid", "emailid",...)

値

emailidには、someone@foo.comの形式で有効な電子メール・アドレスを指定します。

デフォルト なし

使用上のノート

- デフォルトの通知電子メールのテンプレートが通知電子メールの本文に使用されますが、このテンプレートはOracle Fusion Middlewareのインストールに含まれています。NOTIFYFAILUREテンプレートは、failnote.txtという名前で、ORACLE_HOME\reports\templateに格納されています。

- NOTIFYFAILUREは、コマンドラインからJSPベースのWebレポートを実行する場合に使用できます。

A.6.27 NOTIFYSUCCESS

表A-66では、NOTIFYSUCCESSキーワードを使用できるコンポーネントを示します。

表A-66 NOTIFYSUCCESSを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: NOTIFYSUCCESSを使用して、レポート・リクエストが成功した場合に電子メールで通知する宛先を指定できます。notificationクラスを使用するようにReports Serverを構成した場合や、Oracle Enterprise Managerの「Reportsアプリケーション拡張構成」ページで「電子メール通知の有効化」要素を選択した場合に、このキーワードを使用します。詳細は、第7章「Oracle Reports Servicesの構成」で通知に関する説明を参照してください。

構文: NOTIFYSUCCESS="emailid"|("emailid", "emailid",...)

値

emailidには、someone@foo.comの形式で有効な電子メール・アドレスを指定します。

デフォルト なし

使用上のノート

- デフォルトの通知電子メールのテンプレートが通知電子メールの本文に使用されますが、このテンプレートはOracle Fusion Middlewareのインストールに含まれています。NOTIFYSUCCESSテンプレートは、succnote.txtという名前で、ORACLE_HOME\reports\templateに格納されています。

- NOTIFYSUCCESSは、コマンドラインからJSPベースのWebレポートを実行する場合に使用できます。

A.6.28 NUMBERFORMATMASK

表A-67では、NUMBERFORMATMASKキーワードを使用できるコンポーネントを示します。

表A-67 NUMBERFORMATMASKを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: NUMBERFORMATMASKを使用して、数値がデリミタ付きのレポート出力でどのように表示されるかを指定します。

構文: NUMBERFORMATMASK=mask

値 任意の数値書式マスク。

デフォルト なし

使用上のノート

- このキーワードを使用できるのは、DESFORMAT=DELIMITEDまたはDESFORMAT=DELIMITEDDATAと指定しているときのみです

ノート:

有効なNUMBERFORMATMASK値については、Oracle Reportsのオンライン・ヘルプの数値書式マスク構文に関するトピックを参照してください。

- NUMBERFORMATMASKは、コマンドラインからJSPベースのWebレポートを実行する場合に使用できます。

A.6.29 ONFAILURE

表A-68では、ONFAILUREキーワードを使用できるコンポーネントを示します。

表A-68 ONFAILUREを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

説明: ONFAILUREを使用して、エラーが発生してレポートが完了されなかった場合にCOMMITまたはROLLBACKを実行させるかどうかを指定できます。

構文 ONFAILURE={COMMIT|ROLLBACK|NOACTION}

値

- COMMITの場合、レポートが完了しなかった場合に、COMMITを実行します。

- ROLLBACKの場合、レポートが完了しなかった場合に、ROLLBACKを実行します。

- NOACTIONの場合、レポートが失敗しても何も行いません。

デフォルト

- USERIDが指定されている場合は、ROLLBACKです。

- USERIDの指定がなく、外部ソース(Oracle Forms Servicesなど)からコールされる場合は、NOACTIONです。

使用上のノート

- ONFAILUREでのCOMMITまたはROLLBACKは、レポートが失敗した後に実行されます。これに先だって、他のCOMMITおよびROLLBACKが発生する場合もあります。詳細は、READONLYコマンドを参照してください。

- ONFAILUREは、コマンドラインからJSPベースのWebレポートを実行する場合に使用できます。

A.6.30 ONSUCCESS

表A-69では、ONSUCCESSキーワードを使用できるコンポーネントを示します。

表A-69 ONSUCCESSを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

説明: ONSUCCESSを使用して、レポートの実行が終了した時点でCOMMITまたはROLLBACKのどちらを実行するかを指定できます。

構文 ONSUCCESS={COMMIT|ROLLBACK|NOACTION}

値

- COMMITの場合、レポート完了時にCOMMITを実行します。

- ROLLBACKの場合、レポート完了時にROLLBACKを実行します。

- NOACTIONの場合、レポートが終了しても何も行われません。

デフォルト

- USERIDが指定されている場合はCOMMITです。

- USERIDの指定がなく、外部ソース(Oracle Forms Servicesなど)からコールされる場合は、NOACTIONです。

使用上のノート

- ONSUCCESSでのCOMMITまたはROLLBACKは、After Reportトリガーが発行されてから実行されます。これに先だって、他のCOMMITおよびROLLBACKが発生する場合もあります。詳細は、READONLYコマンドを参照してください。

- ONSUCCESSは、コマンドラインからJSPベースのWebレポートを実行する場合に使用できます。

A.6.31 ORIENTATION

表A-70では、ORIENTATIONキーワードを使用できるコンポーネントを示します。

表A-70 ORIENTATIONを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: ORIENTATIONは、レポートの各ページのプリント方向を指定します。

構文 ORIENTATION={DEFAULT|LANDSCAPE|PORTRAIT}

値

- DEFAULTの場合、現行のプリンタの方向設定を使用します。

- LANDSCAPEは横方向です(長辺が上下になる配置)。

- PORTRAITは縦方向です(短辺が上下になる配置)。

デフォルト DEFAULT

使用上のノート

- ORIENTATIONコマンドライン・キーワードは、DESTYPE=PRINTERまたはDESFORMAT=RTFの場合にのみ有効になります。RTFレポート出力の方向は、次の優先順位に基づきます。

1. ORIENTATION コマンドライン・キーワード

2. ORIENTATIONシステム・パラメータ

3. 関連するレポート・セクション(「ヘッダー」、「メイン」または「トレーラ」)の「印刷方向」プロパティ: 「縦」または「横」

4. (「印刷方向」プロパティが「デフォルト」の場合)関連するレポート・セクションの「幅」プロパティおよび「高さ」プロパティ:

- 「幅」が「高さ」より長い場合(11 x 8.5など): 横方向

- 「高さ」が「幅」より長い場合(8.5 x 11など): 縦方向

- PDFレポート出力の場合、ORIENTATIONコマンドライン・キーワード、ORIENTATIONシステム・パラメータおよび「印刷方向」プロパティに指定された値はすべて無視されます。PDF出力の方向は、前述の「幅」プロパティおよび「高さ」プロパティの値によってのみ決まります。

- キャラクタ・モードのレポートに対してORIENTATION=LANDSCAPEを指定する場合、プリンタ定義ファイルに横方向を指定する句が含まれていることが必要です。

- このキーワードは、UNIX上のPCLプリンタに出力する場合はサポートされていません。

A.7 コマンドライン・キーワード(OUTPUTFOLDERからROLE)

この項では、Oracle Reportsコンポーネントと各コンポーネントで使用できるキーワードについて簡単に説明します。

A.7.1 OUTPUTFOLDER

表A-71では、OUTPUTFOLDERキーワードを使用できるコンポーネントを示します。

表A-71 OUTPUTFOLDERを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: OUTPUTFOLDERを使用して、レポート出力の配信先となるOracle WebDBリリース2.2またはOracle9iAS Portalリリース1のフォルダの名前を指定します。このキーワードは、Oracle WebDBリリース2.2およびOracle9iAS Portalリリース1に対する下位互換性を確保するために維持されています。Oracle Portal 10g (9.0.4)以降では、OUTPUTPAGEを使用してください。

構文: OUTPUTFOLDER=folder

値

folderには、Oracle WebDBリリース2.2またはOracle9iAS Portalリリース1で使用される有効なフォルダ名(内部名)を指定します。

デフォルト Oracle_Reports_Output

使用上のノート

- このキーワードの値は大文字と小文字を区別します。

- Oracle WebDBリリース2.2またはOracle9iAS Portalリリース1へのOracle Reports出力の送信において、このキーワードの使用はオプションです。

- 関連するキーワードは、CONTENTAREA*、EXPIREDAYS、ITEMTITLE、OUTPUTFOLDER*、OUTPUTPAGE、PAGEGROUP、SITENAME*、STATUSFOLDER*、STATUSPAGEです。
* Oracle9iAS Portalリリース1およびOracle WebDBリリース2.2に対する下位互換性を確保するために維持されています。

A.7.2 OUTPUTGRAPHFORMAT

表A-73では、OUTPUTGRAPHFORMATキーワードを使用できるコンポーネントを示します。

表A-72 OUTPUTGRAPHFORMATを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

説明: OUTPUTGRAPHFORMATを使用してグラフ・イメージ形式を指定します。

構文: OUTPUTGRAPHFORMAT={SVG}

値

- SVG(デフォルト)
DESFORMAT値がHTMLまたはHTMLCSSの場合にサポートされるグラフ・イメージ形式。

例

例1

次のコマンドラインでは、HTML出力にPNGイメージが生成されます。

rwclient server=my_rep_server report=images.rdf destype=file desformat=html desname=images.html userid=user_id outputgraphformat=SVG

rwrun report=images.rdf destype=file desformat=html desname=images.html userid=user_id outputgraphformat=SVG

A.7.3 OUTPUTIMAGEFORMAT

表A-73では、OUTPUTIMAGEFORMATキーワードを使用できるコンポーネントを示します。

表A-73 OUTPUTIMAGEFORMATを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

説明: OUTPUTIMAGEFORMATを使用して、レポート出力のイメージの形式を指定します。

構文 OUTPUTIMAGEFORMAT={PNG|JPEG|JPG|GIF|BMP}

値

- PNG、JPEG (デフォルト)、JPG
DESFORMAT値がPDF、HTML、HTMLCSS、RTFまたはSPREADSHEETである場合にサポートされるイメージ形式。

- GIF
DESFORMAT値がPDF、HTML、HTMLCSSまたはSPREADSHEETである場合にサポートされるイメージ形式。

- BMP
DESFORMAT値がRTFの場合にサポートされるイメージ形式。

使用上のノート

- このコマンドライン・キーワードは、REPORTS_OUTPUTIMAGEFORMAT環境変数の設定より優先されます。

- REPORTS_DEFAULT_DISPLAY環境変数が明示的にNO(デフォルトはYES)に設定されている場合、このコマンドライン・キーワードはサポートされません。その場合、デフォルトのイメージ形式は、HTML、HTMLCSSおよびPDF出力の場合GIF形式、RTF出力の場合BMP形式になります。

- 指定した形式と出力タイプが一致することを確認する必要があります。たとえば、BMPはRTF出力に対してのみ機能します。HTML、HTMLCSSまたはPDF出力では機能しません。

- イメージを含むレポートおよび保護されたReports Serverを使用したDESFORMAT=SPREADSHEETへの実行はサポートされていません。これは、Microsoft ExcelのCookieサポートに対する制限が原因です。かわりに、WebDAVを使用してURLにセキュアなReports ServerからのExcel出力を書き込むことができます。

例

例1

次のコマンドラインでは、HTML出力にPNGイメージが生成されます。

rwclient server=my_rep_server report=images.rdf destype=file desformat=html desname=images.html userid=user_id outputimageformat=PNG

rwrun report=images.rdf destype=file desformat=html desname=images.html userid=user_id outputimageformat=PNG

同様に、DESFORMAT=pdfを指定した場合、イメージは生成されたPDF文書にPNG形式で埋め込まれます。

例2

OUTPUTIMAGEFORMATに無効な値を指定すると、エラー・メッセージが表示されます。次のコマンドラインでは、エラー・メッセージが表示されます。

rwclient server=my_rep_server report=images.rdf destype=file desformat=html desname=images.html userid=user_id outputimageformat=ABCD

rwrun report=images.rdf destype=file desformat=html desname=images.html userid=user_id outputimageformat=ABCD

イメージ形式ABCDは無効であるため、次のエラー・メッセージが表示されます。

REP-35000: 指定されたイメージ出力形式はサポートされていません。

A.7.4 OUTPUTPAGE

表A-74では、OUTPUTPAGEキーワードを使用できるコンポーネントを示します。

表A-74 OUTPUTPAGEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: OUTPUTPAGEを使用して、レポート出力の配信先となるOracle Portalページの名前を指定します。旧リリース(Oracle WebDBリリース2.2およびOracle9iAS Portalリリース1)に対する下位互換性の詳細は、「OUTPUTFOLDER」を参照してください。

構文: OUTPUTPAGE=page

値

pageには、Oracle Portalで使用される有効なページ名(内部名)を指定します。

デフォルト Oracle_Reports_Output

使用上のノート

- Oracle PortalへのOracle Reports出力の送信において、このキーワードの使用はオプションです。

- 出力ページを指定しないと、Oracle_Reports_Outputという名前のデフォルト・ページがOracle Portalにより作成されます。

- 出力ページを指定する場合は、表示名ではなく内部名を使用します。内部名を使用して、Oracle Portalコンポーネント・インスタンスを一意に識別します。

- このキーワードの値は大文字と小文字を区別します。

- DESTYPE=ORACLEPORTALが指定されている場合、ページには1つ以上の項目の領域が含まれる必要があります。

- 関連するキーワードは、CONTENTAREA*、EXPIREDAYS、ITEMTITLE、OUTPUTFOLDER*、OUTPUTPAGE、PAGEGROUP、SITENAME*、STATUSFOLDER*、STATUSPAGEです。
* Oracle9iAS Portalリリース1およびOracle WebDBリリース2.2に対する下位互換性を確保するために維持されています。

A.7.5 OVERWRITE

表A-75では、OVERWRITEキーワードを使用できるコンポーネントを示します。

表A-75 OVERWRITEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

はい

いいえ

いいえ

説明: OVERWRITEを使用して、既存のファイルを、変換済のファイルで上書きするかどうかを指定できます。

構文 OVERWRITE={YES|NO|PROMPT}

値

- YESの場合、同名の既存ファイルを自動的にすべて上書きします。

- NOの場合、同名の既存ファイルがあっても、レポートを変換せず、警告メッセージを表示します。

- PROMPTの場合、既存ファイルを上書きする前に、確認を要求します。

デフォルト: NO

A.7.6 PARAMETER

表A-75では、parameterキーワードを使用できるコンポーネントを示します。

表A-76 parameterを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

はい

はい

はい

説明: parameterを使用して、レポート定義の一部であるパラメータを指定します。指定する値は、パラメータの値として使用されます。

構文: parameter=value

値

- parameterには、レポートで定義されているパラメータの名前を指定します。

- valueには、パラメータとして有効な値を指定します。

デフォルト パラメータの初期値プロパティから取得します。

使用上のノート

- ランタイム・パラメータ・フォームで、デフォルト値よりも優先される値を入力できます。

- 値は一重引用符または二重引用符で囲む場合もあります。一重引用符または二重引用符の効果はオペレーティング・システムによって異なります。

- REPORTキーワードを使用して実行ファイルを指定すると、レポートの各パラメータ(「入力マスク」、「検証トリガー」など)の設定を使用してパラメータ値が検証されます。

- REPORTキーワードを使用して実行ファイルを指定しないと、パラメータ値が未定義のパラメータを参照している場合もあるので、パラメータ値の解析や検証は行われません。

A.7.7 P_AVAILABILITY

表A-77では、P_AVAILABILITYキーワードを使用できるコンポーネントを示します。

表A-77 P_AVAILABILITYを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

はい

いいえ

いいえ

説明: P_AVAILABILITYを使用して、指定されたレポートがいつ処理できるようになるかを決定する使用可能日カレンダの名前を指定します。このキーワードが使用されるのは、DTYPE=REGISTER.の場合のみです

構文: P_AVAILABILITY=calendar_name

値

calendar_nameには、有効な使用可能日カレンダ名を指定します。

デフォルト なし

使用上のノート 使用可能日カレンダは、このSQL*Plusスクリプトを実行する前に、Oracle Portalに登録されている必要があります。登録されていない場合、無効なパッケージが作成されることがあります。

A.7.8 P_DESCRIPTION

表A-78では、P_DESCRIPTIONキーワードを使用できるコンポーネントを示します。

表A-78 P_DESCRIPTIONを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

はい

いいえ

いいえ

説明: P_DESCRIPTIONを使用して、レポートに関する追加情報を提供するテキストを指定できます。このキーワードが使用されるのは、DTYPE=REGISTERの場合のみです。

構文: P_DESCRIPTON=description_text

値

description_textには、任意のテキスト文字列を指定します。

デフォルト なし

A.7.9 P_FORMATS

表A-79では、P_FORMATSキーワードを使用できるコンポーネントを示します。

表A-79 P_FORMATSを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

はい

いいえ

いいえ

説明: P_FORMATSを使用して、指定されたレポートに許可された宛先フォーマットを指定できます。このキーワードが使用されるのは、DTYPE=REGISTERの場合のみです。

構文: P_FORMATS=destination_format|(destination_format1,destination_format2,...)

値

destination_formatには、有効な宛先の形式(HTMLなど)または、名前をカンマで区切り、括弧で囲んだ有効な宛先の形式のリスト((HTMLCSS,PDF,RTF)など)を指定します。

使用上の注意: レポートの宛先フォーマットがDELIMITEDDATAの場合、レポートをOracle Portalにバッチ登録できないことがあります。回避策として、異なる宛先フォーマットを定義して、レポートをバッチ登録し、後で手動でレポートをDESFORMAT=DELIMITEDDATAに編集できます。バッチ登録の詳細は、付録C「Oracle Portalへのレポートのバッチ登録」を参照してください。

デフォルト なし

A.7.10 P_JDBCPDS

表A-80では、P_JDBCPDSキーワードを使用できるコンポーネントを示します。

表A-80 P_JDBCPDSを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

説明: P_JDBCPDSを使用して、JDBC問合せを含むレポートを実行するためにデータベースに接続するためのJDBCプラガブル・データ・ソース(PDS)接続文字列を指定します。

関連項目:

第13章「プラガブル・データ・ソースの構成と使用」

構文: P_JDBCPDS=userid/password@database

値 次のように有効なJDBC PDS接続文字列を指定します。

- useridには、JDBCプラガブル・データ・ソースに接続するためのユーザーIDを指定します。

- passwordには、ユーザーIDのパスワードを指定します。

- databaseには、第13.1.2.1項「接続情報の例」の説明のように、特定のデータ・ソースに固有のデータベース接続情報を指定します。

使用上の注意: P_JDBCPDSは、JDBC PDSに接続するためのデフォルトのサインオン名です。レポート・ウィザードでJDBC問合せを定義するときに、Reports Builder内でこの名前を変更できます。新しいサインオン名は、P_JDBCPDSコマンドライン・キーワードの値としてコマンドラインで使用できます。Reports BuilderでのJDBC問合せの定義の詳細は、第13.1.2項「JDBC問合せの定義と実行」を参照してください。

例

Sybaseデータ・ソースに接続するには:

P_JDBCPDS=sybuser/sybpwd@server1.mydomain.com:1300

A.7.11 P_NAME

表A-81では、P_NAMEキーワードを使用できるコンポーネントを示します。

表A-81 P_NAMEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

はい

いいえ

いいえ

説明: P_NAMEを使用して、Oracle Portalに表示されるレポート名を指定します。このキーワードが使用されるのは、DTYPE=REGISTERの場合のみです。

構文: P_NAME=report_name

値

report_nameには、任意のレポート名を指定します。

デフォルト: P_NAMEを指定しない場合、PL/SQLファンクションにはレポート定義ファイル名が入力されます。

使用上のノート

- P_NAMEを指定しない場合、PL/SQLファンクションにはレポート定義ファイル名が入力されます。

- P_NAMEは、Oracle Portalに登録する各レポート定義ファイルに対して同じレポート名を使用する場合にのみ指定します。このオプションは通常、空白にします。

- レポート名の先頭には数字は使用できません(たとえば、401K_ reportは無効なファイル名ですが、my_401K_reportは有効です)。

A.7.12 P_OWNER

表A-82では、P_OWNERキーワードを使用できるコンポーネントを示します。

表A-82 P_OWNERを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

はい

いいえ

いいえ

説明: P_OWNERを使用して、レポート定義ファイルの登録時に作成されレポートのパッケージを所有するOracle Portal DBプロバイダを指定します。このキーワードが使用されるのは、DTYPE=REGISTERの場合のみです。

構文: P_OWNER=portal_dbprovider

値

portal_dbproviderには、有効なOracle Portal DBプロバイダ名を指定します。

デフォルト  SQL*Plusスクリプト・ファイルの実行時に接続したOracle Portal DBプロバイダの名前になります。

A.7.13 P_PFORMTEMPLATE

表A-83では、P_PFORMTEMPLATEキーワードを使用するコンポーネントを示します。

表A-83 P_PFORMTEMPLATEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

はい

いいえ

いいえ

説明: P_PFORMTEMPLATEを使用して、ランタイム・パラメータ・フォームのスタイルを決定するOracle Portalテンプレートの名前を指定します。このキーワードが使用されるのは、DTYPE=REGISTERの場合のみです。

構文: P_PFORMTEMPLATE=template_name

値

template_nameには、有効なOracle Portalテンプレート名を指定します。

デフォルト なし

A.7.14 P_PRINTERS

表A-84では、P_PRINTERSキーワードを使用するコンポーネントを示します。

表A-84 P_PRINTERSを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

はい

いいえ

いいえ

説明: P_PRINTERSを使用して、指定されたレポートに許可されたプリンタを指定できます。このキーワードが使用されるのは、DTYPE=REGISTERの場合のみです。

構文: P_PRINTERS=printer_name

値

printer_nameには、有効なプリンタ(PRT1など)または、名前をカンマで区切り、括弧で囲んだ有効なプリンタのリスト((PRT1,PRT2,PRT3)など)を指定します。

デフォルト なし

使用上のノート プリンタへのアクセスは、このSQL*Plusスクリプトを実行する前に、Oracle Portalに登録されている必要があります。

A.7.15 P_PRIVILEGE

表A-85では、P_PRIVILEGEキーワードを使用できるコンポーネントを示します。

表A-85 P_PRIVILEGEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

はい

いいえ

いいえ

説明: P_PRIVILEGEを使用して、選択したレポートを実行するアクセス権限を持つユーザーまたはロールを指定できます。このキーワードが使用されるのは、DTYPE=REGISTERの場合のみです。

構文: P_PRIVILEGE=user_name

値

user_nameには、Oracle Portalで認識できるユーザー名またはロール(SCOTTなど)、または名前をカンマで区切り括弧で囲んだユーザー名またはロールのリスト((SCOTT,JABERS,PMARTIN)など)を指定します。

デフォルト なし

A.7.16 P_SERVERS

表A-86では、P_SERVERSキーワードを使用できるコンポーネントを示します。

表A-86 P_SERVERSを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

はい

いいえ

いいえ

説明: P_SERVERSを使用して、レポートを実行できる制限付きReports Serverの名前を指定します。このキーワードが使用されるのは、DTYPE=REGISTERの場合のみです。

構文: P_SERVERS=tnsname

値

tnsnameには、Reports Serverの有効なTNS名(repserverなど)、または名前をカンマで区切り括弧で囲んだReports Serverの有効なTNS名のリスト((repserver, acct_server, sales_server)など)を指定します。

デフォルト なし

使用上のノート Reports Serverへアクセスする前にOracle Portalに登録されている必要があります。

A.7.17 P_TRIGGER

表A-87では、P_TRIGGERSキーワードを使用するコンポーネントを示します。

表A-87 P_TRIGGERを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

はい

いいえ

いいえ

説明: P_TRIGGERを使用して、パラメータ値をコマンドラインで指定する際およびランタイム・パラメータ・フォームを確定する際に実行されるPL/SQLファンクションを指定できます。このファンクションは、ブール値(TRUEまたはFALSE)を返す必要があります。

このキーワードが使用されるのは、DTYPE=REGISTERの場合のみです。

構文: P_TRIGGER=plsql_function

値

plsql_functionには、ブール値を戻す有効なPL/SQLファンクションを指定します。

デフォルト なし

例

P_TRIGGER="Is begin IF UPPER(DESTYPE) = ''PRINTER'' AND EMPNAME = ''SMITH'' THEN RETURN(TRUE); ELSE RETURN(FALSE); END IF; end;"

A.7.18 P_TYPES

表A-88では、P_TYPESキーワードを使用できるコンポーネントを示します。

表A-88 P_TYPESを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

はい

いいえ

いいえ

説明: P_TYPESを使用して、指定されたレポートに許可された宛先タイプを指定できます。このキーワードが使用されるのは、DTYPE=REGISTERの場合のみです。

構文: P_TYPES=destination_type

値

destination_typeには、有効な宛先タイプ(ブラウザに表示する場合のCACHEなど)、または名前をカンマで区切り括弧で囲んだ有効な宛先タイプのリスト((CACHE,MAIL,PRINTER)など)を指定します。

デフォルト  なし

A.7.19 PAGEGROUP

表A-89では、PAGEGROUPキーワードを使用できるコンポーネントを示します。

表A-89 PAGEGROUPを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: PAGEGROUPを使用して、レポート出力の配信先となるOracle Portalページ・グループの名前を指定します。旧リリースとの下位互換性の詳細は、「SITENAME」(Oracle WebDBリリース2.2の場合)および「CONTENTAREA」(Oracle9iAS Portalリリース1の場合)を参照してください。このキーワードを使用するには、ページ・グループを事前にOracle Portalで作成しておく必要があります。

構文: PAGEGROUP=pagegroup

値

pagegroupには、Oracle Portalで使用される有効なページ・グループ名(内部名)を指定します。

デフォルト なし

使用上のノート

- Oracle Reportsの出力をOracle Portalにプッシュする場合、このキーワードの使用は必須です。

- ページ・グループ名には、表示名ではなく内部名を指定する必要があります。内部名を使用すると、Oracle Portalのページ・インスタンスが一意に識別されます。

- 関連するキーワードは、CONTENTAREA*、EXPIREDAYS、ITEMTITLE、OUTPUTFOLDER*、OUTPUTPAGE、PAGEGROUP、SITENAME*、STATUSFOLDER*、STATUSPAGEです。
* Oracle9iAS Portalリリース1およびOracle WebDBリリース2.2に対する下位互換性を確保するために維持されています。

A.7.20 PAGESIZE

表A-90では、PAGESIZEキーワードを使用できるコンポーネントを示します。

表A-90 PAGESIZEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

はい

はい

いいえ

説明: PAGESIZEを使用して、物理ページの大きさ(プリンタが出力するページのサイズ)を設定できます。ページはレポートが入る大きさである必要があるので注意してください。たとえば、レポートのフレームがページ・ディメンションを超えるサイズになっている場合、レポートは実行されません。

構文: PAGESIZE=width x height

値  「ページ幅 x ページ高さ」の形式のフォームの有効なページ・サイズ。ページ幅とページ高さは0(ゼロ)より大きくする必要があります。最大幅と最大高さは、Oracle Reports Builderに設定されている測定単位によって異なります(「編集」→「プリファレンス」→「一般」タブ)。インチでは、最大幅および高さは512インチです。センチメートルでは、1312センチメートルです。パイカでは36,864パイカです。

デフォルト: ビットマップの場合は8.5 x 11インチです。キャラクタ・モードの場合は80×66文字です。レポートがキャラクタ・モードに対して設計されていて、ビットマップで実行あるいは変換される場合、ページ・サイズが指定されていないときは次の式を使用して決定されます。(デフォルトのページ・サイズ * 文字ページのサイズ)/デフォルトの文字のページ・サイズ。たとえば、文字ページのサイズが80 x 20の場合、ビットマップのページは次のサイズになります。
( (8.5 * 80)/80) x ((11 * 20)/66) = (680/80) x (220/66) = 8.5 x 3.33

使用上のノート

- プリンタによっては、物理ページの印刷可能な面積に制限があります。たとえば、プリンタが受け入れる用紙は8.5×11インチであっても、実際にプリントできる面積は8×10.5インチである可能性もあります。プリンタの印刷可能面積よりも大きなページ幅とページ高さをOracle Reports Builderで定義すると、レポートを出力した際にクリッピングが生じる場合があります。クリッピングを防ぐには、プリンタの印刷可能領域を拡大するか(オペレーティング・システムで可能な場合)、ページ幅×ページの高さをページの印刷可能な領域のサイズに設定します。

- レター・サイズは、8.5 x 11インチです。A4サイズは、210mm x 297mmまたは8.25インチ x 11.75インチです。

- PAGESIZEキーワードを使用すると、その値が、レポート定義のページ・ディメンションよりも優先されます。

- ランタイム・パラメータ・フォームに入力されたPAGESIZE値は、コマンドラインに入力されたPAGESIZE値よりも優先されます。

A.7.21 PAGESTREAM

表A-91では、PAGESTREAMキーワードを使用できるコンポーネントを示します。

表A-91 PAGESTREAMを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: PAGESTREAMは、レポートがHTMLあるいはHTMLCSS出力としてフォーマットされている場合に、次のいずれかで設定されているナビゲーション・コントロールを使用して、そのレポートのページ・ストリーム(ページ区切り)を有効または無効にします。

- レポート・プロパティ・パレットのページ・ナビゲーション・コントロール値プロパティおよびページ・ナビゲーション・コントロール・タイプ・プロパティ

- BEFORE REPORTトリガーのPL/SQL (SRW.SET_PAGE_NAVIGATION_HTML)

構文 PAGESTREAM={YES|NO}

値

- YESの場合、レポート出力のページ区切りを行います。

- NOの場合、ページ区切りなしでレポートを出力します。

デフォルト: NO

A.7.22 PARAMFORM

表A-92では、PARAMFORMキーワードを使用できるコンポーネントを示します。

表A-92 PARAMFORMを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

いいえ

はい

いいえ

説明: PARAMFORMを使用して、レポートをOracle Reports Servlet (rwservlet)により実行する際にランタイム・パラメータ・フォームを表示するかどうかを指定します。PARAMFORMは、JSPベースのWebレポートではなく、ペーパー・レイアウト・レポートにパラメータを指定するためにのみ使用されます。

構文 PARAMFORM=YES|NO|HTML

値

- YESの場合、パラメータ・フォームが表示されます。

- NOの場合、パラメータ・フォームが表示されません。

- HTMLの場合、パラメータ・フォームがHTML形式で表示されます。

デフォルト: NO

使用上のノート

- BATCH=YESの場合、PARAMFORM=YESを設定しても無効です。これは、バッチ・モードではランタイム・パラメータ・フォームを表示する意味がないためです。

- Oracle Portal環境でレポートを実行する場合、このキーワードは使用しないでください。これは、Oracle Portal上でもレポートのランタイム・パラメータ・フォームの設定が可能であり、この設定がPARAMFORMキーワードで指定したパラメータ・フォームと競合する可能性があるためです。

例

http://myias.mycomp.com:7779/rwservlet?server=myrepserver+report=test.rdf
+userid=scott/tiger@mydb+destype=cache+desformat=htmlcss+paramform=html

A.7.23 PARSEQUERY

表A-93では、PARSEQUERYキーワードを使用できるコンポーネントを示します。

表A-93 PARSEQUERYを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

いいえ

はい

いいえ

説明: PARSEQUERYを使用して、rwservletに対するコマンド問合せを解析し、作成されたReports Serverコマンドラインを表示します。

構文 http://your_webserver/reports/rwservlet/parsequery[?]
[server=server_name][&authid=username/password]

値 構文を参照してください。

デフォルト なし

使用上のノート

- このキーワードは値を必要としないコマンドです。つまり、対応する値を持たず、コマンドだけが入力されます。

- 関連するキーワードは、SERVERおよびAUTHIDです。

A.7.24 PDFCOMP

表A-94では、PDFCOMPキーワードを使用できるコンポーネントを示します。

表A-94 PDFCOMPを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: PDFCOMPを使用して、PDF出力を圧縮するかどうかを指定できます。

構文: PDFCOMP=value|{YES|NO}

値

- valueには、0から9の任意の値を指定します。0の場合、PDF出力は圧縮されません。1から9の場合、PDF出力が圧縮され、ユーザーが圧縮レベルを制御できます。

- YESの場合、出力は圧縮レベル6で圧縮されます。

- NOの場合、出力は圧縮レベル0(非圧縮)で圧縮されます。

デフォルト: 6

A.7.25 PDFEMBED

表A-95では、PDFEMBEDキーワードを使用できるコンポーネントを示します。

表A-95 PDFEMBEDを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: PDFEMBEDを使用して、uifont.aliファイルで指定したType1 PostScriptフォント・ファイルをOracle ReportでPDF出力に埋め込むかどうかを指定します。

構文 PDFEMBED={YES|NO}

値

- YESの場合、uifont.aliファイルの[PDF:Embed]ヘッダーで指定されたフォントが、PDFドライバによってPDF出力に埋め込まれます。

- NOの場合、フォントはPDF出力に追加されません。

デフォルト: YES

A.7.26 PDFOWNER

表A-96では、PDFOWNERキーワードを使用できるコンポーネントを示します。

表A-96 PDFOWNERを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

ノート:

Oracle Reports Builder (rwbuilder)を使用してPDF暗号化レポート出力を生成するには、コマンドのコマンドライン・キーワード(PDUSER、PDFOWNERまたはPDFSECURITY)のどれか1つ以上にパスしてrwbuilderを起動する必要があります。

Oracle Reports Builderで、「ファイルへ出力」→「PDF」を選択して、PDF暗号化出力を生成します。

説明: PDFOWNERを使用して、暗号化されたPDFレポート出力の所有者パスワードを指定します。このパスワードをPDFUSERと組み合せて、PDFレポート出力を開いたり(Acrobat Reader 5.0以降を使用)、PDFレポート出力のパスワードやアクセス権限を変更する(Acrobat Writer 6.0以降を使用)場合の認可権限を指定します。PDFOWNERとPDFUSERのコマンドライン・キーワードで考えられる組合せによる結果の詳細は、表10-5を参照してください。

詳細は、第10.2.4項「暗号化、パスワードによる保護および権限セキュリティ」を参照してください。

構文: PDFOWNER=owner_password

値

owner_passwordには、エンド・ユーザーが要求に応じて入力する必要がある所有者パスワードを指定します。

デフォルト なし

A.7.27 PDFSECURITY

表A-97では、PDFSECURITYキーワードを使用できるコンポーネントを示します。

表A-97 PDSECURITYを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

ノート:

Oracle Reports Builder (rwbuilder)を使用してPDF暗号化レポート出力を生成するには、コマンドのコマンドライン・キーワード(PDUSER、PDFOWNERまたはPDFSECURITY)のどれか1つ以上にパスしてrwbuilderを起動する必要があります。

Oracle Reports Builderで、「ファイルへ出力」→「PDF」を選択して、PDF暗号化出力を生成します。

説明: PDFSECURITYを使用して、暗号化されたPDFレポート出力の権限を最大8個まで抑止します。PDFSECURITYを指定する場合、PDFUSERおよびPDFOWNERの指定は必須ではありません。

詳細は、第10.2.4項「暗号化、パスワードによる保護および権限セキュリティ」を参照してください。

構文: PDFSECURITY=suppress_permission[,suppress_permission...]

値

表A-98に示す値をsuppress_permissionに指定すると、対応する効果が有効になります。

表A-98 PDFSECURITYの値

値

効果

NOHIRESPRINTING

高解像度での印刷を禁止します。文書は低解像度で印刷されます。

NOMODIFYCONTENTS

NOMODIFYANNOTATIONS、NOFILLINおよびNOASSEMBLYで制御されていない操作によって文書の内容を変更することを禁止します。

NOCOPY

NOSCREENREADERSで制御されていない操作によって文書からテキストやグラフィックをコピーしたり、それ以外の手段で抽出することを禁止します。

NOMODIFYANNOTATIONS

テキスト注釈の追加や変更、さらに対話型フォームのフィールドにおける入力を禁止します。同時にNOMODIFYCONTENTSが指定されている場合、対話型フォームのフィールド(署名フィールドを含む)の作成や変更を禁止します。

NOFILLIN

NOMODIFYANNOTATIONSが指定されていない場合でも、既存の対話型フォームのフィールド(署名フィールドを含む)に入力することを禁止します。

NOSCREENREADERS

(アクセシビリティのサポートまたは他の目的で)テキストやグラフィックの抽出を禁止します。

NOASSEMBLY

NOMODIFYCONTENTSが指定されていない場合でも、文書の加工(ページの挿入、回転または削除、およびブックマークやサムネイル・イメージの作成)を禁止します。

NOPRINTING

PDF文書の印刷を禁止します。

デフォルト なし(すべての権限が付与される)。

例

PDFSECURITY=NOHIRESPRINTING,NOMODIFYCONTENTS,NOCOPY

A.7.28 PDFUSER

表A-99では、PDFUSERキーワードを使用できるコンポーネントを示します。

表A-99 PDFUSERを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

ノート:

Oracle Reports Builder (rwbuilder)を使用してPDF暗号化レポート出力を生成するには、コマンドのコマンドライン・キーワード(PDUSER、PDFOWNERまたはPDFSECURITY)のどれか1つ以上にパスしてrwbuilderを起動する必要があります。

Oracle Reports Builderで、「ファイルへ出力」→「PDF」を選択して、PDF暗号化出力を生成します。

説明: PDFUSERを使用して、暗号化されたPDFレポート出力のユーザー・パスワードを指定します。このパスワードをPDFOWNERと組み合せて、PDFレポート出力を開いたり(Acrobat Reader 5.0以降を使用)、PDFレポート出力のパスワードやアクセス権限を変更する(Acrobat Writer 6.0以降を使用)場合の認可権限を指定します。PDFOWNERとPDFUSERのコマンドライン・キーワードで考えられる組合せによる結果の詳細は、表10-5を参照してください。

詳細は、第10.2.4項「暗号化、パスワードによる保護および権限セキュリティ」を参照してください。

構文: PDFUSER=user_password

値

user_passwordには、エンド・ユーザーが要求に応じて入力する必要があるユーザー用パスワードを指定します。

デフォルト なし

A.7.29 PFACTION

表A-100では、PFACTIONキーワードを使用できるコンポーネントを示します。

表A-100 PFACTIONを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

いいえ

いいえ

いいえ

いいえ

いいえ

ノート:

PFACTIONは、Oracle Forms ServicesキーワードのRUN_REPORT_OBJECTと併用することもあります。これは、Web上でOracle FormsからOracle Reportsをコールする際に最もセキュアな方法です。RUN_REPORT_OBJECTを使用してOracle FormsからOracle Reportsをコールする方法の詳細は、OTNにあるホワイト・ペーパー『Oracle Application Server 10g Integrating Oracle Reports in Oracle Forms Services Applications』(http://otn.oracle.com/products/forms/pdf/10g/frm10gsrw10g.pdf)を参照してください。『Oracle Fusion Middleware Forms Servicesデプロイメント・ガイド』も参照してください。

説明: PFACTIONは、パラメータ・フォームのアクション文字列を指定するために使用します。rwclientまたはOracle Forms ServicesのRUN_REPORT_OBJECTキーワードによりリクエストを送信して、パラメータ・フォームのあるレポートを実行する場合、生成されたパラメータ・フォームは、コマンドラインにPFACTIONが含まれていないと使用できません。パラメータ・フォームが使用できないという現象は、action属性が空になっていることが原因です(rwclientとRUN_REPORT_OBJECTによりサーバー上で直接Oracle Reportsがコールされるため、Oracle Reportsでは、HTMLパラメータ・フォームを生成する際、Web環境にアクセスしてaction属性に値を移入するために必要な情報を取得できないためです)。

action属性は、エンド・ユーザーが「実行」をクリックしたときに実行されるアクションを定義する標準HTMLタグformの一部です。エンド・ユーザーが「実行」をクリックした後、Oracle Reportsのリクエストを処理するために必要な非表示ランタイム・パラメータが、Oracle Reportsパラメータ・フォームのaction属性に含まれる必要があります。

構文: PFACTION=request_URL_to_rwservlet?_hidden_encoded_original_url_string

値

- request_URL_to_rwservlet: http://host:port/reports/rwservletのURL。

- encoded_original_url_string: レポートを実行する問合せ文字列。

例

rwclient.exe report=pform.rdf destype=cache desformat=pdf paramform=yes PFACTION="http://mymachine.mycompany.com:7777/reports/rwservlet?_hidden_report=pform.rdf%20destype=cache%20desformat=pdf"

A.7.30 PRINTJOB

表A-101では、PRINTJOBキーワードを使用できるコンポーネントを示します。

表A-101 PRINTJOBを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

はい

いいえ

いいえ

いいえ

説明: PRINTJOBを使用して、レポートを実行する前に「ジョブの印刷」ダイアログ・ボックスを表示するかどうかを指定できます。

構文 PRINTJOB={YES|NO}

値

- YESの場合、レポートが実行される前に「ジョブの印刷」ダイアログ・ボックスが表示されます。

- NOの場合、「ジョブの印刷」ダイアログ・ボックスが表示されずに、レポートが実行されます。

デフォルト: YES

使用上のノート

- レポートが派生プロセスで実行されるときは(rwrunなどのコンポーネントが、rwbuilderなどの別のコンポーネント内でコールされる場合)、PRINTJOBの値に関係なく、「ジョブの印刷」ダイアログ・ボックスは表示されません。

- DESTYPE=MAILのときは、PRINTJOBの値にかかわりなく、「ジョブの印刷」ダイアログ・ボックスは表示されません。

A.7.31 READONLY

表A-102では、READONLYキーワードを使用できるコンポーネントを示します。

表A-102 READONLYを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

説明: READONLYを使用して、レポートでの複数回にわたる問合せで読取り一貫性をリクエストできます。Oracleデータベースからデータにアクセスする場合、読取り一貫性は、SET TRANSACTION READ ONLY文で確保されます(SET TRANSACTION READ ONLYの詳細は、使用しているOracleデータベースのドキュメントを参照してください)。

ノート:

SET TRANSACTION READ ONLY の詳細は、Oracle Technology Network(http://www.oracle.com/technetwork/developer-tools/sql-developer/documentation/index.html)で提供されているOracle SQLドキュメントを参照してください。

構文 READONLY={YES|NO}

値

- YESの場合、読取り一貫性をリクエストします。

- NOの場合、読取り一貫性は提供されません。

デフォルト: NO

使用上のノート

- READONLYは、複数の問合せを使用するレポートでのみ役立ちます。Oracleデータベースでは、単一の問合せを使用するレポートに対しては、読取り一貫性がロックなしで自動的に提供されます。

- レポート・トリガーの実行順に関して、データ・フェッチが行われる前にSET TRANSACTION READ ONLYを設定しておく必要があります。

- READONLYは、コマンドラインからJSPベースのWebレポートを実行する場合に使用できます。

A.7.32 RECURSIVE_LOAD

表A-103では、RECURSIVE_LOADキーワードを使用できるコンポーネントを示します。

表A-103 RECURSIVE_LOADを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

はい

はい

いいえ

説明: RECURSIVE_LOADを使用して、レポートの実行時に、プログラム・ユニットの外部参照を検証するかどうかを指定します。無効な参照があった場合、プログラム・ユニットは自動的に再コンパイルされます。RECURSIVE_LOADをNOに設定すると、最初にPL/SQLがコンパイルされたデータベースとは異なるデータベースにレポートを実行する場合に役立ちます。

構文 RECURSIVE_LOAD={YES|NO}

値

- YESの場合、レポートの実行時に外部参照が検証されます。無効な参照があった場合、そのプログラム・ユニットは(.rdfまたは.pllであっても)再コンパイルされます。

- NOの場合、レポートの実行時に外部参照が検証されません。この設定は、最初にPL/SQLがコンパイルされたデータベースとは異なるデータベースにレポートを実行する場合に有効です。

デフォルト: YES

A.7.33 REPLYTO

表A-104では、REPLYTOキーワードを使用できるコンポーネントを示します。

表A-104 REPLYTOを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: REPLYTOを使用して、送信者が送信者(FROMキーワードで指定)以外の宛先に返信を送信させる場合に、返信の送信先となる電子メール・アドレスを指定します。

構文: REPLYTO="emailid"

値

emailidには、someone@foo.comの形式で有効な電子メール・アドレスを指定します。

デフォルト なし

使用上のノート 関連するキーワードは、BCC、CC、FROMおよびSUBJECTです。電子メールの主な宛先を指定するには、DESNAMEを使用します。

A.7.34 REPORT | MODULE

「MODULE|REPORT」を参照してください。

A.7.35 ROLE

表A-105では、ROLEキーワードを使用できるコンポーネントを示します。

表A-105 ROLEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: ROLEを使用して、レポートに対するデータベース・ロールを実行時にチェックするように指定できます。このキーワードは、通常アクセス権限を持たないデータベース表に対して、問合せを行うレポートを実行できるようにする場合に有効です。

構文: ROLE={rolename[/rolepassword]}

値

rolenameには、有効なロールを指定します。

rolepasswordには、(オプションで)ロール・パスワードを指定します。

デフォルト なし

使用上の注意: ROLEは、コマンドラインからJSPベースのWebレポートを実行する場合に使用できます。

A.8 コマンドライン・キーワード(RUNDEBUGからWEBSERVER_PORT)

この項では、Oracle Reportsコンポーネントと各コンポーネントで使用できるキーワードについて簡単に説明します。

A.8.1 RUNDEBUG

表A-106では、RUNDEBUGキーワードを使用できるコンポーネントを示します。

表A-106 RUNDEBUGを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

説明: RUNDEBUGを使用して、レポート中の論理エラーの実行時チェックを指定できます。RUNDEBUGでは、エラーではなくても不測の出力がされる可能性のある内容がチェックされ、実行時のレポート出力が表示される前に、警告として表示されます。RUNDEBUGを使用するとレポートはデバッグ・モードで実行されますが、これは、PL/SQLインタプリタを使用したレポートのデバッグとは異なります。

RUNDEBUGでは、次の内容がチェックされます。

- 枠または繰返し枠で、重なっているが別のオブジェクトを囲まないもの。これは、出力時にオブジェクトが別のオブジェクトに重なって表示されます。

- 固定サイズを持たないページ依存参照を持つレイアウト・オブジェクト。このようなオブジェクトは、「垂直拡張度」と「水平拡張度」のプロパティ設定にかかわらず、サイズが固定されます。

- PL/SQLの無効な頻度で参照されるバインド変数。

構文 RUNDEBUG={YES|NO}

値

- YESの場合、追加の実行時エラー・チェックが実行されます。

- NOの場合、追加の実行時エラー・チェックが実行されません。

デフォルト: YES

使用上の注意: RUNDEBUGは、コマンドラインからJSPベースのWebレポートを実行する場合に使用できます。

A.8.2 SAVE_RDF

表A-107では、SAVE_RDFキーワードを使用できるコンポーネントを示します。

表A-107 SAVE_RDFを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

はい

はい

いいえ

いいえ

いいえ

説明: SAVE_RDFを使用して、RDFファイルおよびXMLカスタマイズ・ファイルを複合したファイル名を指定します。CUSTOMIZEキーワードを使用して既存のRDFファイルとOracle Reports XMLカスタマイズ・ファイルを複合し、その複合したものを新しいRDFファイルに保存する場合に、このキーワードは役に立ちます。

構文: SAVE_RDF=filename.rdf

値 任意の有効なファイル名。

デフォルト なし

使用上の注意: SAVE_RDFは、JSPファイルにも使用できますが、ペーパー・レイアウト部分のみで、Webソースには使用できません。

A.8.3 SCHEDULE

表A-108では、SCHEDULEキーワードを使用できるコンポーネントを示します。

表A-108 SCHEDULEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

いいえ

いいえ

いいえ

はい

いいえ

説明: SCHEDULEを使用して、レポートを実行する日付、時刻および頻度を設定できます。デフォルトは、1回および即時のレポート実行です。時刻値は、24時間方式で表します(例: 1時は13:00)。スケジュール・コマンドを引用符で囲まない場合は、スペースのかわりにアンダースコア(_)を使用します。またレポート・ジョブの有効期限として、指定した実行回数後、または特定の日時を指定することもできます。

構文: SCHEDULE=string

ここで、stringは次のように指定します。

[FREQ from] TIME [retry {n} after LEN expires {on|after} time|n]

この文字列で使用される値は、表A-109で説明します。

表A-109 SCHEDULEキーワードで使用できる文字列値

FREQ

hourly | daily | weekly | monthly | {every {LEN | DAYREPEAT}} | {last {WEEKDAYS | weekday | weekend} before {n}+}

LEN

{n}+ {minute[s] | hour[s] | day[s] | week[s] | month[s]}

DAYREPEAT

{first | second | third | fourth | fifth} WEEKDAYS of month

WEEKDAYS

mon | tue | wed | thu | fri | sat | sun

TIME

now | CLOCK [DATE]

CLOCK

h:m | h:mm | hh:m | hh:mm

DATE

today | tomorrow | {MONTHS {d | dd} [,year]}

MONTHS

jan | feb | mar | apr | may | jun | jul | aug | sep | oct | nov | dec

EXPIRES

on {today | tomorrow | {MONTHS {d | dd} [,year]}}|after n

デフォルト なし

例

SCHEDULE=every_first_fri_of_month_from_15:53_Oct_23,_1999_retry_3_after_1_hour_expires_on_15:53_Oct_23,_2003

SCHEDULE=last_weekday_before_15_from_15:53_Oct_23,_1999_retry_after_1_hour_expires_after_100

または

SCHEDULE="every first fri of month from 15:53 Oct 23, 1999 retry 3 after 1 hour expires on 15:53 Oct 23, 2003"

SCHEDULE="last weekday before 15 from 15:53 Oct 23, 1999 retry after 1 hour expires after 100"

A.8.4 SERVER

表A-110では、SERVERキーワードを使用できるコンポーネントを示します。

表A-110 SERVERを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

いいえ

いいえ

いいえ

はい

はい

説明: SERVERを使用して、このレポートを実行するReports Serverの名前を指定します。

構文: SERVER=server_name

値 構文を参照してください。

使用上のノート

- rwservletで実行されるかJSPとして実行されるジョブについては、デフォルト・サーバーをOracle Reports Servlet (rwservlet)構成ファイル(rwservlet.properties)で指定している場合、SERVERキーワードを省略できます。また、SERVERキーワードを含めてデフォルトより優先させることができます。

- SERVERは、コマンドラインからJSPベースのWebレポートを実行する場合に使用できます。

A.8.5 SHOWAUTH

表A-111では、SHOWAUTHキーワードを使用できるコンポーネントを示します。

表A-111 SHOWAUTHを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

いいえ

はい

いいえ

説明: SHOWAUTHを使用して、Reports Serverログイン・ページを表示してレポートを実行します。

構文 http://your_webserver/reports/rwservlet/showauth[?]
[server=server_name][&authid=username/password]
[&nextpage=key_in_cgicmd.dat]&authtype={s|d}

値 構文を参照してください。

デフォルト なし

使用上のノート

- このキーワードは値を必要としないコマンドです。つまり、対応する値を持たず、コマンドだけが入力されます。

- 認証後、nextpageパラメータのcgicmd.datキーで指定したURLがReports Servletによって実行されます。

- パラメータauthtypeは必須です。
authtype=sの場合は、Reportsの「システム・ユーザー認証」ダイアログ・ボックスが表示されます。authtype=dの場合は、Reportsの「データベース・ユーザー認証」ダイアログ・ボックスが表示されます。

- 関連するキーワードは、SERVERおよびAUTHIDです。

A.8.6 SHOWENV

表A-112では、SHOWENVキーワードを使用できるコンポーネントを示します。

表A-112 SHOWENVを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

いいえ

はい

いいえ

説明: SHOWENVを使用して、rwservlet構成ファイル(rwservlet.properties)を表示できます。

構文 http://your_webserver/reports/rwservlet/showenv[?]
[server=server_name][&authid=username/password]

値 構文を参照してください。

デフォルト なし

使用上のノート

- このキーワードは値を必要としないコマンドです。つまり、対応する値を持たず、コマンドだけが入力されます。

- 関連するキーワードは、SERVERおよびAUTHIDです。

A.8.7 SHOWJOBID

表A-113では、SHOWJOBIDキーワードを使用できるコンポーネントを示します。

表A-113 SHOWJOBIDを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

いいえ

はい

いいえ

説明: SHOWJOBIDにより、Reports Serverのジョブ・ステータスとジョブID nを表示します。

構文 http://your_webserver/reports/rwservlet/showjobidn[?]
[server=server_name][&authid=username/password]
[&statusformat={html|xml|xmldtd}]

値 構文を参照してください。

デフォルト なし

使用上のノート

- このキーワードは値を必要としないコマンドです。つまり、対応する値を持たず、コマンドだけが入力されます。

- ジョブは現行である(キューに入っているかスケジュールされている)必要があります。

- 現在のジョブ・リストを参照するには、SHOWJOBSを使用します。STATUSFORMATはhtml(デフォルト)、xmlまたはxmldtdに設定できます。指定した形式でステータスが返されます。ステータス情報は、HTML、XMLまたはXMLDTD (DTDの内部サブセット)に生成されます。

- 関連するキーワードは、SHOWJOBS、SERVER、AUTHIDおよびSTATUSFORMATです。

A.8.8 SHOWJOBS

表A-114では、SHOWJOBSキーワードを使用できるコンポーネントを示します。

表A-114 SHOWJOBSを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

いいえ

はい

いいえ

説明: SHOWJOBSを使用して、Reports Serverのキュー・ステータスをWeb形式で表示します。クラスタ環境では、SHOWJOBSは、クラスタの一部であるインプロセス・サーバーをすべて表示します。クラスタのジョブと個々のサーバーの両方のジョブを表示できます。サーバーが停止した場合でも、そのサーバーの過去のジョブに関する情報を取得できます。

構文 http://your_webserver/reports/rwservlet/showjobs[n][?]
[server=server_name][&authid=username/password]
[&queuetype={current|past|future}]
[&startrow=start_position_in_job_queue]
[&count=number_of_jobs_to_display]
[&statusformat={html|xml|xmldtd}]

値  構文を参照してください。

デフォルト なし

使用上のノート

- このキーワードに値は必要ありません。つまり、対応する値を指定せず、キーワードのみで入力します。

- Reports Serverの名前が、環境変数またはOracle Reports Servlet (rwservlet)構成ファイルによって暗黙的に指定されているか、URLリクエストで明示的に指定されている必要があります。リフレッシュ数nはオプションです。この値を指定すると、レポートのキュー・ステータスがn秒ごとに更新されます。

- STATUSFORMATはhtml(デフォルト)、xmlまたはxmldtdに設定できます。指定した形式でステータスが返されます。ステータス情報は、HTML、XMLまたはXMLDTD (DTDの内部サブセット)に生成されます。

- 関連するキーワードは、SERVER、AUTHIDおよびSTATUSFORMATです。

例

SHOWJOBSを使用して、統合されたジョブ・キューを高可用性環境で表示するには、次のように指定します。

http://host:port/reports/rwservlet/showjobs

ここで、hostおよびportは、それぞれロード・バランサのホスト名およびポート番号です。

A.8.9 SHOWMAP

表A-115では、SHOWMAPキーワードを使用できるコンポーネントを示します。

表A-115 SHOWMAPを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

いいえ

はい

いいえ

説明: SHOWMAPを使用して、rwservletのキー・マッピングを表示できます。

構文 http://your_webserver/reports/rwservlet/showmap[?]
[server=server_name][&authid=username/password]

値 構文を参照してください。

デフォルト なし

使用上のノート:

- このキーワードに値は必要ありません。つまり、対応する値を指定せず、コマンドのみで入力します。

- 関連するキーワードは、SERVERおよびAUTHIDです。

A.8.10 SHOWMYJOBS

表A-116では、SHOWMYJOBSキーワードを使用できるコンポーネントを示します。

表A-116 SHOWMYJOBSを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

いいえ

はい

いいえ

説明: SHOWMYJOBSを使用して、特定ユーザーに対するReports Serverキュー・ステータスを表示します。

構文 http://your_webserver/reports/rwservlet/showmyjobs[?]
[server=server_name][&authid=username/password]
[&statusformat={html|xml|xmldtd}]

値 構文を参照してください。

デフォルト なし

使用上のノート

- このキーワードに値は必要ありません。つまり、対応する値を指定せず、コマンドのみで入力します。

- STATUSFORMATはhtml(デフォルト)、xmlまたはxmldtdに設定できます。指定した形式でステータスが返されます。ステータス情報は、html、xmlまたはxmldtd (dtdの内部サブセット)に生成されます。

- 関連するキーワードは、SERVER、AUTHIDおよびSTATUSFORMATです。

A.8.11 SHUTDOWN

表A-117では、SHUTDOWNキーワードを使用できるコンポーネントを示します。

表A-117 SHUTDOWNを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

rwbridge

いいえ

いいえ

いいえ

いいえ

いいえ

はい

はい

説明: SHUTDOWNを使用して、すでに実行中のサーバーやOracle Reports Bridgeを停止します。

また、rwserverとともに使用する場合、AUTHIDを使用してユーザー名とパスワードを指定する必要があります。

Oracle Reports Bridgeが保護されている場合(identifier要素がOracle Reports Bridge構成ファイルで設定されている場合)、rwbridgeとともに使用する際、AUTHIDも使用してユーザー名とパスワードを指定する必要があります。

構文 SHUTDOWN={NORMAL|IMMEDIATE}

値

- NORMALの場合、通常の停止プロシージャを使用して、サーバーやOracle Reports Bridgeを正常に停止します。

- IMMEDIATEの場合、他のプロセスが実行を完了するまで待機せずに、サーバーやOracle Reports Bridgeをただちに停止します。

デフォルト: NORMAL

使用上の注意: SHUTDOWNキーワードを使用するユーザーは、Oracle Reports管理ユーザーである必要があります。サーバーのセキュリティが有効な場合、サーバーはsecurity APIに問合せを行い、ユーザーのロールが停止を実行するのに適切かどうか(つまり、ユーザーがOracle Reports管理ユーザーかどうか)を判別します。セキュリティが有効でない場合も、ユーザーは、そのサーバーで定義されたOracle Reports管理ユーザーである必要があります。

A.8.12 SITENAME

表A-118では、SITENAMEキーワードを使用できるコンポーネントを示します。

表A-118 SITENAMEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: SITENAMEを使用して、レポート出力の配信先となるOracle WebDBリリース2.2サイトの名前を指定します。このキーワードは、Oracle WebDBリリース2.2に対する下位互換性を確保するために維持されています。Oracle9iAS Portalリリース1に対する下位互換性の詳細は、「CONTENTAREA」を参照してください。Oracle Portal 10g リリース1 (9.0.4)以降では、PAGEGROUPを使用してください。

構文: SITENAME=name

値

nameには、Oracle WebDBリリース2.2で使用されている有効なサイト名を指定します。

デフォルト なし

使用上のノート

- Oracle WebDBリリース2.2へのOracle Reports出力の送信において、このキーワードの使用は必須です。

- 関連するキーワードは、CONTENTAREA*、EXPIREDAYS、ITEMTITLE、OUTPUTFOLDER*、OUTPUTPAGE、PAGEGROUP、SITENAME*、STATUSFOLDER*、STATUSPAGEです。
* Oracle9iAS Portalリリース1およびOracle WebDBリリース2.2に対する下位互換性を確保するために維持されています。

A.8.13 SOURCE

表A-119では、SOURCEキーワードを使用できるコンポーネントを示します。

表A-119 SOURCEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

はい

いいえ

いいえ

説明: SOURCEを使用して、変換する1つのレポートまたはライブラリ、あるいはそれらのリストを指定できます。rwconverterコマンドを実行するには、ソース・レポートまたはソース・ライブラリを指定する必要があります。

構文: SOURCE={source_name|(source_name1, source_name2, ...)}

値: 有効なレポート名、ライブラリ名またはファイル名、あるいは名前をカンマで区切り、括弧で囲んだそれらのリスト((qanda, test, dmast)など)を指定します。

デフォルト なし

使用上のノート

- データベースに格納されているレポートまたはライブラリには、SQLのワイルドカード文字(%および_)を使用できます。たとえば、R%では、データベースに格納されているRで始まるすべてのレポートがフェッチされます。一致するすべてのレポートが変換されます。

- レポート名、ライブラリ名、ファイル名のリストは、名前をカンマで区切り、括弧で囲む必要があります。例:
(qanda,test,dmast)または(qanda, test, dmast)

- ワイルドカード文字は、ファイルに保存されているレポートまたはライブラリ(.rdf、.rep、.rex、.pld、.pllまたは.xmlの拡張子を持つもの)に対しては無効です。

- SOURCEキーワードの値は、オペレーティング・システムによって異なります。

- ユーザー所有のOracle Reports Builder表を使用する場合、複数のユーザーからのレポートやライブラリは、各ユーザー用に個別に変換する必要があります。

- レポートまたはライブラリを変換するには、これらを自分で作成済であるか、または自分が作成したものでない場合は、アクセス権限が付与されている必要があります。レポートまたはライブラリ名の前にUSERID文字列が付いていない場合、USERID文字列は現行のユーザーと想定されます。

- DTYPE=REGISTERである場合、宛先タイプや出力フォーマット、ユーザー・アクセス、および使用可能日カレンダなどのパラメータが共通のレポート定義ファイルのみを指定する必要があります。

A.8.14 SQLTRACE

表A-120では、SQLTRACEキーワードを使用できるコンポーネントを示します。

表A-120 SQLTRACEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

説明: SQLTRACEを使用して、レポート定義を変更せずに、レポートにSQLトレースを実行するかどうかを指定できます。

構文 SQLTRACE=[YES|NO]

値

- YESの場合、レポートにSQLトレースが実行されます。

- NOの場合、レポートにSQLトレースは実行されません。

デフォルト: NO

A.8.15 SSOCONN

表A-121では、SSOCONNキーワードを使用できるコンポーネントを示します。

表A-121 SSOCONNを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

いいえ

はい

いいえ

説明: SSOCONNを使用して、Single Sign-On環境で1つ以上のデータ・ソースへの接続に使用する1つ以上の接続文字列を指定できます。

構文: SSOCONN=key[/type[/conn_string_parameter]][,key[/type[/conn_string_parameter]]]

値: SSOCONN構文で表される変数値に関する情報を次に示します。

- keyは、Oracle Internet Directoryに格納される接続文字列値を参照します。

- typeは、接続するデータ・ソースの種類であり、keyと関連付けられた文字列の書式を識別します。type値は、Oracle Internet Directoryに格納されている有効なリソース・タイプである必要があります。Oracle Reportsには、次のデータソースについてデフォルトのリソース・タイプが用意されています。

- Oracleデータベース(OracleDB)

- JDBC (JDBCPDS)

- Oracle Express (EXPRESSPDS)

- conn_string_parameterは、Oracle Reportsシステムの名前、または接続文字列をrwservletに渡してレポートを実行するために使用されるユーザー・パラメータです。たとえば、OracleDBデータ・ソースの場合、Oracle ReportsではUSERIDパラメータにより接続文字列を受け取り、これを使用して指定Oracleデータベースに接続します。同様に、JDBCPDSの場合はP_JDBCPDSが使用されます。独自のプラガブル・データ・ソースがある場合、Oracle Reportsに接続文字列を渡すために独自のユーザー・パラメータを定義して、それをSSOCONNのconn_string_parameterとして指定する必要があります。

例:

SSOCONN=mykey/OracleDB/USERID

デフォルト なし

使用上のノート

- レポートに複数のデータ・ソースが使用されている場合、データ・ソース接続文字列をカンマで区切ります。例:
ssoconn=key1/type1/conn_str,key2/type2/conn_str2,key3/type3/conn_str3

- SSOCONNをコマンドラインで使用する場合は、次のことが行えません。

- 同一のコマンドラインでAUTHIDを指定します。

- セキュアでないReports Serverに対して実行します。

- rwservlet.propertiesでSINGLESIGNON=NOに設定します。

- 表A-122に示すようにSSOCONNの簡易バージョンも使用できます。

表A-122 SSOCONNオプションの簡易バージョン

オプション

説明

ssoconn=mkey

キー名のみを指定した場合、typeとconn_string_parameterのデフォルト値は、OracleDBとUSERIDです。

ssoconn=mkey/PDSApp

キー名とデータ・ソース・タイプの両方を指定した場合、conn_string_parameterのデフォルト値はUSERIDです。

- SSOCONNは、コマンドラインからJSPベースのWebレポートを実行している場合にも使用できます。JSPとして実行するレポートにSSOCONNキーワードを使用する場合、アンパサンド(&)を使用して、接続文字列を区切ります。例:
http://...:8888/myjsp/foo.jsp?name1=value1&name2=value2 …

ノート:

Oracle ReportsとSingle Sign-On (SSO)の詳細は、第16章「Oracle Single Sign-Onの構成と管理」を参照してください。

A.8.16 STATUSFOLDER

表A-123では、STATUSFOLDERキーワードを使用できるコンポーネントを示します。

表A-123 STATUSFOLDERを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: STATUSFOLDERを使用して、ジョブ・ステータス情報の配信先となるOracle WebDBリリース2.2またはOracle9iAS Portalリリース1のフォルダの名前を指定します。この指定を省略すると、Oracle_Reports_Statusという新規フォルダが作成されます。このキーワードは、Oracle WebDBリリース2.2およびOracle9iAS Portalリリース1に対する下位互換性を確保するために維持されています。Oracle Portal 10g (9.0.4)以降では、STATUSPAGEを使用してください。

構文: STATUSFOLDER=folder

値

folderには、Oracle WebDBリリース2.2またはOracle9iAS Portalリリース1で使用される有効なフォルダ名(内部名)を指定します。

デフォルト Oracle_Reports_Status

使用上のノート

- Oracle WebDBリリース2.2またはOracle9iAS Portalリリース1へのOracle Reports出力の送信において、このキーワードの使用はオプションです。

- このキーワードの値は大文字と小文字を区別します。

- 関連するキーワードは、CONTENTAREA*、EXPIREDAYS、ITEMTITLE、OUTPUTFOLDER*、OUTPUTPAGE、PAGEGROUP、SITENAME*、STATUSFOLDER*、STATUSPAGEです。
* Oracle9iAS Portalリリース1およびOracle WebDBリリース2.2に対する下位互換性を確保するために維持されています。

A.8.17 STATUSFORMAT

表A-124では、STATUSFORMATキーワードを使用できるコンポーネントを示します。

表A-124 STATUSFORMATを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

いいえ

はい

いいえ

説明: STATUSFORMATを使用して、Reports Serverのキュー・ステータスをWebで表示する際の形式を指定します。

構文 http://yourwebserver/rwservlet/showjobs?
server=server_name&statusformat={html|xml|xmldtd}

値

- htmlの場合、Reports Serverのキュー・ステータスをHTML形式で出力します。

- xmlの場合、Reports Serverのキュー・ステータスをXML形式で出力します。

ノート:

Oracle Reports 11gリリース2 (11.1.2)には、ERRORSTATUSXMLという新しいパラメータが含まれており、これを使用するとReportsジョブが失敗した場合でもXMLフォーマットでエラー・ステータスを表示できます。XMLでERRORSTATUSXMLを表示するには、rwservletコマンドラインでERRORSTATUSXML=Yesを設定します。

イベント・ベースのレポートの場合は、srw.run_reportsをコールする前に次のステップを実行し、ERRORSTATUSXMLを有効化します。

- srw.ignore_server_errorをコールします。そして、

- srw.add_parameterをコールして、リクエストにerrorstatusxml=yesを追加します。

- xmldtdの場合、Reports Serverのキュー・ステータスをインライン・データ型定義情報を持つXML形式で出力します。

デフォルト: html

使用上の注意: STATUSFORMATは、SHOWJOBSおよびSHOWMYJOBSキーワードとともに使用します。

A.8.18 STATUSPAGE

表A-125では、STATUSPAGEキーワードを使用できるコンポーネントを示します。

表A-125 STATUSPAGEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: STATUSPAGEを使用して、ジョブ・ステータス情報の配信先となるOracle Portalページの名前を指定します。この指定を省略すると、Oracle_Reports_Statusという新規ページが作成されます。旧リリース(Oracle WebDBリリース2.2およびOracle9iAS Portalリリース1)に対する下位互換性の詳細は、「STATUSFOLDER」を参照してください。

構文: STATUSPAGE=page

値

pageには、Oracle Portalで使用される有効なページ名(内部名)を指定します。

デフォルト Oracle_Reports_Status

使用上のノート

- 出力をOracle Portalに配信する際、このキーワードの使用はオプションです。

- このキーワードの値は大文字と小文字を区別します。

- 関連するキーワードは、CONTENTAREA*、EXPIREDAYS、ITEMTITLE、OUTPUTFOLDER*、OUTPUTPAGE、PAGEGROUP、SITENAME*、STATUSFOLDER*、STATUSPAGEです。
* Oracle9iAS Portalリリース1およびOracle WebDBリリース2.2に対する下位互換性を確保するために維持されています。

A.8.19 STYPE

表A-126では、STYPEキーワードを使用できるコンポーネントを示します。

表A-126 STYPEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

いいえ

はい

いいえ

いいえ

説明: STYPEを使用して、変換するレポートまたはライブラリの形式を指定できます。

構文 STYPE={PLDFILE|PLLFILE|RDFFILE|REXFILE|XMLFILE|JSPFILE}

値 次の値をどれか1つ指定します。

- PLDFILEの場合、ソースPL/SQLライブラリはASCII形式のファイルに格納されています。

- PLLFILEの場合、ソースPL/SQLライブラリは、ソース・コードおよびPコード(コンパイル済PL/SQL)を含むファイルに格納されています。

- RDFFILEの場合、ソース・レポートは1つ以上のレポート定義ファイル(拡張子rdfを持つファイル)に格納されています。

- REXFILEの場合、ソース・レポートは1つ以上のテキスト・ファイル(拡張子rexを持つファイル)に格納されています。

- XMLFILEの場合、ソース・レポートは1つ以上のXMLファイルに格納されています。

- JSPFILEの場合、ソース・レポートは1つ以上のJSPファイルに格納されています。

デフォルト: RDFFILE

使用上の注意: DTYPE=REGISTERの場合、STYPEにはRDDFILE、REXFILE、XMLまたはJSPFILEを選択します。

A.8.20 SUBJECT

表A-127では、SUBJECTキーワードを使用できるコンポーネントを示します。

表A-127 SUBJECTを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

いいえ

いいえ

はい

いいえ

説明: SUBJECTを使用して、電子メールの件名を指定できます。

構文: SUBJECT="string"

値 任意のテキスト文字列。

デフォルト なし

使用上のノート

- 文字スペースを含む件名は、引用符(" ")で囲みます。単一語句の件名には引用符は不要です。

- 関連するキーワードは、BCC、CC、FROMおよびREPLYTOです。電子メールの主な宛先を指定するには、DESNAMEを使用します。

A.8.21 SUPPRESSLAYOUT

表A-128では、SUPPRESSLAYOUTキーワードを使用できるコンポーネントを示します。

表A-128 SUPPRESSLAYOUTを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

説明: SUPPRESSLAYOUTを使用して、実行時にペーパー・レイアウトのフォーマットを実行するかどうかを指定します。このキーワードにより、レポートの実行時にペーパー・レイアウトを実行させるかどうかを制御できます。このキーワードは通常、JSPレポートのパフォーマンスを向上させる場合に使用します。JSPレポートにペーパー・レイアウトがある場合、そのレイアウト内のオブジェクトは<rw:include>タグで参照されるため、Oracle Reportsでは、レポートのJSPセクションを実行する前に、ペーパー・レイアウトをフォーマットします。ペーパー・レイアウトとWebレイアウトの両方が保存されているが、ペーパー・レイアウト・オブジェクトが参照されない単一のソースJSPレポートのパフォーマンスを向上させる場合は、コマンドラインでSUPPRESSLAYOUT=YESに設定します。

ノート:

<rw:include>タグがある場合、そのタグの出力は作成されません。

構文 SUPPRESSLAYOUT=[YES|NO]

値

- YESの場合、実行時にペーパー・レイアウト・オブジェクトはフォーマットされません。

- NOの場合、実行時にペーパー・レイアウト・オブジェクトはフォーマットされます。

デフォルト: NO

A.8.22 TOLERANCE

表A-129では、TOLERANCEキーワードで使用できるコンポーネントを示します。

表A-129 TOLERANCEを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

いいえ

いいえ

いいえ

はい

いいえ

説明: TOLERANCEを使用して、重複したジョブが検出された場合の、レポートのキャッシュ済出力の再利用に対する最大許容時間(分)を設定できます。レポートについて許容時間を設定すると、重複したジョブが見つかった場合の処理時間が短縮されます。

重複ジョブの検出の詳細は、「キャッシュからのレポート出力の再使用」を参照してください。

構文: TOLERANCE=time_string

値

time_stringには、次のいずれかの形式を使用できます。

- n{unit}は、オプションの単位を持つ数値の場合に使用します。unitには、minute(s)、hour(s)またはday(s)を指定できます。単位を指定しない場合は、デフォルトのminute(s)が使用されます。

- {Mon DD, YYYY} hh:mi:ss am|pm {timezone}が日付/時刻の書式として使用されます。日付情報はオプションです。日付を指定しないと、本日の日付が使用されます。タイムゾーンもオプションです。タイムゾーンを指定しないと、Reports Serverのタイムゾーンが使用されます。日付/時刻の書式には必ず米国のロケールを使用します。この書式は、JavaのDateFormat.MEDIUMタイプの定義と同じです。

デフォルト なし

使用上のノート

- TOLERANCEが設定されていないと、キャッシュに重複レポートが見つかった場合でも、Oracle Reports Servicesではそのレポートを再実行します。

- 同一ジョブが送信された際にレポートが処理中(つまり、現行ジョブ・キューにあるとき)の場合、TOLERANCEが指定されていない場合やゼロに設定されている場合でも、Oracle Reports Servicesでは現在実行中のジョブの出力を再利用します。

A.8.23 URLPARAMETER

表A-130では、URLPARAMETERキーワードを使用できるコンポーネントを示します。

表A-130 URLPARAMETERを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

いいえ

いいえ

いいえ

はい

いいえ

説明: URLPARAMETERを使用して、URLエンジンでフェッチするURLを指定できます。

構文: URLPARAMETER=http://your_webserver/page_name.html

値 有効なURL

デフォルト なし

使用上の注意: Reports Server構成ファイルのjob要素でjobType=rwurlが指定されていてURLエンジンが存在する場合に、このキーワードは関係します。

A.8.24 USEJVM

表A-131では、USEJVMキーワードを使用できるコンポーネントを示します。

表A-131 USEJVMを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

いいえ

いいえ

いいえ

いいえ

いいえ

説明: USEJVMを使用して、rwclientがReports Serverとの通信にJava Virtual Machine (JVM)を使用するかどうかを指定します。

構文 USEJVM=YES|NO

値

- YESの場合、rwclientはJVMを起動し、CORBAを使用してReports Serverに接続を試みます。これに失敗した場合は、下位互換性のために使用できるSQLNetを使用して接続を試みます。

- NOの場合、rwclientはJVMを起動しません。かわりに、SQLNetを使用してReports Server (Oracle Reports 6iサーバー)と通信します。

デフォルト: YES

A.8.25 USERID

表A-132では、USERIDキーワードを使用できるコンポーネントを示します。

表A-132 USERIDを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

はい

はい

いいえ

説明: USERIDは、Single Sign-Onを使用していない場合にのみ、Oracleユーザー名およびパスワードを、リモート・データベースにアクセスするためのオプションのデータベース名とともに指定するために使用します。パスワードを省略すると、ユーザーにレポートの実行が許可される前に、データベース・ログイン・フォームが自動的に表示されます。

ユーザーのデータベースへのログインを実施させるには、レポート・リクエストからUSERIDキーワードのパスワード部分を省いてください。レポート・リクエストを実行するたびにユーザーにログインさせるようにするには、cgicmd.datキー・マップ・ファイルを使用してランタイム・コマンドを指定し(詳細は第17.13項「キー・マップ・ファイルの使用」を参照)、%Dオプションを関連キー・マップ・エントリに含めます。

構文: userid=username[/password][@database]

値

- usernameには、データベース管理者によって割り当てられているユーザー名を指定します。

- passwordには、ユーザー名に対するパスワードを指定します。後述の「使用上の注意」を参照してください。

- databaseには、アクセスするデータベースの名前を指定します。

デフォルト なし

使用上のノート

- ログイン定義は512バイトを超えることはできません。

- USERIDは、コマンドラインからJSPベースのWebレポートを実行する場合にも使用できます。

- rwbuilder、rwrun、rwclientまたはrwconverterでUSERIDを使用するときにパスワードを含めないことを強くお薦めします。多くのオペレーティング・システムでは、この情報は、すべてのユーザーが入手できるようになります(たとえば、UNIXではpsコマンドを使用)。かわりにSSOCONNキーワードを使用してください。

A.8.26 USERSTYLES

表A-133では、USERSTYLESキーワードを使用できるコンポーネントを示します。

表A-133 USERSTYLESを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

はい

はい

はい

いいえ

はい

いいえ

説明: USERSTYLESを使用して、HTMLCSS出力を生成するときに、外部スタイル・シート・ファイル(.css)をレポートと関連付けるかどうかを指定します。レポートに適用するスタイル・シートは、レポートの「スタイル・シート」プロパティで指定します。この値は、デフォルトではYESに設定されています。また、この値は、ペーパー・デザイン・レイアウトに組み込まれた設計時スタイルより優先されます。

関連項目:

オンラインHTML形式の詳細は、Oracle Reportsレポートの作成を参照してください。

構文 USERSTYLES=YES|NO

値

- YESの場合、HTMLCSS出力を生成するときに、レポートの「スタイル・シート」プロパティで指定された1つ以上の外部スタイル・シートとレポートを関連付けます。

- NOの場合、レポートの設計時に適用された形式がレポートと関連付けられます。外部スタイル・シートは無視されます。

デフォルト: YES

使用上のノート

- YESとNO以外の値を指定すると、Oracle ReportsではデフォルトのYESになります。

- レポートが外部スタイル・シートと関連付けられていないと判明した場合、次の事項を確認します。

- 「スタイル・シート」プロパティでスタイル・シートへの正しいパスを指定してあります。

- 「CSSクラス名」および「CSS ID」プロパティで指定されたスタイルが、指定されたスタイル・シートで定義されています。

関連項目:

「スタイル・シート」、「CSSクラス名」および「CSS識別子」プロパティの詳細は、Oracle Reportsのオンライン・ヘルプを参照してください。

- USERSTYLESがYESに設定されています。

例

http://myias.mycomp.com:7779/reports/rwservlet?server=myrepserv+report=test.jsp+us
erid=scott/tiger@mydb+desformat=HTMLCSS+DESTYPE=cache+userstyles=yes

A.8.27 VALIDATETAG

表A-133では、VALIDATETAGキーワードを使用できるコンポーネントを示します。

表A-134 VALIDATETAGを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

はい

いいえ

いいえ

いいえ

説明: VALIDATETAGは、JSPベースのWebレポートの設計時または配布時に、JSPタグの検証を強制し、重複フィールドのIDや不正な属性などの項目をチェックするかどうかを指定します。

関連項目:

VALIDATETAGを使用してレポートのパフォーマンスをチューニングする方法の詳細は、第23.8項「レポートの実行」を参照してください。

構文 VALIDATETAG=YES|NO

値

- YESの場合、タグ検証が強制され、重複フィールドのIDや不正な属性などの項目がチェックされます。

- NOの場合、タグの検証は行われません。

デフォルト

- 設計時に、Oracle Reports BuilderからJSPベースのWebレポートを実行する場合はYES。

- 実行時に、JSPベースのWebレポートを配布する場合はNO。

使用上のノート

- この機能は、本番環境ではなく、設計フェーズでのみ有用です。デフォルトでは、Oracle Reports Builderでレポートの設計中はVALIDATETAG=YESであり、Oracle Reports Servicesでレポート配布の場合はVALIDATETAG=NOです。レポートを配布するときにこのオプションをオンにするには、httpリクエストでVALIDATETAG=YESを指定します(http://my.server.com/myreport.jsp?VALIDATETAG=YESなど)。

- レポートを配布するときにVALIDATETAG=YESを使用すると、パフォーマンスが低下します。

- Reports Builderをコマンドラインからrwbuilder VALIDATETAG=NOを指定して起動すると、無効なJSPタグ構造を含むレポートが設計されるおそれがあります。

A.8.28 WEBSERVER_DEBUG

表A-135では、WEBSERVER_DEBUGキーワードを使用できるコンポーネントを示します。

表A-135 WEBSERVER_DEBUGを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

はい

いいえ

いいえ

いいえ

説明: WEBSERVER_DEBUGを使用して、JSPのデバッグを実行できます。これを使用すると、stderr.logファイルおよびstdout.logファイルがdocroot/port#ディレクトリに作成され、JSP一時ファイルはdocroot/port#/defaultに、ログ・ファイルはdocroot/port#/logに残されるので、ユーザーは調べることができます。

構文 WEBSERVER_DEBUG={YES|NO}

値

- YESの場合、デバッグ・ファイルが作成されます。

- NOの場合、デバッグ・ファイルは作成されません。

デフォルト: NO

使用上のノート

- このキーワードは、ジョブをJSPとして実行している場合のみ使用してください。

- 関連するキーワードは、WEBSERVER_DEBUG、WEBSERVER_DOCROOT、WEBSERVER_PORTです。

A.8.29 WEBSERVER_DOCROOT

表A-136では、WEBSERVER_DOCROOTキーワードを使用できるコンポーネントを示します。

表A-136 WEBSERVER_DOCROOTを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

はい

いいえ

いいえ

いいえ

説明: WEBSERVER_DOCROOTを使用して、Oracle Reportsドキュメント・ルート・ディレクトリを設定します。イメージ、HTMLなどJSPで参照するすべてのファイルは、このディレクトリに対する相対パスで指定される必要があります。ドキュメント・ルートを作業ディレクトリに設定することで、これらのファイルをコピーする必要がなくなります。

構文: WEBSERVER_DOCROOT=REPORTS_TMP/docroot

値 レポート・ファイルのルート・フォルダ・ディレクトリ。

デフォルト: $DOMAIN_HOME/servers/WLS_REPORTS/tmp/_WL_user/reports_<version>/<random_string>/war

使用上のノート

- このキーワードは、ジョブをJSPとして実行している場合のみ使用してください。

- 関連するキーワードは、WEBSERVER_DEBUG、WEBSERVER_DOCROOT、WEBSERVER_PORTです。

例

WEBSERVER_DOCROOT=c:/temp/docroot

A.8.30 WEBSERVER_PORT

表A-137では、WEBSERVER_PORTキーワードを使用できるコンポーネントを示します。

表A-137 WEBSERVER_PORTを使用するコンポーネント

rwclient

rwrun

rwbuilder

rwconverter

rwservlet

rwserver

いいえ

いいえ

はい

いいえ

いいえ

いいえ

説明: WEBSERVER_PORTを使用して、内部Webサーバーがリスニングするポート番号を指定できます。Oracle Reports Builderは、WEBSERVER_PORTで指定されたポート番号でJSPレポートを実行します。

構文: WEBSERVER_PORT=port_num

値

port_num: 有効なポート番号

デフォルト

Oracle HTTP Serverなどの外部Webサーバーのポート番号

使用上のノート

- このキーワードは、ジョブをJSPとして実行している場合のみ使用してください。

- 関連するキーワードは、WEBSERVER_DEBUG、WEBSERVER_DOCROOT、WEBSERVER_PORTです。

B 環境変数

環境変数とは、Oracle Reports環境を構成するパラメータです。関連する環境変数には、Oracle Fusion Middlewareのインストーラによって自動的にデフォルト値が定義されます。環境変数の設定を編集してデフォルトの動作を変更します。

- Windowsの場合は、レジストリ・エディタで環境変数を編集します(「スタート」→「ファイル名を指定して実行」→「Regedit」)。

- UNIXの場合は、初期のデフォルト値を定義するシェル・スクリプト(reports.sh)を修正して実行することで、環境変数を編集します。この場合、変更前のreports.shファイルのバックアップを作成してください。

ノート:

Oracle Reports 11gリリース2 (11.1.2)のreports.shファイルには、そのリリースに必要な変更が含まれている場合があります。したがって、以前のリリースでreports.shファイルに変更を行った場合、アップグレードを実行する前にバックアップを保存してください。アップグレードした後、Oracle Reports 11gリリース2 (11.1.2)でインストールされたreports.shファイルとその変更とをマージします。

INSTANCE_HOME/config/reports/bin/reports.shファイル(UNIXの場合)またはレジストリ・ファイル(Windowsの場合)で環境変数を設定した場合、そのインスタンスのホームにあるReports Serverすべてが影響を受けます。

特定のサーバーにのみ対して環境変数を設定する場合は、その特定のサーバーのopmn.xmlファイルの<environment>要素で環境変数を設定する必要があります。

インプロセス・サーバーに対して環境変数を設定する場合は、$DOMAIN_HOME/binにあるsetDomainEnv.shファイルで設定を変更する必要があります。

B.1 環境変数

表B-1では、すべてのOracle Reports環境変数をアルファベット順に要約したリストと、その有効値およびデフォルト値を示しています。

- グローバリゼーション・サポートの環境変数の詳細は、第22章「グローバリゼーションと双方向のサポートの実装」を参照してください。

- イタリックで記載された環境変数は、Common Gateway Interface (CGI)レポートの下位互換性のためや、Single Sign-Onが使用されていない場合のために、サポートされています。

ノート:

CGIのサポートにかわり、JavaServer Pages (JSP)またはサーブレットの機能が実装されています。

表B-1では、すべてのOracle Reports環境変数をアルファベット順に要約したリストと、その有効値およびデフォルト値を示しています。

表B-1 Oracle Reports環境変数

キーワード

有効値

デフォルト

CA_GPREFS

任意のドライブのディレクトリ

ORACLE_HOME

CA_UPREFS

任意のドライブのディレクトリ

%ORACLE_INSTANCE%\FRComponent\frcommon\tools

DELIMITED_LINE_END

YES|NO

YES

DOC

任意のドライブのディレクトリ

ORACLE_HOME\tools\doc

DEVELOPER_NLS_LANG

第22章「グローバリゼーションと双方向のサポートの実装」を参照してください。

第22章「グローバリゼーションと双方向のサポートの実装」を参照してください。

NLS_CALENDAR

NLS_CREDIT

NLS_CURRENCY

NLS_DATE_FORMAT

NLS_DATE_LANGUAGE

NLS_DEBIT

NLS_ISO_CURRENCY

NLS_LANG

AMERICAN_AMERICA.WE8ISO8859P1

NLS_LIST_SEPARATOR

NLS_MONETARY_CHARACTERS

NLS_NUMERIC_CHARACTERS

NLS_SORT

ORACLE_AFM

任意のドライブのディレクトリ

定義されていません

ORACLE_HOME

任意のドライブのディレクトリ

C:\orawin

ORACLE_HPD

任意のドライブのディレクトリ

定義されていません

ORACLE_INSTANCE

任意のドライブのディレクトリ

インストール時にユーザーが指定したディレクトリ

ORACLE_PATH

任意のドライブのディレクトリ

定義されていません

ORACLE_PPD

任意のドライブのディレクトリ

定義されていません

ORACLE_TFM

任意のドライブのディレクトリ

定義されていません

ORAINFONAV_DOCPATH

任意のドライブのディレクトリ

定義されていません

PRINTER

デフォルトのプリンタ名

定義されていません

REMOTE

任意の有効なSQL*Netドライバ接頭辞とパラメータ

定義されていません

REPORTS_ADD_HWMARGIN

YES|NO

NO

REPORTS_ALLOW_DB_CONNECT_STRING

YES|NO

NO

REPORTS_ARABIC_NUMERAL

ARABIC|HINDI|CONTEXT

ARABIC(インド-アラビア数字)

REPORTS_BIDI_ALGORITHM

ORACLE|UNICODE|ENHANCED

ORACLE

REPORTS_CGIDIAGBODYTAGS

<BODY>タグへの有効なHTML属性

定義されていません

REPORTS_CGIDIAGHEADTAGS

<HEAD>と</HEAD>の間で有効なHTMLタグ

定義されていません

REPORTS_CGIHELP

WebページまたはHTMLファイルへの有効なURL

デフォルトのヘルプ画面がブラウザに表示されます

REPORTS_CGIMAP

キー・マップ・ファイルへの有効なパス(詳細は、第17.13項「キー・マップ・ファイルの使用」を参照)

$DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration/cgicmdd.dat

REPORTS_CGINODIAG

YES|NO

NO

REPORTS_CLASSPATH

デフォルト値は必須です。いずれかのエントリが削除されると、Oracle Reportsコンポーネントが正しく動作しなくなる場合があります。ユーザー定義ディレクトリまたはJavaクラスが含まれたJARファイルをパスに追加することができます。

%ORACLE_HOME%\reports\jlib\rwbuilder.jar;
%ORACLE_HOME%\reports\jlib\rwrun.jar;
%ORACLE_HOME%\jlib\zrclient.jar;
$ORACLE_HOME/modules/oracle.jsp_11.1.1/ojsp.jar:
$ORACLE_HOME/modules/oracle.javacache_11.1.1/cache.jar;

REPORTS_CONTAINSHTMLTAGS

YES|NO

YES

REPORTS_COOKIE_EXPIRE

任意の分数

30

REPORTS_CUPS_PRINTING

YES|NO

NO

REPORTS_DB_AUTH

特別な認証アクションが格納された任意のHTMLファイル。デフォルトの状態で使用することをお薦めします。

dbauth.htm

REPORTS_DEFAULT_DISPLAY

YES|NO

YES

REPORTS_DEFAULT_PIXEL_SIZE

72から200までの任意の値

Oracle Reportsによって決定される画面解像度

REPORTS_ENABLE_RTF_SPACING

YES|NO

NO

REPORTS_ENCRYPTION_KEY

任意の暗号化キー

reports9.0

REPORTS_ENHANCED_BIDIHANDLING

YES|NO

NO

REPORTS_ENHANCED_FONTHANDLING

YES|NO

YES

REPORTS_ENHANCED_SUBSET

YES|NO

YES

REPORTS_FONT_DIRECTORY

任意のドライブのディレクトリ

$ORACLE_INSTANCE/reports/fonts

REPORTS_GRAPH_IMAGE_DPI

72から300

72

REPORTS_IGNORE_IMAGE_TAG_RES

YES|NO

NO

REPORTS_IGNORE_SET_ROLE_ERROR

YES|NO

NO

REPORTS_JPEG_QUALITY_FACTOR

1から100

100

REPORTS_JVM_OPTIONS

JVMコマンドライン構文のJVMオプションのリスト

-Xmx256M

REPORTS_NETWORK_CONFIG

ORACLE_INSTANCE\config\ReportsServerComponent\server_nameの有効なカスタム・ネットワーク構成ファイル名

rwnetwork.conf

REPORTS_NLS_XML_CHARSETS

セミコロンで区切ったマッピング・ペアのセット。最初の値には生成されるエンコードを指定し、2番目の値にはマッピング値を指定します。

old_name=new_name
[;old_name=new_name]
[;old_name=new_name]...

定義されていません

REPORTS_NO_DUMMY_PRINTER

TRUE|設定しません

TRUE

REPORTS_NO_HTML_SPACE_REPLACE

YES|設定しません

設定しません

REPORTS_OUTPUTIMAGEFORMAT

GIF|JPEG|JPG|PNG|BMP

JPEG

REPORTS_PATH

任意のドライブのディレクトリ

%ORACLE_HOME%\REPORT\DEMO;
%ORACLE_HOME%\REPORT\DEMO\BITMAP
%ORACLE_HOME%\REPORT\DEMO\REQFILES

REPORTS_RESOURCE

任意のドライブのディレクトリ

%ORACLE_HOME%\reports\res\US

REPORTS_SERVER

任意のReports Serverサービス・エントリ名

REPORTS_SOLARIS_9

YES|NO

Solaris 2.9の場合はYES、他のプラットフォームの場合はNO

REPORTS_SPACE_BREAK

YES|NO

YES

REPORTS_SRWRUN_TO_SERVER

YES|設定しません

設定しません

REPORTS_SSLPORT

有効なポート番号

設定しません

REPORTS_SYS_AUTH

特別な認証アクションが格納された任意のHTMLファイル。デフォルトの状態で使用することをお薦めします。

sysauth.htm

REPORTS_TAGLIB_URI

Oracle Reportsタグ・ライブラリを参照する任意の"uri"

/WEB-INF/lib/reports_tld.jar

REPORTS_TMP

任意のドライブのディレクトリ

Windows: C:\Documents and Settings\<username>\Local Settings\Temp

UNIX: /tmp

REPORTS_UTF8_XMLOUTPUT

YES|NO

YES

REPORTS_USEREXITS

任意のユーザー・イグジットDynamic Link Library(絶対パス)

定義されていません

RW

有効なディレクトリ名

%ORACLE_HOME\reports (Windows)

$ORACLE_HOME/reports (UNIX)

TK_PRINT

PRINTコマンドと使用しているUNIXに応じたすべての必要なキーワード。これには次の要素が含まれます。

- %nは、プリンタ名の文字列です。

- %cは、印刷部数です。

この文字列は、printf()書式とほぼ同じです。この環境変数が設定されていない場合、Oracle Reports 6iは、プラットフォームの標準のデフォルト値を使用します。プラットフォームごとのデフォルト値の例を次に示します。

System V: lp -s -d'%n' -n%c

Solaris: lpr -P'%n' -#%c -s

定義されていません

TK_PRINT_STATUS

プリンタ名の%nを含める必要があります(「TK_PRINT」も参照)。

この環境変数が設定されていない場合、Oracle Reportsでは、組込みのデフォルト値が使用されます。

System V: /usr/bin/lpstat -p'%n' 2>&1

その他: /usr/etc/lpc status '%n' 2>&1

定義されていません

TK_PRINTER

デフォルトのプリンタ名

定義されていません

TK_AFM

任意のドライブのディレクトリ

定義されていません

TK_HPD

任意のドライブのディレクトリ

定義されていません

TK_PPD

任意のドライブのディレクトリ

定義されていません

TK_TFM

任意のドライブのディレクトリ

定義されていません

TNS_ADMIN

tnsnames.oraファイルが存在する任意のドライブのディレクトリ

INSTANCE_HOME\config

USERNAME

有効なOracleユーザー名(OPS$接頭辞なし)

定義されていません

USER_NLS_LANG

B.1.1 CA_GPREFS

説明: この環境変数は、グローバル設定ファイル、CAGPREFS.ORAの位置を指定します。グローバル設定はネットワーク・ユーザー間で共有されます。また、CA_GPREFSで指定されたディレクトリのみでなく、CAGPREFS.ORAファイルの現行ディレクトリも検索されます。

CAGPREFS.ORAファイルは、Oracle Installerによって自動的に作成されます。グローバル設定ファイルの内容を変更するには、メモ帳などのテキスト・エディタを使用して、ファイルを手動で編集します。このCAGPREFS.ORAファイルのグローバル設定よりも、CA_UPREFSで定義されるローカル設定ファイル、CAUPREFS.ORAが優先します。

有効値 任意のドライブのディレクトリ

デフォルト: ORACLE_HOME

例: CA_GPREFS=C:\orawin

B.1.2 CA_UPREFS

説明: この環境変数は、ユーザー設定ファイルCAUPREFS.ORAの場所を指定します。CAUPREFS.ORAファイルでは、製品内で「ツール」→「ツール・オプション」を選択して設定したプリファレンスが保持されます。また、CA_UPREFSで指定されたディレクトリのみでなく、CAUPREFS.ORAファイルの現行ディレクトリも検索されます。

Oracle製品の中には、その設定情報がCAUPREFS.ORAファイルに書き込まれるものもあります。ユーザー設定の内容を手動で変更するには、メモ帳などのテキスト・エディタを使用して、そのファイルを編集します。このCAUPREFS.ORAファイルのユーザー設定は、CA_GPREFSで定義されるCAGPREFS.ORAファイルのグローバル設定よりも優先します。

有効値 任意のドライブのディレクトリ

デフォルト: ORACLE_HOME

例: CA_UPREFS=C:\orawin

B.1.3 DELIMITED_LINE_END

説明 この環境変数は、デリミタ付き出力の行末にデリミタ付き文字を出力するかどうかを指定します。

有効値 YES|NO

デフォルト: YES

使用上のノート

- この環境変数をNOに設定すると、デリミタ付き文字が行末に出力されません。

B.1.4 DOC

説明 この環境変数は、オンライン・ヘルプを含むオンライン・ドキュメント・ファイルの位置を指定します。

有効値 任意のドライブのディレクトリ

デフォルト: ORACLE_HOME\tools\doc

例: DOC=C:\myreports_1012\tools\doc

B.1.5 DEVELOPER_NLS_LANG

説明: この環境変数は、レポートの言語を指定します。この環境変数とその有効値の詳細は、第22章「グローバリゼーションと双方向のサポートの実装」を参照してください。

B.1.6 NLS_CALENDAR

説明 この環境変数は、使用するカレンダ・システムを指定します。

B.1.7 NLS_CREDIT

説明 この環境変数は、正の通貨値を示す文字列を指定します。

B.1.8 NLS_CURRENCY

説明 この環境変数は、各国の通貨記号を指定します。

B.1.9 NLS_DATE_FORMAT

説明 この環境変数は、日付に使用するデフォルトの書式を指定します。

B.1.10 NLS_DATE_LANGUAGE

説明 この環境変数は、日付に使用するデフォルトの言語を指定します。

B.1.11 NLS_DEBIT

説明 この環境変数は、負の通貨値を示す文字列を指定します。

B.1.12 NLS_ISO_CURRENCY

説明 この環境変数は、ISO通貨記号を指定します。

B.1.13 NLS_LANG

説明 この環境変数は、次のような言語と設定を指定します。

- 「しばらくお待ちください」など、ユーザーに表示されるメッセージの言語

- 日付や数値に使用されるデフォルトの書式マスク

- ソート基準

- 文字セットを構成する文字

この環境変数とその有効値の詳細は、第22章「グローバリゼーションと双方向のサポートの実装」を参照してください。

構文: NLS_LANG= language_territory.charset

有効値

- languageは、メッセージおよび月と曜日の名前を表示する言語とその表記規則を指定します。

- territoryは、週番号と曜日番号の計算に使用される地域とその表記規則を指定します。

- charsetは、UPPER、LOWERおよびINITCAP関数に使用される文字セットと、ORDER BY問合せによって使用されるソートのタイプを指定します。この引数は、メッセージの表示に使用する文字セットも制御します。

デフォルト AMERICAN_AMERICA.WE8ISO8859P1

使用上のノート

- ロケールを変更するには、REPORTS_RESOURCE環境変数以外に、この環境変数も変更する必要があります。

- UNIXでは、この変数をORACLE_INSTANCE/config/reports/bin/reports.shに設定する必要があります。Oracle Reportsが稼動している環境でこの変数が設定されていると、reports.shに設定されている値ではなく、この環境で設定されている値が使用されます。reports.shに設定されている値を使用するには、環境内で変数の値をリセットする必要があります。

例: アプリケーションをフランス語で実行するとします。まず、アプリケーションをフランスで使用し、データをWE8ISO8895P1文字セットで表示するとします。この場合、NLS_LANGを次のように設定します。

NLS_LANG=French_France.WE8ISO8859P1

今度は、アプリケーションを同じフランス語で実行しますが、スイスで使用するとします。この場合、NLS_LANGを次のように設定します。

NLS_LANG=French_Switzerland.WE8ISO8859P1

その他の例:

NLS_LANG=Norwegian_Norway.NDK7DEC

NLS_LANG=Norwegian_Norway.WE8ISO8859P1

NLS_LANG=Japanese_Japan.JA16SJIS

NLS_LANG=Arabic_Egypt.AR8MSWIN1256

NLS_LANG=American_America.AR8MSWIN1256NLS_LANG=American_America.WE8ISO8859P1

B.1.14 NLS_LIST_SEPARATOR

説明 この環境変数は、リスト内の項目を区切るための文字を指定します。

B.1.15 NLS_MONETARY_CHARACTERS

説明 この環境変数は、通貨値用の小数点文字と3桁区切りを指定します。

B.1.16 NLS_NUMERIC_CHARACTERS

説明 この環境変数は、数値用の小数点文字と桁グループ・セパレータを指定します。

B.1.17 NLS_SORT

説明 この環境変数は、文字データに使用されるソートのタイプを指定します。

B.1.18 ORACLE_AFM

説明 この環境変数は、AFMファイルの位置を指定します。TK_AFMの後で、ORACLE_AFMが参照されます。

有効値 任意のドライブのディレクトリ

デフォルト 定義されていません。

使用上のノート

- いずれの変数にも値を指定しないと、Oracle Reportsでは、次のディレクトリのAFMファイルが検索されます。

ORACLE_HOME/guicommon/tk/admin/AFM

- UNIX上で印刷する場合、適切な印刷環境の作成には、いくつかの設定および構成が必要になります。詳細は、第9章「UNIXでのOracle Reportsによる印刷」を参照してください。

B.1.19 ORACLE_HOME

説明 この環境変数は、Windows Oracle製品がインストールされるホーム・ディレクトリを指定します。このディレクトリは、Oracleディレクトリ階層の中の最上位ディレクトリです。

有効値 任意のドライブのディレクトリ

デフォルト: C:\orawin

使用上のノート

- Reports Runtime (rwrun)を使用する場合、ORACLE_HOMEで指定した文字列とORACLE_PATHで指定した文字列を合せた文字列の長さが255文字を超えないようにしてください。

例: ORACLE_HOME=C:\orawin

B.1.20 ORACLE_HPD

説明 この環境変数は、HPDファイルの位置を指定します。TK_HPDの後で、ORACLE_HPDが参照されます。

有効値 任意のドライブのディレクトリ

デフォルト 定義されていません。

使用上のノート

- いずれの変数にも値を指定しないと、Oracle Reportsでは次のディレクトリのHPDファイルが検索されます。

ORACLE_HOME/guicommon/tk/admin/HPD

- UNIX上で印刷する場合、適切な印刷環境の作成には、いくつかの設定および構成が必要になります。詳細は、第9章「UNIXでのOracle Reportsによる印刷」を参照してください。

B.1.21 ORACLE_INSTANCE

説明: この環境変数は、Application Serverインスタンスに固有なファイルがインストールされているディレクトリを指定します。

有効値 任意のドライブのディレクトリ

デフォルト: インストール時にユーザーが指定したディレクトリ

使用上のノート

ORACLE_INSTANCEの長さは255文字を超えないようにしてください。

例

ORACLE_INSTANCE=C:\oracle\apps\reports

B.1.22 ORACLE_PATH

説明 この環境変数は、Reports Runtimeで参照されるファイルの検索パスを指定します。ただし、ORACLE_PATHで指定されたディレクトリは、REPORTS_PATHで指定されたディレクトリの後に検索されます。

ORACLE_PATHでは、複数のディレクトリを指定できます。パス・リスト内でディレクトリ名を区切るには、セミコロン(;)を使用します。

有効値 任意のドライブのディレクトリ

デフォルト  定義されていません。

使用上のノート

- Reports Runtime (rwrun)を使用する場合、ORACLE_HOMEで指定した文字列とORACLE_PATHで指定した文字列を合せた文字列の長さが255文字を超えないようにしてください。

例: ORACLE_PATH=C:\oracle\apps\forms;C:\oracle\apps\reports

B.1.23 ORACLE_PPD

説明 この環境変数は、PPDファイルの位置を指定します。TK_PPDの後で、ORACLE_PPDが参照されます。

有効値  任意のドライブのディレクトリ

デフォルト  定義されていません。

使用上のノート

- いずれの変数にも値を指定しないと、Oracle Reportsでは次のディレクトリのPPDファイルが検索されます。

ORACLE_HOME/guicommon/tk/admin/PPD

- UNIX上で印刷する場合、適切な印刷環境の作成には、いくつかの設定および構成が必要になります。詳細は、第9章「UNIXでのOracle Reportsによる印刷」を参照してください。

B.1.24 ORACLE_TFM

説明 この環境変数は、TFMファイルの位置を指定します。TK_TFMの後で、ORACLE_TFMが参照されます。

有効値  任意のドライブのディレクトリ

デフォルト  定義されていません。

使用上のノート

- いずれの変数にも値を指定しないと、Oracle Reportsでは次のディレクトリのTFMファイルが検索されます。

ORACLE_HOME/guicommon/tk/admin/TFM

- UNIX上で印刷する場合、適切な印刷環境の作成には、いくつかの設定および構成が必要になります。UNIXでOracle Reportsを印刷する方法の詳細は、第9章「UNIXでのOracle Reportsによる印刷」を参照してください。

B.1.25 ORAINFONAV_DOCPATH

説明 この環境変数では、オンライン・ドキュメントの目次と索引の位置を指定します。

有効値  任意のドライブのディレクトリ

デフォルト  定義されていません。

例: ORAINFONAV_DOCPATH=C:\orawin\oin

B.1.26 PRINTER

説明 この環境変数は、デフォルトのプリンタ名を指定します。

有効値  デフォルトのプリンタ名

デフォルト  定義されていません。

使用上のノート

- TK_PRINTERはPRINTERよりも優先します。つまり、両方の変数が設定されている場合は、TK_PRINTERが最初に参照されます。PRINTERが参照されるのは、有効なプリンタがTK_PRINTERに指定されていない場合のみです。TK_PRINTERとPRINTERの両方に、有効なプリンタが設定されていないと、Oracle Reportsではuiprint.txtファイルの最初のエントリが使用されます。REPORTS_NO_DUMMY_PRINTERが設定されており、uiprint.txtファイルに有効なエントリが含まれていない場合は、uiscreenprint.txtに指定されているscreenprinter.ppdが使用されます。

ノート:

REPORTS_NO_DUMMY_PRINTERはデフォルトで設定され、常に設定されている必要があります。これが設定されていない場合は(ユーザーが変更した結果)、REP-1800エラー・メッセージが表示されます。

関連項目:

screenprinter.ppdのPostScriptプリンタ・ドライバの詳細は、第9.8.1項「ScreenPrinter」を参照してください。

- UNIX上で印刷する場合、適切な印刷環境の作成には、いくつかの設定および構成が必要になります。詳細は、第9章「UNIXでのOracle Reportsによる印刷」を参照してください。

B.1.27 REMOTE

説明 この環境変数は、ローカル・データベースに接続する際に使用するデフォルトのリモートSQL*Netドライバを指定します。パラメータには、デフォルトのSQL*Netパラメータ(完全なデータベース文字列)を設定できます。

ユーザーがログインし、REMOTEの指定と一致するドライバ接頭辞を明示的に使用して接続を指定し、SQL*Netパラメータを指定しなかった場合は、REMOTEで指定されているパラメータが使用されます。このパラメータによりDBAは、SQL*Netユーザーが接続パラメータを指定する必要のない標準のネットワーク接続を定義できます。このパラメータは、コマンドラインからいつでもリセットできます。

ノート:

Windows用DOS SQL*Netドライバを使用する場合、DOS Oracleホーム・ディレクトリにあるCONFIG.ORAファイルにREMOTEパラメータが設定されているかどうかを確認してください。CONFIG.ORAにREMOTEが設定されている場合、同じ値をレジストリに設定する必要があります。

構文 REMOTE= netPrefix:databaseName

有効値

- netPrefixには、任意の有効なSQL*Netドライバ接頭辞を指定します。

- databaseNameには、ローカル・データベースの名前を指定します。

デフォルト 定義されていません。

例: REMOTE=P:PIPER

説明:

Pは、Named Pipesのネットワーク接頭辞です。

PIPERは、データベース名です。

B.1.28 REPORTS_ADD_HWMARGIN

説明 (Windowsのみ)この環境変数は、プリンタのハードウェアベースの左マージンを設定するかどうかを指定します。デフォルトでは、このマージンは無視されます。印刷は印刷可能領域ではなく、実際の用紙の左上隅(0、0)を起点として開始されます。そのため、プリンタ・ハードウェアのマージンに依存しないレポートを容易に設計できます。これらのレポートは、様々なプリンタに配布できます。

それまではプリンタの印刷可能領域が使用されていたため、プリンタの機種によって、レポート出力の位置が異なっていました。

必要に応じて、以前の動作に戻すことができます。その場合は、レジストリ変数REPORTS_ADD_HWMARGINをYESに設定します。

REPORTS_ADD_HWMARGINレジストリ変数を設定するには:

1. レジストリ・エディタ(たとえば、regedit.exe)を使用してWindowsのレジストリを編集します。

ノート:

レジストリを編集する前に、レジストリのバックアップを作成してください。

2. 次に示すキーにナビゲートします。

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEn

nは、このインストールが格納されているORACLE_HOMEの数です。

3. REPORTS_ADD_HWMARGINという新しい文字列値を追加し、この値をYESに設定します。

有効値 YES|NO

デフォルト: NO

使用上のノート

- Windowsでハードウェアベースの左マージンを入れずにレポートを印刷する際には、レポートのレイアウト時に、データが印刷可能領域に表示されるように十分なマージン・スペースを確保する必要があります。Oracle Reports Builderの「ページ設定」ダイアログ・ボックスの「マージン」フィールドは、Oracle Reports Servicesとの一貫性を保つために無効になっています。

B.1.29 REPORTS_ARABIC_NUMERAL

説明: この環境変数は、アラビア語のPDF出力での数値の書式を指定します。この環境で有効な値は、ARABIC(アラビア数字)、HINDI(ヒンディー数字)またはCONTEXT(コンテキストに応じてアラビア数字またはヒンディー数字)です。この環境変数では、大文字と小文字は区別されません。

有効値: ARABIC|HINDI|CONTEXT

デフォルト: ARABIC(インド-アラビア数字)

ノート:

REPORTS_ENHANCED_BIDIHANDLINGの値をYESに設定した場合、REPORTS_ARABIC_NUMERAL環境変数の有効値すべてがサポートされます。

関連項目: 付録B「REPORTS_ENHANCED_BIDIHANDLING」

B.1.30 REPORTS_ALLOW_DB_CONNECT_STRING

説明 この環境変数により、useridパラメータにおいてDB接続文字列が使用できるようになります。

有効値: YesまたはNo

デフォルト: No

使用上のノート

デフォルトでは、DB接続文字列は使用できません。ただし、tnsnamesは使用できます。tnsnamesのエイリアスは次のように指定できます。

userid=user/pwd@server_tns_alias

B.1.31 REPORTS_BIDI_ALGORITHM

説明 この環境変数は、双方向(BiDi)言語(アラビア語やヘブライ語など)の双方向レイアウト・アルゴリズムを切り替えます。この環境変数では、大文字と小文字は区別されません。

有効値

- ORACLE: Oracle ReportsではOracle BiDiアルゴリズムに従います。

- UNICODE: Oracle ReportsではUnicode BiDiアルゴリズムに従います。

- ENHANCED: Oracle Reportsでは拡張BiDiアルゴリズムに従います。

- UNICODE_VARIANT: Oracle ReportsではXXX BiDiアルゴリズムに従います。

デフォルト: ORACLE

ノート:

REPORTS_ENHANCED_BIDIHANDLINGの値をYESに設定した場合、REPORTS_BIDI_ALGORITHM環境変数に対して次の値がサポートされます。

- ORACLE

- UNICODE

- UNICODE_VARIANT

デフォルト値はUNICODEです。

関連項目: 付録B「REPORTS_ENHANCED_BIDIHANDLING」

Unicode BiDiアルゴリズムの詳細は、http://www.unicode.org/reports/tr9/ を参照してください。

B.1.32 REPORTS_CGIDIAGBODYTAGS

説明: この環境変数は、rwcgi診断およびデバッグ出力の<BODY>タグに追加するHTML属性を指定します。たとえば、この環境変数を使用して、テキストと背景色または背景イメージを設定できます。

この環境変数には下位互換性があります。

有効値: <BODY>タグに対して有効なHTML属性

デフォルト 定義されていません。

使用上のノート

Common Gateway Interface (CGI)レポートの下位互換性のためや、Single Sign-Onが使用されていない場合のために、この環境変数はサポートされています。

ノート:

CGIのサポートにかわり、JavaServer Pages (JSP)またはサーブレットの機能が実装されています。

例: REPORTS_CGIDIAGBODYTAGS="bgcolor="#CC3366""

B.1.33 REPORTS_CGIDIAGHEADTAGS

説明: この環境変数は、rwcgi診断およびデバッグ出力の<HEAD>タグと</HEAD>タグの間に挿入するHTMLタグを指定します。たとえば、この環境変数を使用して<TITLE>または<META>タグを設定できます。

有効値: <HEAD>タグと</HEAD>タグの間で有効なHTMLタグ

デフォルト 定義されていません。

使用上のノート

Common Gateway Interface (CGI)レポートの下位互換性のためや、Single Sign-Onが使用されていない場合のために、この環境変数はサポートされています。

ノート:

CGIのサポートにかわり、JavaServer Pages (JSP)またはサーブレットの機能が実装されています。

例: REPORTS_CGIDIAGHEADTAGS="<title>Employee List</title>"

B.1.34 REPORTS_CGIHELP

説明: この環境変数は、rwcgiが次に示す空のリクエストで起動された場合に表示されるrwcgiヘルプ・ファイルのURLおよびURIを指定します。

http://your_webserver/rwcgi?

有効値 WebページまたはHTMLファイルへの有効なURL

デフォルト デフォルトのヘルプ画面がブラウザに表示されます。

使用上のノート

Common Gateway Interface (CGI)レポートの下位互換性のためや、Single Sign-Onが使用されていない場合のために、この環境変数はサポートされています。

ノート:

CGIのサポートにかわり、JavaServer Pages (JSP)またはサーブレットの機能が実装されています。

例

ブラウザにwww.yahoo.comページを表示するには:

REPORTS_CGIHELP=http://www.yahoo.com

ブラウザにmyhelpfile.htmというHTMLファイルを表示するには:

REPORTS_CGIHELP=http://your_webserver/myhelpfile.htm

B.1.35 REPORTS_CGIMAP

説明: この環境変数は、マップ・ファイル構成を使用する場合に、rwcgiキー・マップ・ファイルの完全修飾ファイル名および位置を指定します(詳細は、第17.13項「キー・マップ・ファイルの使用」を参照)。

この環境変数には下位互換性があります。

有効値  マップ・ファイルへの有効なパス

デフォルト: $DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration/cgicmd.dat

使用上のノート

Common Gateway Interface (CGI)レポートの下位互換性のためや、Single Sign-Onが使用されていない場合のために、この環境変数はサポートされています。

ノート:

CGIのサポートにかわり、JavaServer Pages (JSP)またはサーブレットの機能が実装されています。

例: REPORTS_CGIMAP=c:\$DOMAIN_HOME\config\fmwconfig\servers\<WLS_SERVER_NAME>\applications\reports_<version>\configuration\cgicmd.dat

B.1.36 REPORTS_CGINODIAG

説明: この環境変数は、helpやshowmapなどの、rwcgiからのデバッグおよび診断出力をすべて無効にするかどうかを指定します。

この環境変数には下位互換性があります。

有効値 YES|NO

デフォルト: NO

使用上のノート

Common Gateway Interface (CGI)レポートの下位互換性のためや、Single Sign-Onが使用されていない場合のために、この環境変数はサポートされています。

ノート:

CGIのサポートにかわり、JavaServer Pages (JSP)またはサーブレットの機能が実装されています。

例: REPORTS_CGINODIAG=YESに設定されていると、次のリクエストが機能しなくなります。

http://your_webserver/rwcgi/help?

B.1.37 REPORTS_CLASSPATH

説明 この環境変数は、Oracle Reportsコンポーネントにより起動される場合に、Java Virtual Machine (JVM)用のJARファイルとディレクトリのリストを指定します。このリストを追加するのは通常、レポートの設計時に独自のクラスを追加する場合(たとえば、プラガブル・データ・ソース(PDS)を追加したり、PL/SQL-Javaブリッジを使用する場合など)です。

注意:

REPORTS_CLASSPATH環境変数(レジストリ)で指定された文字列値の長さが511文字を超えると、Oracle Reports Builderは正しく動作しません。この問題を解決するには、CLASSPATH環境変数(システム)を使用して511文字を超える値を指定します。

有効値 デフォルト値は必須です。いずれかのエントリが削除されると、Oracle Reportsコンポーネントが正しく動作しなくなる場合があります。ユーザー定義ディレクトリまたはJavaクラスが含まれたJARファイルをパスに追加することができます。

デフォルト: $ORACLE_HOME/reports/jlib/rwbuilder.jar:$ORACLE_HOME/reports/jlib/rwrun.jar:$ORACLE_HOME/jlib/zrclient.jar:$ORACLE_HOME/modules/oracle.jsp_11.1.1/ojsp.jar:$ORACLE_HOME/modules/oracle.javacache_11.1.1/cache.jar

使用上のノート

- この環境変数のデフォルト値は、Oracle Reportsコンポーネントが正しく動作するために必要です。ユーザー・クラスを追加することはできますが、そのリストはプラットフォーム固有のJavaのCLASSPATH定義に従っている必要があります。
例

REPORTS_CLASSPATH=$ORACLE_HOME/reports/jlib/rwbuilder.jar: $ORACLE_HOME/reports/jlib/rwrun.jar:$ORACLE_HOME/jlib/zrclient.jar:$ORACLE_HOME/modules/oracle.jsp_11.1.1/ojsp.jar:$ORACLE_HOME/modules/oracle.javacache_11.1.1/cache.jar

- REPORTS_CLASSPATH環境変数(レジストリ)で指定された文字列値の長さが511文字を超えると、Oracle Reports Builderは正しく動作しません。この問題を解決するには、CLASSPATH環境変数(システム)を使用して511文字を超える値を指定します。

B.1.38 REPORTS_CONTAINSHTMLTAGS

説明 この環境変数は、すべてのサポート対象出力フォーマットに対してHTMLフォーマット・タグがOracle Reportsで解釈されるかどうかを指定します。

ノート:

インラインHTMLタグの解釈は、Oracle Reportsとブラウザで異なる場合があります。したがって、Oracle Reports 6i、Oracle9i ReportsまたはOracle Reports 10g (9.0.4)でインラインHTMLタグを使用して設計されたレポートは、Oracle Reports10gリリース2 (10.1.2)と11gリリース2 (11.1.2)では異なるHTML出力やHTMLCSS出力が生成されることがあります。

有効値

- YESの場合、「HTMLタグを含む」プロパティが「はい」に設定されているオブジェクトに対して、Oracle ReportsではHTMLタグが解釈されます。

- NOの場合、Oracle Reportsでは、オブジェクトの「HTMLタグを含む」プロパティの設定に関係なく、そのレポートに対してHTMLタグは解釈されません。出力がHTMLおよびHTMLCSSの場合は、ブラウザによってHTMLフォーマット・タグが解釈されます。それ以外の出力フォーマットの場合は、HTMLタグ自体がそのままの形でレポート出力に表示されます。Oracle ReportsでHTMLフォーマット・タグが解釈されないように以前のリリースの動作を保持する場合は、この環境変数をNOに設定します。

関連項目:

インラインHTMLフォーマット・タグの実装の詳細は、第A.5.17項「CONTAINSHTMLTAGS」を参照してください。

デフォルト: YES

使用上のノート

コマンドライン・キーワードCONTAINSHTMLTAGSは、この環境変数の値よりも優先されます。

B.1.39 REPORTS_COOKIE_EXPIRE

説明 この環境変数は、指定されたReports Serverセッション内のCookieの存続期間を指定します。

Single Sign-Onを使用せずに、Reports Serverのセキュアなインスタンスにユーザーがアクセスする場合、Oracle Reports 6iの場合における動作と同様に、独自の認証メカニズムを使用してrwservletにより識別情報を渡す必要があります。HTTP 1.0プロトコルはステートレスであるため(つまり、サーバーへの各コールは、事実上独立しているので)、Cookieが保持されていないかぎり、レポート・リクエストのたびにユーザーの認証が必要になる場合があります。

セッションごとに1度の認証で済むように、rwservletには独自のクライアント側のCookieであるauthid Cookieが保存されます。ここには、現行セッションに必要な認証情報が格納されます。一度ユーザーが認証されると、暗号化されたCookieがブラウザで作成され、ユーザーはリクエストごとに認証を受けることなく、複数のレポート・ジョブを実行できます。ユーザーがブラウザ・セッションを終了するとauthid Cookieも終了しますが、この方法だけでCookieを終了するのは十分とはいえません。REPORTS_COOKIE_EXPIRE環境変数を使用して、セッション内のCookieの存続期間を制限する必要があります。たとえば、ユーザーがログインし、昼食のためにブラウザ・セッションを起動したまま席を外したとします。管理者がReports ServerでREPORTS_COOKIE_EXPIRE環境変数を定義すると、そのような潜在的セキュリティ危険性を最小限に抑えることができます。rwservletでジョブ・リクエストが受信されると、Cookieに保存された時間と現在のシステム時間が比較されます。この時間が環境変数で定義された時間(たとえば、30分)を超えていると、Cookieは否定され、ユーザーには認証情報を提供する必要が生じます。

ノート:

特定のレポートに対してユーザーに認証を要求する場合は、SHOWAUTHコマンドライン・キーワードを使用できます。または、キー・マップ・ファイル内の対応するレポート・エントリに%Sを使用することもできます。このファイルは通常cgicmd.datと呼ばれ、$DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration/cgicmd.datにあります。%Sを使用すると、ユーザーはレポートをコールするたびに、ユーザー名とパスワードの入力が要求されます。詳細は、第17.13項「キー・マップ・ファイルの使用」を参照してください。

有効値  任意の分数

デフォルト  30

使用上のノート

Common Gateway Interface (CGI)レポートの下位互換性のためや、Single Sign-Onが使用されていない場合のために、この環境変数はサポートされています。

ノート:

CGIのサポートにかわり、JavaServer Pages (JSP)またはサーブレットの機能が実装されています。

例 REPORTS_COOKIE_EXPIRE=30

B.1.40 REPORTS_CUPS_PRINTING

説明 この環境変数は、CUPSプリンタ・キューへのPDF形式(PostScript形式ではない)のレポートの送信を有効または無効にします。

有効値

- YESの場合、CUPSプリンタ・キューへのPDF形式のレポートの送信が有効になります。

- NOの場合、CUPSプリンタ・キューへのPDF形式のレポートの送信が無効になります。

デフォルト: NO

使用上のノート

この環境変数をYESに設定した後、次のコマンドライン・パラメータを使用して、PDF形式のレポートをプリンタ・キューに送信できます。

DESFORMAT=pdf DESTYPE=printer DESNAME=cups_printer_queue_name

例 REPORTS_CUPS_PRINTING=YES

B.1.41 REPORTS_DB_AUTH

説明 この環境変数は、データベースにログインするためのデータベース認証テンプレートを指定します。この環境変数には下位互換性があります。

有効値  特別の認証アクションを含むHTMLファイル。デフォルトの状態で使用することをお薦めします。

デフォルト: dbauth.htm

使用上のノート

Common Gateway Interface (CGI)レポートの下位互換性のためや、Single Sign-Onが使用されていない場合のために、この環境変数はサポートされています。

ノート:

CGIのサポートにかわり、JavaServer Pages (JSP)またはサーブレットの機能が実装されています。

例 REPORTS_DB_AUTH=dbauth.htm

B.1.42 REPORTS_DEFAULT_DISPLAY

説明 この環境変数は、Oracle Reports 10g (9.0.4)で導入された次の機能を実装するかどうかを指定します。

- DISPLAY変数への依存性の排除(UNIXのみ)

- イメージの画面解像度とフォント情報のためにScreenPrinter (screenprinter.ppd)を使用する機能: これによって、Reports Runtimeに対して有効なプリンタを定義すること(PRINTERおよびTK_PRINTER環境変数を有効なプリンタ(uiprint.txtの有効なエントリ)に設定すること)への依存性が排除されます(UNIXのみ)。

- 拡張イメージングのサポート(すべてのプラットフォーム)
詳細は、第9.8.2項「拡張イメージングのサポート」を参照してください。

有効値  YES|NO

デフォルト: YES

使用上のノート

- UIを非表示にするには、Reports Serverをバッチ・モードで起動する必要があります。

- REPORTS_DEFAULT_DISPLAY=YESに設定すると、REPORTS_OUTPUTIMAGEFORMAT環境変数とOUTPUTIMAGEFORMATコマンドライン・キーワードで導入される拡張イメージング・サポートが有効になります。画面解像度は、screenprinter.ppdファイルのエントリで制御できます。REPORTS_DEFAULT_DISPLAY=NOに設定すると、イメージング・サポートは、GIF形式(PDF出力、HTML、HTMLCSSの場合)およびBMP形式(RTF出力の場合)に制限されます。

- UNIXでは、REPORTS_DEFAULT_DISPLAY=YESは、DISPLAY変数で設定された値よりも優先されます。DISPLAY変数が定義されている場合でもX-Windows表示画面はデフォルトでは使用されません。画面解像度は、screenprinter.ppdのエントリで制御できます。Oracle Reports 10g (9.0.4)より前のリリースからアップグレードするユーザーの場合、この変更により、既存のレポートの外観、ページ数、出力ファイル・サイズまたはパフォーマンスが影響を受けることがあります。

- DISPLAYに依存するように戻し、スクリーン・フォント(従来のフォント検索アルゴリズム)を使用するには:

- REPORTS_DEFAULT_DISPLAY=NOを設定します

- uiscreenprint.txtファイルのscreenprinter.ppdエントリを削除します。

- DISPLAY変数をアクティブなX-Windows表示画面に設定します。

- UNIX上で印刷する場合、適切な印刷環境の作成には、いくつかの設定および構成が必要になります。詳細は、第9章「UNIXでのOracle Reportsによる印刷」を参照してください。

B.1.43 REPORTS_DEFAULT_PIXEL_SIZE

説明 この環境変数は、レポートをHTML出力で生成する場合に、表示サーバーのデフォルトのピクセル・サイズより優先されるピクセル・サイズを指定します。通常、Oracle Reportsでは表示サーバーのピクセル・サイズが使用されます。以前のレポートで作業しており、そのレポートに表示サーバーと異なるピクセル・サイズ(たとえば、ピクセル・サイズ80)が使用されている場合、この変数を使用すれば以前のレポートと同じ動作を再現できます。

有効値  72から200までの任意の値

デフォルト  Oracle Reportsによって決定される画面解像度

使用上のノート

- Windowsの場合、REPORTS_DEFAULT_PIXEL_SIZEはレジストリで設定されます。UNIXの場合、コマンド・プロンプトまたはシェル・スクリプトから設定されます。

- REPORTS_DEFAULT_DISPLAY = YES(デフォルト)の場合、Oracle ReportsではHTML出力には、REPORTS_DEFAULT_PIXEL_SIZEで指定された値が使用されます。ただし、値がREPORTS_DEFAULT_PIXEL_SIZEで明示的に設定されていないと、第9章「UNIXでのOracle Reportsによる印刷」に記載されているとおり、画面解像度はscreenprinter.ppdファイルのエントリで制御できます。

B.1.44 REPORTS_ENABLE_RTF_SPACING

この環境変数は、RTF出力で複数行テキストの切捨てを防止する機能を有効化するかどうかを指定します。この環境変数は、ほとんどの環境で必要ありませんが、RTF出力で複数行テキストの切捨てが表示された場合のみ、YESを設定してください。

有効値

- YESの場合、RTF出力で複数行テキストの切捨てを防止する機能が有効になります。

- NOの場合、RTF出力で複数行テキストの切捨てを防止する機能が無効になります。切捨てが行われる可能性があります。

デフォルト: NO

B.1.45 REPORTS_ENCRYPTION_KEY

説明 この環境変数は、ユーザー名とパスワードの暗号化に使用する暗号化キーを指定します。

有効値  任意の暗号化キー

デフォルト: reports9i

使用上のノート

Common Gateway Interface (CGI)レポートの下位互換性のためや、Single Sign-Onが使用されていない場合のために、この環境変数はサポートされています。

ノート:

CGIのサポートにかわり、JavaServer Pages (JSP)またはサーブレットの機能が実装されています。

例 REPORTS_ENCRYPTION_KEY=oraclereports10g

B.1.46 REPORTS_ENHANCED_BIDIHANDLING

説明: この環境変数は、BIDI形状変更メカニズムを使用するかどうかを指定します。拡張BiDi処理機能を使用する場合は、この環境変数の値をYESに設定する必要があります。この環境変数の値を設定しない場合や、この環境変数の値をNOに設定した場合は、従来のメカニズムが使用されます。

有効値

- YES: Oracle Reportsでは新しい拡張BiDiアルゴリズムに従います。

- NO: Oracle Reportsでは従来のメカニズムに従います。

デフォルト

NO

使用上のノート

REPORTS_ENHANCED_BIDIHANDLINGの値をYESに設定した場合は、次のようになります。

- REPORTS_ARABIC_NUMERAL環境変数の有効な値がすべてサポートされます。

- REPORTS_BIDI_ALGORITHM環境変数に対してサポートされる値は、次のとおりです。

- UNICODE

- ORACLE

- UNICODE_VARIANT

- デフォルト値はUNICODEです。REPORTS_BIDI_ALGORITHM環境変数が指定されてなく、REPORTS_ENHANCED_BIDIHANDLINGがYESに設定されている場合、デフォルト値はUNICODEです。

ノート:

REPORTS_ENHANCED_BIDIHANDLING変数は、使用されるメカニズム(従来または新規)を示します。REPORTS_BIDI_ALGORITHMは、使用されるアルゴリズムを指定します。

詳細は、第B.1.31項「REPORTS_BIDI_ALGORITHM」および第B.1.29項「REPORTS_ARABIC_NUMERAL」を参照してください。

B.1.47 REPORTS_ENHANCED_FONTHANDLING

説明: (UNIXのみ)この環境変数は、新しい11gリリース2 (11.1.2)用フォント・モデルを使用するか、以前のリリースのツールキット・フォント処理メカニズムに戻すかを指定します。

有効値

- YESの場合、11gリリース2 (11.1.2)用フォント・モデルを使用してフォントを管理します。

- NOの場合、以前のリリースのツールキット・フォント処理メカニズムを使用してフォントを管理します。

デフォルト: YES

B.1.48 REPORTS_ENHANCED_SUBSET

説明: この環境変数は、レポートを生成するときに拡張TTFフォント・サブセット機能を含めるかどうかを指定します。この環境変数はデフォルトではYESに設定されており、この設定で生成されるPDFファイルはアクセス可能で検索可能になります。

有効値 YES|NO

デフォルト: YES

使用上のノート

Oracle Reportsでは、デフォルトでは拡張フォント・サブセットの実装が使用されます。REPORTS_ENHANCED_SUBSET=NOを設定すると、Oracle Reportsでは、Oracle Reports 10g リリース2 (10.1.2)よりも前のリリースで使用されているType 3フォント・サブセットの実装に戻ります。

PDFフォント・サブセットの詳細は、第10.2.2.2項「フォント・サブセット」を参照してください。

B.1.49 REPORTS_FONT_DIRECTORY

説明 (UNIXのみ)この環境変数は、レポートで使用されているすべてのTTFフォントとTTCフォントのすべてのフォント・ファイルの場所を指定します。これにより、ディレクトリ・パスをハードコーティングしなくても、オペレーティング・システム間で容易に移動可能なレポートを作成できます。

REPORTS_FONT_DIRECTORYで指定されたディレクトリはデフォルトでアクセスできません。このディレクトはファイルの検索のみに使用され、ターゲット・ファイルがこのディレクトリに配置されている場合は、Oracle Reportsによって関連のセキュリティ設定が個別に処理されます。

REPORTS_FONT_DIRECTORYは、オペレーティング・システムの他の環境変数と同じ方法で定義し、パス長などのプラットフォーム固有ルールに従ってください。

有効値 任意のドライブのディレクトリ

デフォルト: $ORACLE_INSTANCE/reports/fonts

使用上のノート

- 指定できるディレクトリは1つのみです。

- フォント・ファイルはデータベースに格納できません。

- REPORTS_FONT_DIRECTORYの最大入力文字数は256文字です。

- デフォルト・フォルダ($ORACLE_INSTANCE/reports/fonts)はデフォルトでは空です。

- フォント・ファイルを$ORACLE_INSTANCE/reports/fontsに保存するか、フォント・ファイルが保存されるフォルダを指定するようにREPORTS_FONT_DIRECTORYを設定する必要があります。

B.1.50 REPORTS_GRAPH_IMAGE_DPI

説明 この環境変数は、PDFファイルまたはプリンタにグラフを出力する際のインチ当たりのドット数(DPI)を指定します。この環境変数のデフォルト値は、72 DPIに設定されています。これは、レポートのファイル・サイズを小さくするとともに、レポートの生成に要する時間を最小化するためです。

72 DPIより高い値を指定すると、PDFファイルやプリンタに出力されるグラフのイメージ解像度が向上します。ただし、これにより、ファイル・サイズが大きくなるだけでなく、レポート出力の生成に、より時間がかかります。

ノート:

REPORTS_GRAPH_IMAGE_DPI=250の値の場合:

- グラフを含むレポートの生成にかかる時間が、同じレポートを72 DPIで生成する場合の5から6倍になります。

- PDFファイルのサイズも5から6倍になります。

有効値: 72から300

デフォルト: 72

使用上のノート

- Windowsでは、レジストリを使用して、値を指定します。UNIXまたはLinuxでは、reports.shで環境変数を設定します。

- 高いDPI値を設定する場合は、REPORTS_JVM_OPTIONSのJVMヒープ・サイズ値も変更し、JVMにエラー・メッセージ「Out Of Memory」が表示されないようにすることもできます。

- この環境変数は、PDF出力およびプリンタ出力専用になっているため、Oracle Reports配布機能ではサポートされていません。

B.1.51 REPORTS_IGNORE_IMAGE_TAG_RES

説明: この環境変数は、レポートにイメージの物理サイズ(通常は解像度とピクセル・サイズ)を格納できる特定のイメージ形式が含まれている場合に役立ちます。イメージが物理サイズに拡大したり縮小されないようにするために、この環境変数をYESに設定することで、Oracle Reportsでイメージ解像度情報が無視され、イメージのピクセル・サイズのみが使用されるようにできます。これによって、データベース列のこのタイプのイメージが、サムネイルで表示されるかわりに適切に表示されるようになります。

有効値

- YESの場合、Oracle Reportsではイメージ解像度情報が無視され、そのイメージのピクセル・サイズのみが使用されます。

- NOの場合、Oracle Reportsではそのイメージのイメージ解像度情報は無視されません。

デフォルト: NO

B.1.52 REPORTS_IGNORE_SET_ROLE_ERROR

説明

有効値

- YES

- NO

デフォルト: NO

B.1.53 REPORTS_JPEG_QUALITY_FACTOR

説明 この環境変数は、JPEGイメージに適したイメージ品質のレベルを指定します。JPEGイメージの画質とイメージのサイズのトレードオフが制御されます。通常は、イメージの画質がよいほど、イメージ・ファイル・サイズが大きくなります。

有効値: 0から100

デフォルト: 100(最高画質)

使用上のノート

- Windowsでは、レジストリを使用して、値を指定します。UNIXまたはLinuxでは、reports.shで環境変数を設定します。

- REPORTS_JPEG_QUALITY_FACTORが指定されていないか不適切な値(文字列や範囲外の値など)に設定されている場合、デフォルト値が使用されます。

- 75の値を指定すると、イメージの画質もよく、圧縮率も適切になります。

B.1.54 REPORTS_JVM_OPTIONS

説明 この環境変数は、Oracle Reports Builder、Reports RuntimeまたはReports ConverterによりJVMを起動するときのJVMオプションを指定します。たとえば、この環境変数を使用してJVMの開始ヒープ・サイズと最大ヒープ・サイズ、追加クラスパス・エントリを指定することや、ランダムで連続していないジョブIDを生成することなどができます。

有効値  JVMコマンドライン構文のJVMオプションのリスト

デフォルト: -Xmx256M

使用上のノート

- デフォルト値-Xmx256Mでは、JVMヒープ・サイズが256MBに設定されており、大きなグラフ付きのレポートやサイズの大きいレポートを実行したときに、エラー・メッセージOut of memoryが表示されないように考慮されています。

- Reports Engineの起動時に、rwserver.confファイルのengine要素にあるjvmoptions属性で指定されているJVMオプションがチェックされます。詳細は、第7.2.1.9項「engine」を参照してください。rwserver.confでJVMオプションが設定されている場合は、それがREPORTS_JVM_OPTIONS環境変数の値よりも優先されます。rwserver.confでJVMオプションが指定されていないと、Oracle Reportsでは、REPORTS_JVM_OPTIONS環境変数で指定されたJVMオプションが使用されます。

- Reports Builder、Reports RuntimeおよびReports Converterでレポートを実行する場合、コマンドラインでJVMOPTIONSコマンドライン・キーワードを使用して指定されたJVMオプションが、REPORTS_JVM_OPTIONS環境変数で指定されたJVMオプションよりも優先されます。

- ランダムで連続していないジョブIDを生成するには、REPORTS_JVM_OPTIONSを-Djobid=randomに設定し、REPORTS_JVM_OPTIONSをエクスポートします。

B.1.55 REPORTS_NETWORK_CONFIG

説明: この環境変数は、rwclient、rwrqm、rwcgiまたはOracle Forms Servicesで、カスタム・ネットワーク構成ファイルを使用する場合にのみ設定します。この環境変数が設定されていないと、これらのコンポーネントでは、デフォルトのネットワーク構成ファイル(rwnetwork.conf)が使用されます。rwnetwork.confの詳細は、第7.5項「ネットワーク構成ファイル」を参照してください。

有効値: ORACLE_INSTANCE\config\ReportsServerComponent\server_name\rwnetwork.confの有効なカスタム・ネットワーク構成ファイル

デフォルト: rwnetwork.conf

B.1.56 REPORTS_NLS_XML_CHARSETS

説明: この環境変数により、レポートをXML形式で保存する場合に使用する文字セットのエンコードを優先的に定義するオプションが提供されます。この設定が必要になるのは、NLS_LANGとXML IANA定義の文字セット間で使用される文字セット・マッピングで、思いどおりの結果が得られない場合のみです。

XMLパーサーがXMLファイル内の文字を認識できるようにするために、Oracle Reportsでは次のことが実行されます。

1. NLS_CHARACTERSET (NLS_LANG変数の文字セット部分)の値に基づき、XML宣言にエンコード属性が追加されます。

2. NLS_LANG文字セットとして設定されている値(たとえば、JA16SJIS)が、XML仕様で想定されている値(たとえば、Shift_JIS)に変換されます。

このマッピングは、REPORTS_NLS_XML_CHARSETにエントリを追加することによって無効にできます。

有効値  セミコロンで区切ったマッピング・ペアのセット。最初の値には生成されるエンコードを指定し、2番目の値にはマッピング値を指定します。

<old_name>=<new_name>[;<old_name>=<new_name>][;<old_name>=<new_name>]...

デフォルト  定義されていません。

例

WISO-8859-8=ISO-8859-8-1;CSEUCKR=EUC-KR;WINDOWS-949=EUC-KR;EUC-CN=GBK;WINDOWS-936=GBK

B.1.57 REPORTS_NO_DUMMY_PRINTER

説明 この環境変数は、他のプリンタおよび表示環境変数および設定とともに、プリンタのかわりにシステムの画面とフォントを使用するかどうかを指定します。

有効値: TRUE|not set

デフォルト: TRUE

使用上のノート

- REPORTS_NO_DUMMY_PRINTERはデフォルトで設定され、常に設定されている必要があります。これが設定されていない場合は(ユーザーが変更した結果)、有効なプリンタが検出されず、REP-1800エラー・メッセージが表示されます。代替として、有効なプリンタがない場合は、TK_PRINT_STATUSも使用できます。有効なプリンタからのレスポンスは、ファイルに出力している場合でも、Oracle Reportsが出力を生成するために必要です。
REPORTS_NO_DUMMY_PRINTERが設定されていても、uiprint.txtファイルに有効なエントリがない(つまり、有効なプリンタが定義されていない)場合、uiscreenprint.txtに指定されているscreenprinter.ppdが使用されます。この環境変数の設定を解除する必要があるのは、有効なプリンタが存在せず、Oracle Reportsでscreenprinter.ppdドライバを使用しない場合のみです。

関連項目:

screenprinter.ppdのPostScriptプリンタ・ドライバの詳細は、第9.8.1項「ScreenPrinter」を参照してください。

- この方法には制約があり、レポートが設計されたシステムとは異なるシステムからレポートを表示した場合、そのレポートのフォーマットが失われることがあります。また、このレポートを印刷した場合、フォントやメトリックが異なるため、正しくフォーマットされないこともあります。

- UNIX上で印刷する場合、適切な印刷環境の作成には、いくつかの設定および構成が必要になります。詳細は、第9章「UNIXでのOracle Reportsによる印刷」を参照してください。

B.1.58 REPORTS_NO_HTML_SPACE_REPLACE

説明

この環境変数は、HTMLまたはHTMLCSSの出力時に、空白を&nbsp;で置き換えないかどうかを指定します。

Oracle Reportsでは、フィールドに取得したデータのHTMLメタデータ・キャラクタが適切なエンコードにマッピングされます。つまり、Oracle Reportsは、次のように自動的にマッピングします。

- <を&lt;にマッピングします。

- "を&quot;にマッピングします。

通常は、ブラウザで正しい結果が生成され、スペースも適切に処理されます。しかし、ブラウザのスペース処理で、思いどおりの結果が得られないこともあります。たとえば、ユーザーがデータの前にインデントを入れた場合などに起こります。ブラウザでは複数のスペースが1つのスペースとして処理されるため、インデントは失われます。

有効値: YES|not set

デフォルト  設定されていません。

使用上のノート

- 値が設定されていない場合、スペースはすべて&nbsp;に置換されます。これにより、スペースでの改行をブラウザが処理する出力で問題が発生する可能性があります。また、生成されるHTMLファイルのサイズも大きくなります。

- フィールドの「HTMLタグを含む」プロパティが「はい」に設定されていると、Oracle Reportsではフィールドの値をそのまま出力に渡すため、エンコードは行われません。

例

REPORTS_NO_HTML_SPACE_REPLACEがYESに設定されている場合、[ Typical data output]文の出力は次のようになります。

[Typical data output]

そして、次のように表示されます(先頭のスペースは無視されます)。

[Typical data output]

この環境変数を設定しない場合は、次のように出力が変換されます。

[&nbsp;&nbsp;Typical&nbsp;data&nbsp;output]

そして、次のように表示されます(先頭のスペースは維持されます)。

[Typical data output]

ノート:

前述の例にある括弧は先頭の空白を表示するために使用されており、文章の一部ではありません。

B.1.59 REPORTS_OUTPUTIMAGEFORMAT

説明 この環境変数は、レポートで使用するデフォルトのイメージ形式を指定します。

有効値: GIF|JPEG|JPG|PNG|BMP

デフォルト: JPEG

使用上のノート

- 指定した形式と出力タイプが一致することを確認する必要があります。たとえば、BMPはRTFおよびスプレッドシート出力に対してのみ機能します。HTML、HTMLCSSまたはPDF出力では機能しません。

- この環境変数の設定よりも、OUTPUTIMAGEFORMATコマンドライン・キーワードの値が優先します。
詳細は、第9.8.2項「拡張イメージングのサポート」を参照してください。

B.1.60 REPORTS_PATH

説明 この環境変数は、Reports Runtimeで参照されるファイルの検索パスを指定します。REPORTS_PATHで指定されたディレクトリが最初に検索され、その後でORACLE_PATHで指定されたディレクトリが検索されます。この環境変数を使用することにより、レポートと、レポートに使用する外部オブジェクト(PL/SQLライブラリ、外部問合せ、外部ボイラープレートなど)を検索できます。これにより、ディレクトリ・パスをハードコーティングしなくても、オペレーティング・システム間で容易に移動可能なレポートを作成できます。

REPORTS_PATHで指定されるディレクトリは、デフォルトではアクセスされません。使用されるのはファイルを検索する場合のみであり、ターゲット・ファイルが見つかった場合は、Oracle Reportsにより関連セキュリティ設定が個別に処理されます。

REPORTS_PATHを定義する際には、ディレクトリ・パス以外にキーワードDBも指定できます。これにより、Oracle Reportsに対して、現在接続しているデータベースを検索するように指示できます。

たとえば、UNIXプラットフォームで次のように指定したとします。

setenv REPORTS_PATH /home/tkostin/pay:/home/tkostin/receive

Oracle Reportsでは、最初に/home/tkostin/payディレクトリが検索されます。そして、該当するファイルが見つからなかった場合は、/home/tkostin/receiveが検索されます。

有効値  任意のドライブのディレクトリ

デフォルト %ORACLE_HOME%\REPORT\DEMO; %ORACLE_HOME%\REPORT\DEMO\BITMAP; %ORACLE_HOME%\REPORT\DEMO\REQFILES

使用上のノート

- REPORTS_PATHは、オペレーティング・システムの他の環境変数を定義する場合と同様に定義し、パス長などのプラットフォーム固有のルールに従ってください。
REPORTS_PATH値の許容される長さはオペレーティング・システムによって異なります。すべてのオペレーティング・システムで256文字までがサポートされますが、それより長い値がサポートされる場合もあります。

- Reports Server構成ファイル(rwserver.conf)に含まれるengine要素のsourceDir属性にパスを指定すると、ここに設定した値よりもsourceDir値が優先されます。

例

REPORTS_PATH=C:\oracle\apps\reports;C:\myfiles

B.1.61 REPORTS_RESTRICT_DIRECTORIES

この環境変数は、ディレクトリへの読取りアクセス権や書込みアクセス権を制限するかどうかを指定します。YESに設定した場合、Oracle Reportsでは、REPORTS_PATHに指定されているディレクトリに対する読取りアクセス権と書込みアクセス権のみを持ちます。

有効値  YES|NO

デフォルト: NO

B.1.62 REPORTS_RESOURCE

この環境変数は、レポートに必要なリソース・ファイルの位置を指定します。リソース・ファイルの位置を指定する際には、このパスにグローバリゼーション・サポート・ディレクトリの展開先を含む必要があります。

有効値  任意のドライブのディレクトリ

デフォルト: %ORACLE_HOME%\reports\res

使用上のノート

ロケールを変更するには、NLS_LANG以外に、この環境変数も変更する必要があります。

例 米語ファイルの場合:

REPORTS_RESOURCE=%ORACLE_HOME%\reports\res\US\

日本語ファイルの場合:

REPORTS_RESOURCE=%ORACLE_HOME%\reports\res\JA\

B.1.63 REPORTS_SERVER

説明: この環境変数は、Web CartridgeまたはWeb CGIリクエストに対するデフォルトReports Serverを指定します。この環境変数が設定されているときは、レポート・リクエストでSERVERコマンドライン・キーワードを指定せず、デフォルトのReports Serverを使用してリクエストを処理できます。また、SERVERコマンドライン・キーワードを使用してデフォルトより優先することもできます。

この環境変数には下位互換性があります。

有効値  任意のReports Serverサービス・エントリ名

使用上のノート

Common Gateway Interface (CGI)レポートの下位互換性のためや、Single Sign-Onが使用されていない場合のために、この環境変数はサポートされています。

ノート:

CGIのサポートにかわり、JavaServer Pages (JSP)またはサーブレットの機能が実装されています。デフォルトのReports Server名は、第7.3.1.1.1項「server」の説明のように、Oracle Reports Servlet (rwservlet)構成ファイル(rwservlet.properties)で定義されます。

例: REPORTS_SERVER=my_rep_server

B.1.64 REPORTS_SOLARIS_9

説明: この環境変数は、Solaris 2.9上のネイティブMotifライブラリとJDK UIパッケージとの間の同期の問題を解決します。REPORTS_SOLARIS_9=YESを設定した場合、Reports Builderは想定されたとおりに応答します。Solaris 2.9環境でREPORTS_SOLARIS_9=NOを設定した場合、レポート・ウィザードまたはデータ・ウィザードを起動したときにReports Builderが応答を停止することがあります。

有効値 YES|NO

デフォルト: Solaris 2.9の場合はYES、他のプラットフォームの場合はNO

B.1.65 REPORTS_SPACE_BREAK

説明 この環境変数は、空白をデリミタとして処理するかどうかを指定します。Oracle Reportsでは、単語が1行に収まらない場合に、その行を適切に折り返すアルゴリズムが採用されています。このワード・ラップ・アルゴリズムでは、デフォルトで空白をデリミタとして処理します。

有効値 YES|NO

デフォルト: YES

使用上のノート

この環境変数をNOに設定するのは、中国語のようなマルチバイト文字セットを使用するアジア系言語の場合のみです。これにより、Oracle Reportsでは、空白がデリミタとして処理されず、マルチバイト文字セットの言語に必要なワード・ラップ機能が適切に実行できます。

B.1.66 REPORTS_SRWRUN_TO_SERVER

説明

この環境変数は、SRW.RUN_REPORT組込みプロシージャを使用してレポートを実行するときに、SERVERまたはUSERIDキーワードを許可するかどうかを指定します。

有効値: YES|設定しない

デフォルト  設定されていません。

使用上のノート

- キーワードのSERVERおよびUSERIDはSRW.RUN_REPORTとともに使用することは非推奨です。これらのキーワードをSRW.RUN_REPORTとともに使用するレポートを以前のリリースで作成した場合は、REPORTS_SRWRUN_TO_SERVER=YESを設定して、これらのレポートを引き続き現在のリリースで実行できます。

- 以前のリリースで作成したレポートを、非同期で実行しようとすると問題が発生することがあります。このため、できるかぎり早くレポートを最新のOracle Reportsリリースに移行することが重要です。

ノート:

SRW.RUN_REPORTビルトイン・プロシージャを含むSRWビルトイン・パッケージの詳細は、Oracle Reportsのオンライン・ヘルプを参照してください。

B.1.67 REPORTS_SSLPORT

説明 この環境変数は、SSLを使用する場合のポート番号を指定します。

有効値  有効なポート番号

デフォルト  443

使用上のノート

Common Gateway Interface (CGI)レポートの下位互換性のためや、Single Sign-Onが使用されていない場合のために、この環境変数はサポートされています。

ノート:

CGIのサポートにかわり、JavaServer Pages (JSP)またはサーブレットの機能が実装されています。

例: REPORTS_SSLPORT=442

B.1.68 REPORTS_SYS_AUTH

説明 この環境変数は、制限付きReports Serverに対してレポート・リクエストをユーザーが実行する場合に、ユーザー名とパスワードの認証に使用する認証テンプレートを指定します。

有効値  特別の認証アクションを含むHTMLファイル。デフォルトの状態で使用することをお薦めします。

デフォルト: sysauth.htm

使用上のノート

Common Gateway Interface (CGI)レポートの下位互換性のためや、Single Sign-Onが使用されていない場合のために、この環境変数はサポートされています。

ノート:

CGIのサポートにかわり、JavaServer Pages (JSP)またはサーブレットの機能が実装されています。

例 REPORTS_SYS_AUTH=sysauth.htm

B.1.69 REPORTS_TAGLIB_URI

説明 この環境変数は、JSPベースのレポートのWebソースに使用されるタグ接頭辞の位置を指定します。これにより、.jspファイルのタグ・ライブラリ(TAGLIB)宣言のReports URIが定義されます。これは、通常次のように定義されています。

<%@ taglib uri="/WEB-INF/lib/reports_tld.jar" prefix="rw" %>

Oracle Reportsが環境変数と一致するuriを見つけると、対応する接頭辞属性を使用して、.jspファイル内のOracle Reportsタグを識別します。

有効値  Oracle Reportsタグ・ライブラリを参照する任意の"uri"

デフォルト: /WEB-INF/lib/reports_tld.jar

使用上のノート

通常、デフォルト値は変更しません。これは、JDeveloperとOracle Reportsのどちらのレポート・ファイルでも同様です。接頭辞属性を変更して、"uri"属性に依存しないように、ネーミングの競合を回避できます。

B.1.70 REPORTS_TMP

説明 この環境変数は、Oracle Reports Builder一時ファイルを格納するディレクトリを指定します。Oracle Reports Builderが一時ファイルの格納先として使用するディレクトリは1つのみです。複数のディレクトリを定義しないでください。

REPORTS_TMPは、基本オペレーティング・システムの他の環境変数と同じ方法で定義し、パス長などのプラットフォーム固有のルールに従ってください。REPORTS_TMPを定義しない場合は、デフォルトで現行の作業ディレクトリが使用されます。

有効値  任意のドライブのディレクトリ

デフォルト  定義されていません。

例: REPORTS_TMP=C:\tmp

B.1.71 REPORTS_USEREXITS

説明 この環境変数は、Oracle Reportsが使用するライブラリを指定します。これらのライブラリは、ユーザーが作成したプログラム・モジュールで、Oracle Reportsによってコールされます。

REPORTS_USEREXITSでは、複数のライブラリを指定できます。Windowsでは、パス内でディレクトリを区切るには円記号(\)を使用し、パスを区切るにはセミコロン(;)を使用します。UNIXでは、パス内でディレクトリを区切るにはスラッシュ(/)を使用し、パスを区切るにはコロン(:)を使用します。

この値が明示的に設定されないと、Oracle Reportsではシステムのパス変数に従ってrwxtb.dllが検索されます。

ノート:

ORA_JAVAビルトイン・パッケージとJava Importerを使用してJavaメソッドをコールできます。これによってレポートでのユーザー・イグジットの必要性が軽減され、さらにオープンでポータブルな配置が可能になります。また、ダイナミック・ライブラリのC関数を呼び出すための外部関数インタフェースを提供する、ORA_FFIビルトイン・パッケージを使用することもできます。これらの組込みパッケージが使用可能になったことにより、ユーザー・イグジットの使用はOracle Reportsでは非推奨になっています。ただし、makefileは、既存のユーザー・イグジットを引き続き使用できるようにするために提供されています。

下位互換性のために、この環境変数には以前の名前REPORTS_USEREXITを使用できます。

有効値  任意のユーザー・イグジット・ライブラリ(絶対パス)

デフォルト  定義されていません。

例

Windowsの場合:

REPORTS_USEREXITS=C:\mydll.dll;d:\mynew.dll;e:\bin\speed.dll

UNIXの場合:

REPORTS_USEREXITS=/usr/oracle/mylib.so:/usr/oracle/myfolder/speed.so

B.1.72 REPORTS_UTF8_XMLOUTPUT

説明: この環境変数は、NLS_LANG文字セットのかわりにUTF8文字セットを使用するかどうかを指定します。この環境変数が有効になるのは、エンコード属性が「XML Prolog値」プロパティで指定されていない場合のみです(「XML Prolog値」プロパティの詳細は、Oracle Reportsのオンライン・ヘルプを参照)。

有効値

YESの場合、UTF8文字セットを割り当てます(「XML Prolog値」プロパティが設定されていない場合)。

NOの場合、NLS_LANG(またはIANA定義)の文字セットを割り当てます(「XML Prolog値」プロパティが設定されていない場合)。

デフォルト: YES

B.1.73 RW

この環境変数は、ORACLE_HOME内のレポート固有のディレクトリを指定します。

有効値  有効なディレクトリ名

デフォルト

%ORACLE_HOME%\reports(Windows)

$ORACLE_HOME/reports (UNIX)

B.1.74 TK_PRINT

説明 (UNIXのみ)この環境変数は、UNIX版のOracle Reports 6iで実行する印刷コマンドを指定します。以降のリリースでは、TK_PRINTは廃止されました。同じ結果を実現するには、印刷スクリプト・ファイルの$ORACLE_INSTANCE/config/reports/bin/rwlpr.shを使用します。このスクリプトでは、デフォルトでlpコマンドとlprコマンドがサポートされています。ご使用のマシンに他の印刷コマンドを使用している場合は、それに合せてこのファイルを変更する必要があります。

有効値  PRINTコマンドと使用しているUNIXに応じたすべての必要なキーワード。これには次の要素が含まれます。

- %nは、プリンタ名の文字列です。

- %cは、印刷部数です。

この文字列は、printf()書式とほぼ同じです。この環境変数が設定されていない場合、Oracle Reports 6iは、プラットフォームの標準のデフォルト値を使用します。プラットフォームごとのデフォルト値の例を次に示します。

System V: lp -s -d'%n' -n%c

Solaris: lpr -P'%n' -#%c -s

デフォルト  定義されていません。

使用上のノート

- デフォルトの印刷コマンドで通常のニーズに対応できます。この環境変数を設定するのは、デフォルト値を変更する特別な必要性がある場合のみにしてください。たとえば、出力を多重化する場合は、TK_PRINTに設定する必要があります。

- UNIX上で印刷する場合、適切な印刷環境の作成には、いくつかの設定および構成が必要になります。詳細は、第9章「UNIXでのOracle Reportsによる印刷」を参照してください。

B.1.75 TK_PRINT_STATUS

説明 (UNIXのみ)この環境変数は、プリンタを有効化するために実行するコマンドを指定します。プリンタを有効化するには、このコマンドを実行し、その出力からunknown、non-existentまたはinvalidの文字列を検索します。このいずれかの文字列が出力に表示された場合、プリンタは無効で、選択できません。そうでない場合は、プリンタはOracle Reportsで使用できます。

有効値: プリンタ名の%nを含める必要があります(「TK_PRINT」も参照)。

この環境変数が設定されていない場合、Oracle Reportsでは、組込みのデフォルト値が使用されます。

System V: /usr/bin/lpstat -p'%n' 2>&1

その他: /usr/etc/lpc status '%n' 2>&1

デフォルト  定義されていません。

使用上のノート

- この環境変数を使用するのは、使用しているプラットフォームのプリンタのステータス・コマンドがデフォルト値と異なる場合や、有効なプリンタが存在しない場合のみにしてください。有効なプリンタが存在しない場合、TK_PRINT_STATUS=echoを設定し、uiprint.txtファイルにダミー・エントリを指定できます。これにより、Oracle Reportsではプリンタの確認時に有効なレスポンスを取得できます。

- REPORTS_NO_DUMMY_PRINTERが設定されており、uiprint.txtファイルに有効なエントリが含まれていない場合は、uiscreenprint.txtに指定されているscreenprinter.ppdが使用されます。

ノート:

REPORTS_NO_DUMMY_PRINTERはデフォルトで設定され、常に設定されている必要があります。これが設定されていない場合は(ユーザーが変更した結果)、REP-1800エラー・メッセージが表示されます。

関連項目:

screenprinter.ppdのPostScriptプリンタ・ドライバの詳細は、第9.8.1項「ScreenPrinter」を参照してください。

- UNIX上で印刷する場合、適切な印刷環境の作成には、いくつかの設定および構成が必要になります。詳細は、第9章「UNIXでのOracle Reportsによる印刷」を参照してください。

B.1.76 TK_PRINTER

説明 (UNIXのみ)この環境変数は、デフォルトのプリンタ名を指定します。

有効値  デフォルトのプリンタ名

デフォルト  定義されていません。

使用上のノート

- TK_PRINTERはPRINTERよりも優先します。つまり、両方の変数が設定されている場合は、TK_PRINTERが最初に参照されます。PRINTERが参照されるのは、有効なプリンタがTK_PRINTERに指定されていない場合のみです。TK_PRINTERとPRINTERの両方に、有効なプリンタが設定されていないと、Oracle Reportsではuiprint.txtファイルの最初のエントリが使用されます。REPORTS_NO_DUMMY_PRINTERが設定されており、uiprint.txtファイルに有効なエントリが含まれていない場合は、uiscreenprint.txtに指定されているscreenprinter.ppdが使用されます。

ノート:

REPORTS_NO_DUMMY_PRINTERはデフォルトで設定され、常に設定されている必要があります。これが設定されていない場合は(ユーザーが変更した結果)、REP-1800エラー・メッセージが表示されます。

関連項目:

screenprinter.ppdのPostScriptプリンタ・ドライバの詳細は、第9.8.1項「ScreenPrinter」を参照してください。

- UNIX上で印刷する場合、適切な印刷環境の作成には、いくつかの設定および構成が必要になります。詳細は、第9章「UNIXでのOracle Reportsによる印刷」を参照してください。

B.1.77 TK_AFM

説明 この環境変数は、AFMファイルの位置を指定します。TK_AFMの後で、ORACLE_AFMが参照されます。

有効値 任意のドライブのディレクトリ

デフォルト 定義されていません。

使用上のノート

- いずれの変数にも値を指定しないと、Oracle Reportsでは、次のディレクトリのAFMファイルが検索されます。

ORACLE_HOME/guicommon/tk/admin/AFM

- UNIX上で印刷する場合、適切な印刷環境の作成には、いくつかの設定および構成が必要になります。詳細は、第9章「UNIXでのOracle Reportsによる印刷」を参照してください。

B.1.78 TK_HPD

説明 この環境変数は、HPDファイルの位置を指定します。TK_HPDの後で、ORACLE_HPDが参照されます。

有効値: 任意のドライブのディレクトリ

デフォルト 定義されていません。

使用上のノート

- いずれの変数にも値を指定しないと、Oracle Reportsでは次のディレクトリのHPDファイルが検索されます。

ORACLE_HOME/guicommon/tk/admin/HPD

- UNIX上で印刷する場合、適切な印刷環境の作成には、いくつかの設定および構成が必要になります。詳細は、第9章「UNIXでのOracle Reportsによる印刷」を参照してください。

B.1.79 TK_PPD

説明 この環境変数は、PPDファイルの位置を指定します。TK_PPDの後で、ORACLE_PPDが参照されます。

有効値  任意のドライブのディレクトリ

デフォルト  定義されていません。

使用上のノート

- いずれの変数にも値を指定しないと、Oracle Reportsでは次のディレクトリのPPDファイルが検索されます。
INSTANCE_HOME/config/FRComponent/frcommon/guicommon/tk/admin/PPD

- UNIX上で印刷する場合、適切な印刷環境の作成には、いくつかの設定および構成が必要になります。詳細は、第9章「UNIXでのOracle Reportsによる印刷」を参照してください。

B.1.80 TK_TFM

説明 この環境変数は、TFMファイルの位置を指定します。TK_TFMの後で、ORACLE_TFMが参照されます。

有効値  任意のドライブのディレクトリ

デフォルト  定義されていません。

使用上のノート

- いずれの変数にも値を指定しないと、Oracle Reportsでは次のディレクトリのTFMファイルが検索されます。

ORACLE_HOME/guicommon/tk/admin/TFM

- UNIX上で印刷する場合、適切な印刷環境の作成には、いくつかの設定および構成が必要になります。UNIXでOracle Reportsを印刷する方法の詳細は、第9章「UNIXでのOracle Reportsによる印刷」を参照してください。

B.1.81 TNS_ADMIN

説明

この環境変数は、DB接続の詳細が記述されたtnsnames.oraが格納されているディレクトリの位置を指します。

有効値

tnsnames.oraファイルが存在するディレクトリまたはドライブ。

デフォルト値

デフォルトでは、環境変数TNS_ADMINの値は、インプロセス・サーバーとスタンドアロン・サーバーの両方に対してORACLE_INSTANCE/configに設定されます。

使用上の注意

TNS_ADMINの値を変更する場合は、次のようにします。

- スタンドアロン・サーバーの場合、ORACLE_NSTANCE\config\OPMN\opmnにあるopmn.xmlファイルを編集します。

- インプロセス・サーバーの場合、$DOMAIN_HOME/binにあるsetDomainEnv.shファイルを編集します。

B.1.82 USERNAME

説明: この環境変数は、デフォルトのログオン・アカウントを指定します。USERNAMEの設定の詳細は、ご使用のデータベースのドキュメントを参照してください。

有効値: 有効なOracleユーザー名(OPS$接頭辞なし)

デフォルト 定義されていません。

例: USERNAME=dsanvita

B.1.83 USER_NLS_LANG

説明: この環境変数は、Oracle Reports Runtimeコンポーネントの言語を指定します。この環境変数とその有効値の詳細は、第22章「グローバリゼーションと双方向のサポートの実装」を参照してください。

C Oracle Portalへのレポートのバッチ登録

Oracle Portalに多数のレポートを登録する場合、Oracle Portalユーザー・インタフェースで個別に登録するのではなく、バッチ・スクリプトを使用してまとめて登録することをお薦めします。同様に、多数のレポートを登録解除する場合にも、バッチ・スクリプトを使用すれば効率的です。

- レポート定義ファイルのバッチ登録

- レポート・パッケージのバッチ削除

- PL/SQLバッチ登録ファンクション

C.1 レポート定義ファイルのバッチ登録

Oracle Portalでレポートをバッチ登録するには、次のステップを実行します。

1. rwconverterの実行によるSQLスクリプトの生成

2. SQL*Plusでのスクリプトの実行

C.1.1 rwconverterの実行によるSQLスクリプトの生成

SQL*Plusで実行可能なレポート登録用SQLスクリプトを生成する手順は、次のとおりです。

1. オペレーティング・システム・プロンプト(DOSまたはUNIX)から、rwconverterコマンドをキーワードとともに入力して、レポート定義ファイルをバッチ登録します。

関連項目:

rwconverterキーワードの詳細は、付録A「コマンドライン・キーワード」を参照してください。

ノート:

必要なロード関数を持つスクリプト・ファイルを作成するには、DTYPE、STYPE、SOURCEおよびDESTキーワードを指定します。Oracle Portalで機能パッケージを作成するには、スクリプト・ファイルの作成に使用したキーワードに加え、P_SERVERS、P_PRIVILEGE、P_TYPES、P_FORMATSの各キーワードを指定する必要があります。

次に、Microsoft Windowsでのrwconverterコマンドラインの例を示します。

rwconverter.exe dtype="register" stype="rdffile"
source="(security.rdf,earnings.rdf,acc_pay.rdf)" dest="(output.sql)"
p_owner="PORTAL_APP" p_servers="(repserver,acct_server)"
p_description="restricted report" p_privilege="(SCOTT,JABERS,ACCT)"
p_availability="production" p_types="(Cache,printer)"
p_formats="(HTMLCSS,PDF)" p_printers="(sales_printer,acct_printer)"
p_pformTemplate="public.finance_template"
p_trigger="Is begin IF UPPER(DESTYPE) = ''PRINTER'' AND
EMPNAME = ''SMITH'' THEN RETURN(TRUE); ELSE RETURN(FALSE); END IF; end;"

前述のコマンドラインを指定すると、output.sqlという名前で、次の内容を含むSQLスクリプト・ファイルが生成されます。

SET SERVEROUTPUT ON

VAR STATUS NUMBER;

EXEC :STATUS := RWWWVREG.REGISTER_REPORT (P_NAME=>'Security',
P_OWNER=>'PORTAL_APP', P_SERVERS=>'repserver,acct_server',
P_FILENAME=>'security.rdf', P_DESCRIPTION=>'restricted report',
P_PRIVILEGE=>'SCOTT,JABERS,ACCT', P_AVAILABILITY=>'production'
P_TYPES=>'Cache,printer', P_FORMATS=>'HTMLCSS,PDF',
P_PRINTERS=>'sales_printer,acct_printer
P_PFORMTEMPLATE=>'public.finance_template' P_PARAMETERS=>'(P_LASTNAME)
(P_SSN)', P_TRIGGER=>'Is begin IF UPPER(DESTYPE) = ''PRINTER'' AND
EMPNAME = ''SMITH''THEN RETURN(TRUE); ELSE RETURN(FALSE); END IF; end;');

EXEC :STATUS := RWWWVREG.REGISTER_REPORT (P_NAME=>'Earnings',
P_OWNER=>'PORTAL_APP', P_SERVERS=>'repserver,acct_server',
P_FILENAME=>'earnings.rdf', P_DESCRIPTION=>'restricted report',
P_PRIVILEGE=>'SCOTT,JABERS,ACCT', P_AVAILABILITY=>'production'
P_TYPES=>'Cache,printer)', P_FORMATS=>'HTMLCSS,PDF',
P_PRINTERS=>'sales_printer,acct_printer',
P_PFORMTEMPLATE=>'public.finance_template',
P_TRIGGER='Is begin IF UPPER(DESTYPE) = ''PRINTER'' AND EMPNAME = ''JABERS''
THEN RETURN(TRUE); ELSE RETURN(FALSE); END IF; end;');

EXEC :STATUS := RWWWVREG.REGISTER_REPORT (P_NAME=>'Acc_pay',
P_OWNER=>'PORTAL_APP', P_SERVERS=>'repserver,acct_server',
P_FILENAME=>'acc_pay.rdf', P_DESCRIPTION=>'restricted report',
P_PRIVILEGE=>'SCOTT,JABERS,ACCT', P_AVAILABILITY=>'production'
P_TYPES=>'Cache,printer', P_FORMATS=>'HTMLCSS,PDF',
p_printers=>'sales_printer,acct_printer',
P_PFORMTEMPLATE=>'public.finance_template'
P_TRIGGER=>'Is begin IF UPPER(DESTYPE) = ''PRINTER'' AND
EMPNAME = ''JABERS''THEN RETURN(TRUE); ELSE RETURN(FALSE); END IF; end;');

このSQLスクリプト・ファイルの内容の詳細は、第C.3項「PL/SQLバッチ登録ファンクション」を参照してください。

2. reports.logファイルで、変換処理中に発生したエラーがないかどうかを確認します。このファイルは通常、現在作業中のディレクトリに作成されます。reports.logファイルが生成されなかった場合、rwconverterで発生したエラーがないことを示します。

3. ここで、システム・パラメータおよびユーザー・パラメータの値を必要に応じて編集できます。たとえば、前述のサンプル・スクリプトで最初のRWWWVREGファンクションにより、P_PARAMETERSという追加パラメータが生成されました。この処理が行われた理由は、security.rdfファイルに、P_LASTNAMEとP_SSNという2つのユーザー定義パラメータが次のように記述されているためです。

P_PARAMETERS=>'(P_LASTNAME)(P_SSN)',

この場合、デフォルト、下限、上限の各値をオプションで定義したり、各ユーザー・パラメータの値リストを定義して、実行時にユーザーが入力できる値を制限できます。同様に、システム・パラメータを制限する場合には(たとえば、COPIESを使用してユーザーが作成できるコピーの数を制限する場合)、P_PARAMETERSキーワードを使用します。編集後のP_PARAMETERSキーワードは、次のようになります。

P_PARAMETERS=>'(P_LASTNAME, LOV=LASTNAME_LOV)(P_SSN)(COPIES, DEFAULT=1,LOW=1,HIGH=2)'

この修正後のコード・セグメントでは、レポートは次のように制限されます。

- P_LASTNAMEユーザー・パラメータは、LASTNAME_LOV値リストに含まれる値に制限されます。

- P_SSNにユーザーが指定する値が必要です。

- COPIESシステム・パラメータのデフォルト値は1、また印刷部数は1か2である必要があります。

4. output.sqlファイルを保存して閉じます。

C.1.2 SQL*Plusでのスクリプトの実行

レポートをOracle Portalに実際に登録するには、rwconverterにより生成したスクリプトを実行する必要があります。

1. SQL*Plusを開始し、パッケージ・プロシージャを所有させるOracle Portalスキーマに接続します。

2. SQL*Plusコマンド・プロンプトから、rwconverterで作成したスクリプトを実行します。

@ output.sql

このスクリプトにより、スクリプトに示された各レポートについて、指定されたパラメータを使用してOracle Portalでパッケージの実行と作成が行われます。

3. RW_ADMINISTRATOR権限を持つユーザーとしてOracle Portalにログインします。

4. 「企業ドキュメント」タブをクリックします。

5. 「ビルダー」をクリックします。

6. 「管理」タブをクリックします。

7. 「Oracle Reportsセキュリティ」ポートレットで、「Oracle Reportsセキュリティの設定」をクリックします。

8. 「レポート定義ファイル・アクセス」ポートレットで、SQLスクリプトでバッチ登録したいずれかのレポートのP_NAMEを入力します。

9. 「編集」をクリックします。「コンポーネントの管理」ページが表示されます。

10. ページ下部の「編集」をクリックして、レポートのパラメータを編集します。

11. パラメータを必要に応じて編集します。

12. 「OK」をクリックします。

13. 「閉じる」をクリックします。

14. スクリプトでバッチ登録したレポートごとにステップ8から13を繰り返します。

C.2 レポート・パッケージのバッチ削除

Oracle Portalから多数のレポートをバッチ削除する手順は、次のとおりです。

1. テキスト・エディタで、削除するレポート定義ファイル・パッケージごとに、1つのRWWWVREG.DEREGISTER_REPORTファンクション・コールを含むSQLスクリプト・ファイル(たとえば、rmv_rdfs.sql)を作成します。例:

VAR STATUS NUMBER;
EXEC :STATUS := RWWWVREG.DEREGISTER_REPORT (P_NAME=>'Security');
EXEC :STATUS := RWWWVREG.DEREGISTER_REPORT (P_NAME=>'Earnings');
EXEC :STATUS := RWWWVREG.DEREGISTER_REPORT (P_NAME=>'Acc_pay');

ノート:

P_NAMEは、Oracle Portalから削除するレポート定義ファイル・パッケージの名前です。

2. SQL*Plusを開始し、レポートのパッケージ・プロシージャを所有するOracle Portalスキーマにログインします。

3. SQL*Plusコマンド・プロンプトから、最初のステップで作成したスクリプトを実行します。

@ rmv_rdfs.sql

このスクリプトを実行すると、スクリプトに示された各レポートについて、Oracle Portalからパッケージが削除されます。

ノート:

このプロシージャを実行しても、レポート定義ファイルはファイル・システムから削除されません。レポートの登録が解除され、Oracle Portalから利用できなくなるだけです。レポート定義ファイルを削除するには、ファイル・システムから削除する必要があります。

C.3 PL/SQLバッチ登録ファンクション

レポートをOracle Fusion Middlewareにバッチ登録する目的でrwconverterによって生成されたSQLスクリプトは、主にRWWWVREG.REGISTER_REPORTファンクションへのコールで構成されています。RWWWVREG.REGISTER_REPORTの構文を次に示します。

Function Rwwwvreg.register_report(
p_owner varchar2,
p_name varchar2,
p_servers varchar2,
p_filename varchar2,
p_description varchar2,
p_privileges varchar2,
p_availability varchar2,
p_types varchar2,
p_formats varchar2,
p_printers varchar2,
p_pdformTemplate varchar2,
p_parameters varchar2,
p_trigger varchar2)
return number;
--  =0 : succeeded;
--  !=0 : failed;

次の表に、RWWWVREG.REGISTER_REPORTによって取得されるパラメータを示します。

表C-1 RWWWVREG.REGISTER_REPORTパラメータ

パラメータ

説明

P_OWNER

DBプロバイダ名。デフォルトは、SQL*Plusスクリプト開始時に接続する現行Oracle Fusion Middleware DBプロバイダです。

例:

P_OWNER=>'PORTAL_APP'

P_NAME

Oracle Portalでのレポートの識別に使用される名前。

P_NAMEは、「レポート定義ファイルのアクセス権限を作成」ウィザードの「名前」フィールドに対応しています。

例:

P_NAME=>'Earnings'

P_SERVERS

P_SERVERSパラメータで定義されたレポート定義ファイルがアクセス権を持つReports Serverの名前。Reports Serverのリストはカンマで区切ります。

P_SERVERSは、「レポート定義ファイルのアクセス権限を作成」ウィザードおよび「レポート定義ファイルの編集」ページの「Reports Server」フィールドに対応しています。

例:

P_SERVERS=>'repserver,acct'

注意: P_SERVERSで示すReports Serverは、事前にOracle Portalに登録されている必要があります。詳細は、第15章「Oracle Portalでのレポートの配布」を参照してください。

P_FILENAME

登録するレポート定義ファイルの名前。

P_FILENAMEは、「レポート定義ファイルのアクセス権限を作成」ウィザードおよび「レポート定義ファイルの編集」ページの「Oracle Reportsファイル名」に対応しています。

例:

P_FILENAME=>'earnings.rdf'

P_DESCRIPTION

レポートの説明。

P_DESCRIPTIONは、「レポート定義ファイルのアクセス権限を作成」ウィザードおよび「レポート定義ファイルの編集」ページの「説明」フィールドに対応しています。

例:

P_DESCRIPTION=>'restricted report'

P_PRIVILEGE

P_FILENAMEで定義されたレポート定義ファイルの実行に必要な権限を持つユーザーまたはロール。このリストはカンマで区切ります。

P_PRIVILEGEは、「コンポーネントの管理」ページの「アクセス」タブの、レポートに対する「ユーザー/ロール」リストに対応しています。「ユーザー/ロール」リストを表示するには、「Portal DBプロバイダから権限を継承」のチェックを外す必要があります。

例:

P_PRIVILEGE=>'SCOTT,JABERS,PORTAL90'

P_AVAILABILITY

P_FILENAMEパラメータで定義されたレポート定義ファイルがいつ処理できるようになるかを決定する使用可能日カレンダの名前。

P_AVAILABILITYは、「レポート定義ファイルのアクセス権限を作成」ウィザードおよび「レポート定義ファイルの編集」ページの「使用可能日カレンダ名」フィールドに対応しています。

例:

P_AVAILABILITY=>'production'

注意: 使用可能日カレンダは、事前にOracle Portalに登録されている必要があります。使用可能日カレンダの作成の詳細は、第15章「Oracle Portalでのレポートの配布」を参照してください。

P_TYPES

P_FILENAMEパラメータで定義されたレポート定義ファイルを送信できる宛先タイプ(キャッシュ、プリンタなど)。このリストはカンマで区切ります。

P_TYPESは、「レポート定義ファイルのアクセス権限を作成」ウィザードおよび「レポート定義ファイルの編集」ページの「タイプ」複数選択ボックスに対応しています。

例:

P_TYPES=>'CACHE,printer'

P_FORMATS

P_FILENAMEパラメータで定義されたレポート定義ファイルを送信できる宛先フォーマット(HTML、PDFなど)。このリストはカンマで区切ります。

P_FORMATSは、「レポート定義ファイルのアクセス権限を作成」ウィザードおよび「レポート定義ファイルの編集」ページの「書式」複数選択ボックスに対応しています。

例:

P_FORMATS=>'HTMLCSS,PDF'

注意: レポートの宛先フォーマットがDELIMITEDDATAである場合は、レポートをバッチ登録できないことがあります。回避策として、異なる宛先フォーマットを定義して、レポートをバッチ登録し、後で手動でレポートをDESFORMAT=DELIMITEDDATAに編集できます。

P_PRINTERS

P_FILENAMEパラメータで定義されたレポート定義ファイルを印刷できるプリンタ。このリストはカンマで区切ります。

P_PRINTERSは、「レポート定義ファイルのアクセス権限を作成」ウィザードおよび「レポート定義ファイルの編集」ページの「プリンタ」複数選択ボックスに対応しています。

例:

P_PRINTERS=>'sales_printer,acct_printer'

注意: P_PRINTERSで示すプリンタは、事前にOracle Portalに登録されている必要があります。詳細は、第15章「Oracle Portalでのレポートの配布」を参照してください。

P_PFORMTEMPLATE

ランタイム・パラメータ・フォームのページ・スタイルを決定するパラメータ・フォーム・テンプレート。

P_PFORMTEMPLATEは、「レポート定義ファイルのアクセス権限を作成」ウィザードおよび「レポート定義ファイルの編集」ページの「パラメータ・フォーム・テンプレート」フィールドに対応しています。

例:

P_PFORMTEMPLATE=>'public.finance_template'

P_PARAMETERS

ユーザー・パラメータおよびシステム・パラメータのデフォルト値、上限値および下限値、あるいは値リストの名前。

注意: P_PARAMETERSパラメータには、対応するrwconverterオプションがありません。このため、ユーザー・パラメータの値、範囲、または値リストをバッチ・インポートする場合には、rwconverterによって生成されたSQLスクリプトを手動で編集する必要があります。

P_PARAMETERSは、「レポート定義ファイルのアクセス権限を作成」ウィザードおよび「レポート定義ファイルの編集」ページの「(パラメータの)名前」、「LOV」、「下限」および「上限」フィールドに対応しています。

デフォルトは、指定されたパラメータのランタイム・パラメータ・フォームに設定されている値に対応しています。

例:

P_PARAMETERS=>'(P_LASTNAME, LOV=LASTNAME_LOV) (P_SSN)(COPIES, DEFAULT=1,LOW=1,HIGH=2)'

説明:

P_LASTNAME、P_SSNおよびCOPIESは、パラメータ名です。

LOVは、値リスト名です。

DEFAULTがデフォルト値です。

LOWは、値範囲の下限です。

HIGHは、値範囲の上限です。

P_TRIGGER

PL/SQLで記述された検証トリガーで、ブール文(TRUE(成功した場合)またはFALSE(失敗した場合))を返します。

P_TRIGGERは、「レポート定義ファイルのアクセス権限を作成」ウィザードおよび「レポート定義ファイルの編集」ページのテキスト・ボックスに対応しています。

例:

P_TRIGGER=>'Is begin

IF UPPER(DESTYPE) = ''PRINTER'' AND

EMPNAME = ''SMITH''

THEN

RETURN(TRUE);

ELSE

RETURN(FALSE);

END IF;

end;'

D Oracle Reports Servicesのトラブルシューティング

この付録では、Oracle Reports Servicesを使用してレポートを配布する際に発生することがある一般的問題とその解決方法について説明します。また、問題の診断手順についても説明します。内容は次のとおりです。

- 問題と解決策

- パフォーマンスの問題の診断

- フォントの問題の診断

- 印刷の問題の診断

- JDBC PDSの問題の診断

- Oracle Portalの問題の診断

- グローバリゼーションの問題の診断

- Oracle Reports Bridgeの問題の診断

- その他の解決策

D.1 問題と解決策

この項では、一般的な障害と解決策について説明します。内容は次のとおりです。

- レポート・リクエストのハング

- Reports ServerのアクティビティによりエラーREP-50125が生成される

- Oracle Reports Servletを使用して長期レポートを実行すると失敗する

- プラットフォームによってフォントの表示が異なる

- UNIXプラットフォームでレポートを実行するとREP-56048が生成される

- 右から左に表示する言語のフォントの問題

- RUN_REPORT_OBJECTを使用してOracle Formsからレポートを実行する際のエラー

- Microsoft Excelでのレポート出力の表示

- ユーザー・イグジットが含まれるレポートのUNIXでの障害

- インプロセスReports Serverを使用する際の印刷エラーとフォント・エラー

- Reports Runtimeの実行時にプレースホルダ列値でレコードがシフト・ダウンされる

D.1.1 レポート・リクエストのハング

Reports Serverでレポート・リクエストを実行すると、レポート・リクエストが様々な理由でハングすることがあります。このハングが適切なタイミングで検出されない場合は、安定性が損なわれる場合があります。ここでは、このようなシナリオに焦点をあて、問題を解説し、このようなパターンの特定方法と対処方法を示します。さらに、オラクル社カスタマ・サポート・センターに問題を報告する際に必要な情報の収集方法についても説明します。

まず第一に、Reports Serverでどのように重複ジョブが識別されるかを理解することが重要です。ジョブがReports Serverに送信されると、ジョブ・キューに同様のジョブが存在していないかどうかがチェックされます。送信されたジョブが現在実行中のジョブと同じ場合、Reports Serverでは送信されたジョブを重複ジョブ、現在実行中のジョブをマスター・ジョブと判断します。Reports Serverでは重複ジョブが実行されずに、マスター・ジョブの終了を待機してから、同じ出力を重複ジョブに渡します。アイドル・エンジンが利用可能であっても、重複ジョブはエンジンに送信されません。これは正常な動作であり、リクエストがハングしたわけではありません。

この項で説明する解決策以外の詳細は、第23.4項「Reports Server構成のチューニング」を参照してください。

ノート:

Oracle Reports 10gリリース2 (10.1.2)および11gリリース2 (11.1.2)のスケーラビリティの向上により、Reports Serverの安定性がさらに高まり、レポート・リクエストは必ず正常に実行されるようになりました。

問題1

マスター・ジョブが終了前にハングします。

解決策1

マスター・ジョブがなんらかの理由でハングすると、行内における次の重複ジョブがマスター・ジョブとなります。

rwserver.confファイルのengine要素にあるengineResponseTimeOut属性を確認してください(第7.2.1.9項「engine」を参照)。サーバーが不安定にならないよう、この属性は慎重に設定します。これにより、Reports Serverはこのようなハング状況を自動的に検出し、回復できるようになります。また、showjobsコマンドを使用してハングしたジョブを終了し、Reports Serverで他のリクエストを処理させることもできます。showjobsコマンドの詳細は、第A.8.8項「SHOWJOBS」を参照してください。

たとえば、一連のレポートを実行する必要があるとします。最も大きいレポートは、実行に最大5分かかります。このような場合は、engineResponseTimeOutを5分に設定することができます。

ノート:

- エンジンでジョブが実行されると、サーバーは最新のステータスに更新されます。たとえば、ページ1、2というようにフォーマットが行われます。5分経過してもReports Serverがエンジンから更新情報を受信しない場合、エンジンがハングしていると見なされ、Reports Serverはエンジンを停止します。

- 複雑なレポートで実行に1分から1時間かかる場合、レポートの実行中に、コマンドラインでENGINERESPONSETIMOUTを指定します(第A.6.4項「ENGINERESPONSETIMEOUT」を参照)。

- スケジュールされているジョブやバッチ・ジョブのほかに対話型のジョブがある場合は、前者と後者で1台ずつ個別のサーバーを起動することをお薦めします。パフォーマンスと安定性の理由から、対話型のジョブとバッチ・ジョブまたはスケジュールされたジョブの両方に同じサーバーを使用しないでください。

engineResponseTimeOut属性またはコマンドラインのENGINERESPONSETIMEOUTキーワードを慎重に設定したにもかかわらず、サーバーが不安定になったりクラッシュしたりする場合は、次のステップを実行して、オラクル社カスタマ・サポート・センターに報告してください。

1. サーバーのトレースとログを有効にします(第23.3.7項「レポート実行のトレース」を参照)。トレースを有効にできない場合、rwserver.confファイルでlog要素のoption属性をfailedJobsに設定することでログのみを有効にします(第7.2.1.13項「log」を参照)。ログを有効にすると、失敗したジョブ・レポートをreports.logファイルで確認できます。失敗したレポートまたはエンジンのハングを引き起こしたレポートを特定します。

2. rwserver.confファイルのengine要素を編集し、diagnosisプロパティを追加してエンジンの診断ログを有効にします(第7.2.1.9項「engine」の「プロパティ」を参照)。その後、ステップ1で特定したレポートを実行し、ハングを再現します。

3. 次の情報を添えて、オラクル社カスタマ・サポート・センターにハングの問題を報告します。

- rwserver.confファイル

- reports.logファイル

- ハングが再現されたときのエンジンの診断結果の出力

- レポート定義ファイル(オラクル社カスタマ・サポート・センターにおける問題再現用)

問題2

レポート・リクエストの実行中に、次のような現象でReports Serverがレスポンスを停止したりクラッシュします。

- ブラウザを通じてジョブが送信されると、ブラウザがハングします(レスポンスがない)。

- エンジンがアイドル状態であるのに、ジョブがエンジンに送信されません。

- Webコマンドが機能せず、しばらくしてブラウザがタイムアウトになります。

- スケジュールされているジョブが実行されません。

解決策2

問題から回復するために、Reports Serverを再起動します。それでも問題が解決しない場合は、次の情報を添えて、オラクル社カスタマ・サポート・センターに報告してください。

- rwserver.confファイル

- ハング時のReports Serverのおおよその負荷率

- Reports Serverのスレッド・ダンプ: これは、次の手順で出力できます。

- Solarisの場合、Reports Serverがハングしたとき、kill -3 server_pidコマンドを使用します。このコマンドは、スレッド情報をコンソール出力に書き込みます。スレッド情報とエラー・ストリームの出力先をコンソールからファイルに変更するには、$ORACLE_INSTANCE/config/reports/binディレクトリのrwserver.shファイルを修正します。例:

exec $ORACLE_INSTANCE/config/reports/bin/rwserver "$@" > threaddump.txt 2>&1

ノート:

これは、UNIX kシェルの場合の例を示しています。他のシェルを使用している場合は、コードが多少異なることがあります。

インプロセスReports Serverを使用している場合、WLS_REPORTSで管理しているサーバー・プロセスに対してGive kill -3を使用します。スレッド・ダンプはFMW_HOME/user_projects/domains/domain_name/servers/WLS_REPORTS/logs/WLS_REPORTS.outに出力されます。

- Windowsの場合、kill -3コマンドは機能しません。かわりに、コマンド・プロンプトで表D-1に示すコマンドを入力し、Reports Serverを起動します。問題が再現されたら、コマンド・プロンプト・ウィンドウに移動し、[Ctrl]キーを押しながら[Break]キーを押してスレッド・ダンプを出力します。

表D-1 Windowsでスレッド・ダンプを出力するためのコマンド

Reports Serverのバージョン

コマンド

11.1.1.x.x

環境変数COMPONENT_CONFIG_DIRECTORYをReports Server構成ディレクトリに設定し、次のコマンドを実行します。

ORACLE_HOME/jdk/bin/java –Xmx256M –classpath %REPORTS_CLASSPATH% oracle.reports.server.RWServer oracle_home=ORACLE_HOME server=server_name showui=yes|nobatch=yes|no

10.1.2.0.2

ORACLE_HOME/jdk/bin/java –Xmx256M –classpath %REPORTS_
CLASSPATH% oracle.reports.server.RWServer oracle_
home=ORACLE_HOME server=server_name showui=yes|no
batch=yes|no

9.0.4

ORACLE_HOME/jdk/bin/java
-Xbootclasspath/p:$OH/vbroker4/lib/vbjboot.jar –Xmx256M
–classpath %REPORTS_CLASSPATH%
oracle.reports.server.RWServer oracle_home=ORACLE_HOME
server=server_name showui=yes|no batch=yes|no

9.0.2

ORACLE_HOME/jdk/bin/java –Xmx256M –classpath %REPORTS_
CLASSPATH% oracle.reports.server.RWServer oracle_
home=ORACLE_HOME server=server_name showui=yes|no
batch=yes|no

問題3

インプロセスReports Serverでレポートを実行しようとすると、インプロセスReports Serverが起動に失敗し、ブラウザに次のメッセージが表示されます。

REP-52266: インプロセスReports Serverの起動に失敗しました。

スタンドアロン・サーバーを起動すると、すぐに停止します。

解決策3

トレースを有効にして(第23.3.7項「レポート実行のトレース」を参照)、インプロセスReports Serverを起動してください。デフォルトでは、Reports Serverのrwserver_diagnostic.logファイルに実際の問題の原因が記録されます。

- Reports Serverが、いずれかのプラガブル・データ・ソースまたはプラガブル宛先の初期化に失敗しました。プラガブル・データ・ソース(PDS)またはプラガブル宛先の構成を修正して、Reports Serverを再起動してください。PDSの一般情報については、Oracle Reportsのオンライン・ヘルプのプラガブル・データ・ソースに関する項を参照してください。プラガブル・データ・ソースの詳細は、第13章「プラガブル・データ・ソースの構成と使用」を参照してください。

- エンジンが起動に失敗しました。$DOMAIN_HOME/servers/WLS_REPORTS/logs/reportsディレクトリのrwEng_{engNo}_diagnostic.logファイルを確認します。このファイルには、次の行が含まれている必要があります。

Debug 50103 (EngineImpl:EngineImpl): CInitEngine returns 0
Info 55003 (RWEngine:init): Register this engine to Oracle Reports Server server_name

rwEng_{engNo}_diagnostic.logファイルにこれらの行が存在しない場合は、エンジンが起動に失敗したことを示します。

このファイルのCinitEngine戻り値が負の値の場合は、Reports Engineの初期化時にエラーが発生したことを示します。CinitEngine戻り値がゼロ以外の場合は、Windowsを使用している場合はシステム環境変数PATHを確認し、Solarisを使用している場合はDOMAIN_HOME/binにあるsetdomainenv.shファイルのLD_LIBRARY_PATH環境変数を確認します。インプロセスReports Serverでは、PATHおよびLD_LIBRARY_PATHの値は、Windowsではシステム環境変数PATHから取得され、SolarisではDOMAIN_HOME/binにあるsetdomainenv.shファイルのLD_LIBRARY_PATHから取得されます。

問題4

レポート・リクエストを実行するとReports Engineがクラッシュまたはハングします。

解決策4

ケース1: Reports Serverで毎日大量のレポートを実行し、レポートの印刷やWebへの公開も行っている場合。この場合では、ブラウザがレスポンスを待機し、最終的にタイムアウトになる場合があります。ジョブ・キューを確認するためのWebコマンドも、機能しないことがあります。

トレースを有効にします(第23.3.7項「レポート実行のトレース」を参照)。そして、この問題が発生したら、「解決策2」で説明した「kill -3 server_pid」コマンドをSolarisで実行して、スレッド・ダンプを出力します。次に示すコード行は、kill -3 server_pidコマンドの実行結果です。これらの行は、Reports Serverがネットワーク・ドライブにレポートを書き込もうとしたときにハングしたことを示しています。

"RequestProcessor[7]" daemon prio=5 tid=0x1835f210 nid=0x181c waiting on condition [224cf000..224cfd88]
at java.io.FileOutputStream.write (Native Code)
at oracle.reports.utility.copyFile (Utility.java:424)
at oracle.reports.server.DesFile.sendFile(DesFile.java:74)
at oracle.reports.server.Destination.send(Destination.java:484)
at oracle.reports.server.JobObject.distribute(JobObject.java:1582)
at oracle.reports.server.JobManager.updateJobStatus(JobManager.java:2231)
at oracle.reports.server.EngineCommImpl.updateEngineJobStatus(
EngineCommImpl.java:134)
at oracle.reports.server._EngineCommImplBase._invoke(
_EngineCommImplBase.java:94)
at com.sun.corba.se.internal.corba.ServerDelegate.dispatch
(ServerDelegate.java:353)
at com.sun.corba.se.internal.iiop.ORB.process(ORB.java:280)
at com.sun.corba.se.internal.iiop.RequestProcessor.process
(RequestProcessor.java:81)
at com.sun.corba.se.internal.orbutil.ThreadPool$PooledThread.run
(ThreadPool.java:106)

このシナリオのトレース・ファイルは次のとおりです。

[2005/5/31 6:26:47:321] Info 50132 (JobObject:reset): jobid = 15 Get command line:
server=vin report=c:\backup\reps\emp.rdf destype=file desformat=html
desname=c:\test.html userid=scott@ora9i authid=vnhegde
[2005/5/31 6:26:48:92] Debug 50103 (JobManager:firstToRun): job 15 is first to run
[2005/5/31 6:26:48:212] Debug 50103 (ConnectionImpl:runJob): Job queue for jobid =
15 is 0
[2005/5/31 6:26:48:212] Debug 50103 (ConnectionImpl:runJob): jobid = 15 is in
current queue
[2005/5/31 6:26:48:212] Debug 50103 (ConnectionImpl:runJob): Calling
findDuplicatedJob for jobid = 15
[2005/5/31 6:26:48:212] Debug 50103 (JobManager:findDuplicatedJob): Found no
duplicated job for job 15
[2005/5/31 6:26:48:212] Debug 50103 (ConnectionImpl:runJob): No Duplicate jobs for
jobid = 15
[2005/5/31 6:26:48:212] Debug 50103 (ConnectionImpl:runJob): Job 15 is Enqueued
[2005/5/31 6:26:48:212] Debug 50103 (JobManager:firstToRun): job 15 is first to
run
[2005/5/31 6:26:48:212] Debug 50103 (JobManager.runJobLocal): Trying to get engine
for Job 15
[2005/5/31 6:26:48:212] Debug 50103 (EngineManager:getIdleEngine): Target max
engines = 1
[2005/5/31 6:26:48:222] Debug 50103 (EngineManager:getIdleEngine): rwEng-0 is used
= true
[2005/5/31 6:26:48:222] Debug 50103 (EngineManager:getIdleEngine): rwEng-0 state
is 1
[2005/5/31 6:26:48:222] State 56004 (EngineInfo:setState): Engine rwEng-0 state
is: Reserved
[2005/5/31 6:26:48:222] Debug 50103 (JobManager.runJobLocal): Job 15 got Engine
rwEng-0
[2005/5/31 6:26:48:222] Debug 50103 (JobManager:runJobInEngine): Job 15 calling
setCommand on engine rwEng-0
[2005/5/31 6:26:48:222] Debug 50103 (EngineManager:updateEngineState): Engine
rwEng-0 status is 3
[2005/5/31 6:26:48:222] State 56004 (EngineInfo:setState): Engine rwEng-0 state
is: Running
[2005/5/31 6:26:48:222] Debug 50103 (EngineManager:updateEngineState): Engine
rwEng-0 status is 5
[2005/5/31 6:26:48:222] State 56004 (EngineInfo:setState): Engine rwEng-0 state
is: Idle
[2005/5/31 6:26:48:232] Debug 50103 (JobManager:runJobInEngine): Send job 15 to
engine rwEng-0
[2005/5/31 6:26:48:232] Debug 50103 (EngineManager:updateEngineState): Engine
rwEng-0 status is 3
[2005/5/31 6:26:48:232] State 56004 (EngineInfo:setState): Engine rwEng-0 state
is: Running
[2005/5/31 6:26:48:482] State 56016 (JobManager:updateJobStatus): Job 15 status
is: Running the report Initializing report
[2005/5/31 6:26:48:482] Debug 50103 (JobManager:updateJobStatus): Finished
updating job: 15
[2005/5/31 6:26:50:856] State 56016 (JobManager:updateJobStatus): Job 15 status
is: Running the report Formatting page 1
[2005/5/31 6:26:50:856] Debug 50103 (JobManager:updateJobStatus): Finished
updating job: 15
[2005/5/31 6:26:52:468] Debug 50103 (RWCacheItem:addFile): add file
'test33347112.htm' for job 15
[2005/5/31 6:26:52:468] Debug 50103 (RWCache:updateCurrentCapacity): Current cache
capacity is 197239

このトレース・ファイルでは、次のイベントに注目してください。

- ID 15のジョブが6:26:47:321に送信されています。

- 重複ジョブが6:26:48:212にチェックされています。

- rwEng-0が6:26:48:222に取得されています。

- エンジンが6:26:48:222で実行を開始しています。

- 最初のページが6:26:50:856でフォーマットされています。

この後、このジョブに対する更新はありません。Finished successfully行も存在しません。これは、ジョブに問題があることを示しています。

次の例は、正常に終了したジョブのトレース・ファイルです。

[2005/5/31 6:25:57:198] Info 50132 (JobObject:reset): jobid = 14 Get command line:
server=vin report=c:\backup\reps\emp.rdf destype=file desformat=html
desname=c:\test.html userid=scott@ora9i authid=vphegde
[2005/5/31 6:25:58:80] Debug 50103 (ConnectionImpl:runJob): Job queue for jobid =
14 is 0
[2005/5/31 6:25:58:90] Debug 50103 (ConnectionImpl:runJob): jobid = 14 is in
current queue
[2005/5/31 6:25:58:90] Debug 50103 (ConnectionImpl:runJob): Calling
findDuplicatedJob for jobid = 14
[2005/5/31 6:25:58:90] Debug 50103 (JobManager:findDuplicatedJob): Found no
duplicated job for job 14
[2005/5/31 6:25:58:90] Debug 50103 (ConnectionImpl:runJob): No Duplicate jobs for
jobid = 14
[2005/5/31 6:25:58:90] Debug 50103 (ConnectionImpl:runJob): Job 14 is Enqueued
[2005/5/31 6:25:58:90] Debug 50103 (JobManager:firstToRun): job 14 is first to run
[2005/5/31 6:25:58:90] Debug 50103 (JobManager.runJobLocal): Trying to get engine
for Job 14
[2005/5/31 6:25:58:90] Debug 50103 (EngineManager:getIdleEngine): Target max
engines = 1
[2005/5/31 6:25:58:90] Debug 50103 (EngineManager:getIdleEngine): rwEng-0 is used
= true
[2005/5/31 6:25:58:90] Debug 50103 (EngineManager:getIdleEngine): rwEng-0 state is
1
[2005/5/31 6:25:58:90] State 56004 (EngineInfo:setState): Engine rwEng-0 state is:
Reserved
[2005/5/31 6:25:58:90] Debug 50103 (JobManager.runJobLocal): Job 14 got Engine
rwEng-0
[2005/5/31 6:25:58:90] Debug 50103 (JobManager:runJobInEngine): Job 14 calling
setCommand on engine rwEng-0
[2005/5/31 6:25:58:100] Debug 50103 (EngineManager:updateEngineState): Engine
rwEng-0 status is 3
[2005/5/31 6:25:58:100] State 56004 (EngineInfo:setState): Engine rwEng-0 state
is: Running
[2005/5/31 6:25:58:100] Debug 50103 (EngineManager:updateEngineState): Engine
rwEng-0 status is 5
[2005/5/31 6:25:58:100] State 56004 (EngineInfo:setState): Engine rwEng-0 state
is: Idle
[2005/5/31 6:25:58:100] Debug 50103 (JobManager:runJobInEngine): Send job 14 to
engine rwEng-0
[2005/5/31 6:25:58:110] Debug 50103 (EngineManager:updateEngineState): Engine
rwEng-0 status is 3
[2005/5/31 6:25:58:110] State 56004 (EngineInfo:setState): Engine rwEng-0 state
is: Running
[2005/5/31 6:25:58:350] State 56016 (JobManager:updateJobStatus): Job 14 status
is: Running the report Initializing report
[2005/5/31 6:25:58:350] Debug 50103 (JobManager:updateJobStatus): Finished
updating job: 14
[2005/5/31 6:26:0:663] State 56016 (JobManager:updateJobStatus): Job 14 status is:
Running the report Formatting page 1
[2005/5/31 6:26:0:663] Debug 50103 (JobManager:updateJobStatus): Finished updating
job: 14
[2005/5/31 6:26:2:256] Debug 50103 (RWCacheItem:addFile): add file
'test54106877.htm' for job 14
[2005/5/31 6:26:2:256] Debug 50103 (RWCache:updateCurrentCapacity): Current cache
capacity is 182329
[2005/5/31 6:26:2:286] State 56016 (JobManager:updateJobStatus): Job 14 status is:
Finished successfully
[2005/5/31 6:26:3:7] Debug 50103 (JobManager:notifyWaitingJobs): Master job 14
notify its duplicated jobs.
[2005/5/31 6:26:3:7] Debug 50103 (JobManager:updateJobStatus): Finished updating
job: 14
[2005/5/31 6:26:3:7] Debug 50103 (EngineManager:updateEngineState): Engine rwEng-0
status is 1
[2005/5/31 6:26:3:7] State 56004 (EngineInfo:setState): Engine rwEng-0 state is:
Ready
[2005/5/31 6:26:3:57] Info 56013 (ConnectionManager:release): Connection 1 is
released

このトレース・ファイルでは、ページ1のフォーマットの後に続く次のイベントに注目してください。

- ジョブが6:26:2:286で正常終了しています。

- 重複ジョブが6:26:3:7で通知されています。

- 接続が6:26:3:57で切断されています。

これらの行は、最初の例には存在しませんでした。すべてのジョブにはReports Serverトレース・ファイルでこれらの行が存在している必要があります。イベントの欠落や強制終了は、ジョブが正常に終了していないことを示しており、ハングの原因と考えられます。

ケース2: 次のエラーが表示される場合。

REP-56048: エンジンrwEng-0に障害が起きました、ジョブID: 17

このシナリオでは、Reports Serverとエンジンのトレース・ファイルを確認します。通常のクラッシュでは、Reports Serverトレース・ファイルは次のようになります。

[2005/6/1 3:38:35:156] Exception 50125 (org.omg.CORBA.COMM_FAILURE:   vmcid: SUN
minor code: 208 completed: Maybe
at com.sun.corba.se.internal.iiop.IIOPConnection.purge_
calls(IIOPConnection.java:438)
at com.sun.corba.se.internal.iiop.ReaderThread.run(ReaderThread.java:70)
): Internal error org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 208
completed: Maybe
[2005/6/1 3:38:35:156] Info 56029 (EngineManager:shutdownEngine): Shutting down
engine rwEng-0
[2005/6/1 3:38:36:137] Exception 50125 (org.omg.CORBA.COMM_FAILURE:   vmcid: SUN
minor code: 201  completed: No
at com.sun.corba.se.internal.iiop.ConnectionTable.getConnection
(ConnectionTable.java:148)
at com.sun.corba.se.internal.iiop.ConnectionTable.getConnection
(ConnectionTable.java:65)
at com.sun.corba.se.internal.iiop.GIOPImpl.getConnection(GIOPImpl.java:67)
at com.sun.corba.se.internal.corba.ClientDelegate.createRequest
(ClientDelegate.java:652)
at com.sun.corba.se.internal.corba.ClientDelegate.createRequest
(ClientDelegate.java:594)
at com.sun.corba.se.internal.corba.ClientDelegate.request
(ClientDelegate.java:886)
at org.omg.CORBA.portable.ObjectImpl._request(ObjectImpl.java:431)
at oracle.reports.engine._EngineClassStub.shutdown(_EngineClassStub.java:173)
at oracle.reports.server.EngineManager.shutdownEngine(EngineManager.java:1354)
at oracle.reports.server.JobManager.runJobInEngine(JobManager.java:974)
at oracle.reports.server.JobManager.runJobLocal(JobManager.java:1779)
at oracle.reports.server.JobManager.dispatch(JobManager.java:1045)
at oracle.reports.server.ConnectionImpl.runJob(ConnectionImpl.java:1274)
at oracle.reports.server._ConnectionImplBase._invoke
(_ConnectionImplBase.java:401)
at com.sun.corba.se.internal.corba.ServerDelegate.dispatch
(ServerDelegate.java:353)
at com.sun.corba.se.internal.iiop.ORB.process
(ORB.java:280)
at com.sun.corba.se.internal.iiop.RequestProcessor.process
(RequestProcessor.java:81)
at com.sun.corba.se.internal.orbutil.ThreadPool$PooledThread.run
(ThreadPool.java:106)
): Internal error org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 201
completed: No
[2005/6/1 3:38:36:147] State 56004 (EngineInfo:setState): Engine rwEng-0 state is:
Shutdown
[2005/6/1 3:38:36:147] Info 56047 (EngineManager:remove): Reports Server shut down
engine rwEng-0
[2005/6/1 3:38:36:147] State 56016 (JobManager:updateJobStatus): Job 17 status is:
Terminated with error:
REP-56048: Engine rwEng-0 crashed, job Id: 17
[2005/6/1 3:38:36:157] Debug 50103 (JobManager:notifyWaitingJobs): Master job 17
notify its duplicated jobs.
[2005/6/1 3:38:36:157] Debug 50103 (JobManager:updateJobStatus): Finished updating
job: 17
[2005/6/1 3:38:36:157] Exception 56048 (): Engine rwEng-0 crashed, job Id: 17
oracle.reports.RWException: IDL:oracle/reports/RWException:1.0
at oracle.reports.server.JobManager.runJobInEngine(JobManager.java:1009)
at oracle.reports.server.JobManager.runJobLocal(JobManager.java:1779)
at oracle.reports.server.JobManager.dispatch(JobManager.java:1045)
at oracle.reports.server.ConnectionImpl.runJob(ConnectionImpl.java:1274)
at oracle.reports.server._ConnectionImplBase._invoke
(_ConnectionImplBase.java:401)
at com.sun.corba.se.internal.corba.ServerDelegate.dispatch
(ServerDelegate.java:353)
at com.sun.corba.se.internal.iiop.ORB.process
(ORB.java:280)
at com.sun.corba.se.internal.iiop.RequestProcessor.process
(RequestProcessor.java:81)
at com.sun.corba.se.internal.orbutil.ThreadPool$PooledThread.run
(ThreadPool.java:106)

エンジンのトレース・ファイルでは、クラッシュのトレースを示す最後の数行が次のようになります。

[2005/6/1 3:38:34:575] (rwfdt:rwfdtprint) Distributing the report
[2005/6/1 3:38:34:585] (rwfdt:rwfdtpredo) running
[2005/6/1 3:38:34:585] (rwfdt:rwfdtpredo) no preformat of pages requested, quit
[2005/6/1 3:38:34:585] (rwfdt:rwfdtni_NextInstance) running
[2005/6/1 3:38:34:595] (rwfdt:rwfdtni_NextInstance) quit
[2005/6/1 3:38:34:595] (rwfdt:rwfdtgcf_GenCachefile) running
[2005/6/1 3:38:34:615] (rwfdt:rwfdtgcf_GenCachefile) Cache file is
D:\orawin\reports\cache\03564661.htm
[2005/6/1 3:38:34:615] (rwfdt:rwfdtgcf_GenCachefile) quit
[2005/6/1 3:38:34:615] (rwfdt:rwfdtprint) caching output from backend drivers
[2005/6/1 3:38:34:755] (C Engine)

ノート:

エンジンのトレース・ファイルは、エンジンがクラッシュすると中断します。

処置: エンジンのクラッシュを引き起こしているレポートを特定します。これには、ジョブIDを特定します。前述の例の場合、エンジンはjobid 17の実行中にクラッシュしています。サーバーのトレース・ファイルで、jobid = 17 Get command line文字列を検索します。この行には、レポート名も含む完全なコマンド行が含まれています。トレースとエンジンの診断を有効にします。問題のあるレポートを何度か実行し、クラッシュを再現します。クラッシュが再現されたら、トレース・ファイルと診断の出力をオラクル社カスタマ・サポート・センターに送り、分析を依頼します。

D.1.2 Reports ServerのアクティビティによりエラーREP-50125が生成される

REP-50125は、Reports Serverが関係する様々な状況で生成される一般的エラー・メッセージです。

REP-50125: Caught exception: {0}

原因: Oracle Reportsで内部例外が発生しました。

処置: オラクル社カスタマ・サポート・センターにサポートを依頼してください。

問題1

REP-50125のヘルプ・トピックの原因および処置に関する項には、問題を効率的に特定し診断するための十分な情報が記載されていません。

解決策1

Oracle Reports 10g リリース2 (10.1.2)では、次の新しいエラー・メッセージを特定のシナリオに適用し、焦点を絞ったトラブルシューティング・サポート情報がヘルプ・トピックの原因および処置に関する項で用意されていました。

- REP-56126: サーバー構成ファイル{0}の解析に失敗しました
原因: サーバー構成ファイルの解析が失敗しました。XML構文に誤りがあります。

処置: サーバー構成ファイルを修正して、サーバーを起動してください。

- REP-56127: <{0}>要素の復号化に失敗しました
原因: 要素に対する復号化コールが失敗しました。

処置: encrypted属性が要素に正しく設定されていることを確認してください。

- REP-56128: {0}宛先の初期化に失敗しました。ネストされた例外: {1}
原因: 宛先の初期化が失敗しました。

処置: 宛先の構成を確認し、修正してください。

問題2

Reports Serverの起動時にREP-50125が表示されます。

解決策2

My Oracle Support(http://support.oracle.com)で、Reports Serverの起動時の問題に関するトラブルシューティングのノート289748.1を参照してください。

問題3

レポート・リクエストを実行するとREP-50125が表示されます。

解決策3

My Oracle Support(http://support.oracle.com)で、Reports Serverに発行されたレポート・リクエストの失敗に関するトラブルシューティングのノート290827.1を参照してください。

問題4

SLES-8/UnitedLinux 1.0でReports Serverを起動すると、セグメンテーション違反とともにREP-50125が表示されます。

解決策4

Oracle Reports 10g リリース2 (10.1.2)では、SLES8とSLES9がサポートされていました。ただし、Oracle Reports 11g リリース2 (11.1.2)ではUnitedLinux 1.0はサポートされていないため、このプラットフォームを使用してレポート・リクエストの実行はできません。

問題5

Linuxでopenmotifを使用してレポート・リクエストを実行すると、REP-50125が表示されます。

解決策5

Linux上のOracle Reports 6i、9iおよび10gでは、openmotif 2.1.30のみがサポートされます。

D.1.3 Oracle Reports Servletを使用して長期レポートを実行すると失敗する

Oracle Reports Servlet (rwservlet)経由で送信された長期レポート・リクエストは、ASコンポーネントによっては、正常に実行されなかったり、エンジンのクラッシュやハング、タイムアウトが発生する場合があります。

問題

rwservletを使用して長期にわたって実行しているレポートが終了しません。

解決策

次のことを確認してください。

- Webブラウザから同期式にレポートを実行している場合は、この障害がHTTPサーバーのタイムアウトによるものかどうかを確認します。同じジョブを非同期で送信してみます。正常に終了する場合は、アプリケーション・サーバー構成のHTTPサーバーのタイムアウトを変更するか、長期レポートを非同期で実行すること(この方法をお薦めします)を検討してください。Reports Serverの通知機能を利用すると、ジョブが終了したことをユーザーに通知できます。

- Enterprise ManagerでReports Serverの統計を調べ、サーバーの全般的レスポンス時間が大幅に変化していないかどうかを確認します。

- データベース・サーバーが正常にレスポンスしているかどうかを確認します。長期にわたって実行されるレポートでは特に、データベースの負荷がパフォーマンスに重大な影響を及ぼす場合があります。

D.1.4 プラットフォームによってフォントの表示が異なる

複数のプラットフォームにレポートを配布すると、フォントの問題が生じる場合があります。

問題

複数のプラットフォームにレポートを配布した場合に、プラットフォーム間のフォントの表示およびマッピングが一致しません。

解決策

Oracle Reports 10g リリース2 (10.1.2)では、この問題について、新しいドキュメントにおいて次の各章で取り上げていました。

- 第8章「Oracle Reportsでのフォントの管理」(特にOracle Reportsにおけるフォント処理メカニズムの詳細は、第8.1項「フォントの使用」を参照)

- 第10章「Oracle ReportsでのPDFの使用」(特に第10.2.2項「フォント関連の機能」を参照)

- 第11章「フォント・モデルおよびクロス・プラットフォームの配布」(特に第11.3.1項「プラットフォームによって異なるフォント」および第11.3.2項「フォントに関連する問題の解決」を参照)

D.1.5 UNIXプラットフォームでレポートを実行するとREP-56048が生成される

REP-56048は、UNIXでrwservlet、rwclient、Oracle Formsなどを使用してレポートを実行したときに発行される、一般的なエラー・メッセージです。Reports Serverは、レポートを実行するReport Engineにジョブを渡します。そのReport Engineがクラッシュすると、このエラーが発生します。

REP-56048: エンジン{0}に障害が起きました

原因: Reports Serverで、指定したエンジンのクラッシュが検出されました。

処置: Reports Serverで別のエンジンを再起動します。エンジンがクラッシュするテスト・ケースとともに、問題をオラクル社カスタマ・サポート・センターに報告してください。

後述の解決策および第D.1.1項「レポート・リクエストのハング」の「解決策4」を参照し、問題に対処します。それでもREP-56048が発生する場合は、次のステップを実行して、問題をオラクル社カスタマ・サポート・センターに報告してください。

1. サーバーのトレースとログを有効にします(第23.3.7項「レポート実行のトレース」を参照)。トレースを有効にできない場合、rwserver.confファイルでlog要素のoption属性をfailedJobsに設定することでログのみを有効にします(第7.2.1.13項「log」を参照)。ログを有効にすると、失敗したジョブ・レポートをreports.logファイルで確認できます。失敗したレポートまたはエンジンのクラッシュを引き起こしたレポートを特定します。

2. rwserver.confファイルのengine要素を変更し、diagnosisプロパティを追加してエンジンの診断ログを有効にします(第7.2.1.9項「engine」の「プロパティ」を参照)。その後、ステップ1で特定したレポートを実行し、クラッシュを再現します。

3. 次の情報を添えて、オラクル社カスタマ・サポート・センターにクラッシュの問題を報告します。

- rwserver.confファイル

- reports.logファイル

- クラッシュが再現されたときのエンジンの診断結果の出力

- レポート定義ファイル(オラクル社カスタマ・サポート・センターにおける問題再現用)

問題1

UNIXプラットフォームでレポートを実行したときに、NLS_LANGにWE8ISO8859P1またはIW8ISO8859P8以外の文字セットが定義されている場合、REP-56048が表示されます。

解決策1

Oracleの文字セット名およびXLFDのCHARSET_REGISTRYとCHARSET_ENCODINGとのマッピングに使用されるTk2Motif.rgb内のエントリを修正します(最後の2つのフィールド。iso8859-1など)。詳細は、次を参照してください。

- 第8.3項「フォント構成ファイル」

- 第17.3.6項「UNIXでWE8MSWIN1252文字セットを使用したレポートの実行」

- 第22.7項「グローバリゼーションに関する問題のトラブルシューティング」

- グローバリゼーション・サポートの環境変数の設定

- HP-UXの日本語環境でのOracle Reportsの実行

また、Report Engineでレポートを実行する前に、Reports Runtime (rwrun)を使用してこのレポートを実行し、環境設定を確認することもできます。

問題2

UNIXプラットフォームでレポートを実行したときに、DISPLAY環境変数が設定されていない場合、REP-56048が表示されます。

解決策2

Oracle Reports 10g (9.0.4)では、REPORTS_DEFAULT_DISPLAY環境変数により、DISPLAY環境変数への依存性が解消されています。デフォルトではREPORTS_DEFAULT_DISPLAY=YESです。REPORTS_DEFAULT_DISPLAYがNOに設定されていないことを確認してください。

詳細は、第B.1.42項「REPORTS_DEFAULT_DISPLAY」を参照してください。

問題3

巨大なレポートを実行しているときにトレースを有効にすると、REP-56048が表示されます。

解決策3

トレースを有効にした場合、膨大な出力のレポートを実行したときに、Reports Engineがクラッシュすることがあります。これは、トレース・ファイルのサイズの問題と、トレースの作成に使用できるディスク領域、メモリーまたはプロセッサ処理能力が不十分であることが原因と考えられます。このエラーを防止するには、レポートの問題をトラブルシューティングするために診断情報が必要になる場合に、rwserver.confファイルのengine要素を変更して、diagnosisプロパティを追加し、エンジンの診断ログを有効にします(第7.2.1.9項「engine」の「プロパティ」を参照)。rwserver.conf構成ファイルのtrace要素にあるtraceModule属性を使用して、生成されるトレース・ファイルを制限することもできます。

トレースの詳細は、第23.3.7項「レポート実行のトレース」を参照してください。

問題4

UNIXでDISTRIBUTE=YESに設定するとREP-56048が表示されます。

解決策4

配布ファイルに指定されている宛先の1つがプリンタの場合、PRINTER環境変数が有効なプリンタに設定されていないと、UNIXで配布エラーが発生します。次の環境変数を設定します。

PRINTER=printer_name; export PRINTER
TK_PRINTER=printer_name; export TK_PRINTER
TK_PRINT_STATUS="echo %n is valid"; export TK_PRINT_STATUS
TK_PRINT=echo; export TK_PRINT

ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/uiprint.txtに、次の行を追加します。

printer_name:PostScript:1:test:default.ppd:

レポートの配布の詳細は、第19章「拡張配布の作成」を参照してください。

問題5

UNIXでレポートを印刷するとREP-56048が表示されます。

解決策5

Oracle Reportsでは、UNIXでの印刷にrwlpr.shシェル・スクリプトを使用します。このファイルを直接変更することはできません。オラクル社カスタマ・サポート・センターにサポートを依頼してください。

UNIXでの印刷の詳細は、第9章「UNIXでのOracle Reportsによる印刷」を参照してください。

問題6

UNIXでグラフィックが含まれるレポートを実行するとREP-56048が表示されます。

解決策6

オペレーティング・システムのデフォルト以外のMotifバージョンにOracle Reportsがリンクされている場合に、このエラーが発生することがあります。リンク先となる正しいMotifのバージョンについては、『Oracle Fusion Middlewareリリース・ノート for Microsoft Windows』の「Oracle Reports」を参照してください。

問題7

マトリックス・レポートのデリミタ付きレポート出力を生成するとREP-56048が表示されます。

解決策7

レポート出力を、デリミタ付きではなく、DelimitedData (DESFORMAT=DELIMITEDDATA)またはスプレッドシート(DESFORMAT=SPREADSHEET)出力に生成してください。DelimitedDataを使用すると、大量のレポートをサポートできますが、Microsoft Excelの出力には、レポート・データ・モデルで定義されているデータのみが表示され、レイアウト情報は表示されません。レポート・レイアウトに定義されているフォーマットを維持したレポート出力を生成するには、DESFORMAT=SPREADSHEET出力フォーマットを使用します。

デリミタ付き出力とスプレッドシート出力の詳細は、Oracle Reportsのオンライン・ヘルプで、デリミタ付き出力に関する項とスプレッドシート出力に関する項(およびOracle Reportsレポートの作成マニュアルの高度なコンセプトの章)を参照してください。また、第A.5.27項「DESFORMAT」も参照してください。

問題8

前述の解決策で問題を解決できなかった場合に、Reports Engineからレポートを実行すると、REP-56048が表示されます。

解決策8

このエラーは、環境設定に関連しているか、レポート自体の問題によって発生する場合があります。Reports ServerでOracle Reports Servlet (rwservlet)のshowjobsページを調べると、エラーを引き起こしているジョブを特定できます。UNIXマシンを使用している場合は、実行環境にコア・ダンプが作成されます。関連するバグを簡単に検索できるよう、このコア・ダンプからスタック・トレースを抽出します。実行可能ファイルは、rwrunではなく、javaになることに注意してください。

以前のリリースでは、コア・ファイルからスタック・トレースを抽出するために、ランタイム・コンポーネントでデバッガを実行していました。この方法は、rwrunコンポーネントのみで問題を再現できる場合は、現在でも有効です。ただし、Reports Serverを使用した場合でのみクラッシュが発生する場合、Javaラッパーを使用してエンジンがコールされるため、Java実行可能ファイルでデバッガを実行する必要があります。これにより、すべてのOracle Reportsライブラリが自動的にロードされます。

例:

dbx java core

この例は、dbxの場合を示しています。スタック・トレースを抽出したら、My Oracle Support(http://support.oracle.com)で、スタックにある最後の数コールを使用して、関連する問題を検索できます。

特定のジョブが問題の原因と思われる場合、次のステップとして、rwclientおよびrwrunを使用して、そのレポートを実行します。rwclientを使用して実行すると、Webコンポーネントが環境から削除されます。rwrunを使用して実行すると、Reports Serverをバイパスしてエンジンのみで実行することと同様になります。

D.1.6 右から左に表示する言語のフォントの問題

双方向サポートは、利用対象者の要件に応じて、左から右または右から左の方向にレポート出力を表示できるようにします。右から左に表示する言語にはフォントの問題があるため、レポート出力の生成が完全ではありません。

問題

右揃えのテキストが正しく表示されず、固定幅フォントを必要とする制限が生じます。

解決策

Oracle Reports 10g リリース2 (10.1.2)では、右から左に表示する言語(ヘブライ語、アラビア語など)にフォント・サブセットを適用して、テキストが正しく右揃えになるようにPDF出力を改善することで、この問題に対応していました。しかし、UNIXプラットフォームでは、右揃えのテキストが正しく表示されない場合があります。

右から左に表示するテキストの問題に対処するには、次の各項を参照してください。

- 第22.4項「双方向サポート」では、右から左に表示する言語のレポートを設計する際に使用できるオプションについて説明します。

- 第10.4項「双方向(BiDi) PDFファイルの生成」では、双方向(BiDi)言語のPDFファイルを生成するステップについて説明します。

- 第B.1.30項「REPORTS_ALLOW_DB_CONNECT_STRING」。この環境変数によって、useridパラメータでDB接続文字列を使用できるようになります。

- 第B.1.31項「REPORTS_BIDI_ALGORITHM」では、双方向(BiDi)言語(アラビア語やヘブライ語など)の双方向レイアウト・アルゴリズムを切り替える環境変数について説明します。

- 第11.6項「マルチバイトPDF出力の生成」では、UNIXで固定幅フォントに対処する方法の例を示します。

D.1.7 RUN_REPORT_OBJECTを使用してOracle Formsからレポートを実行する際のエラー

Web上でOracle FormsからOracle Reportsをコールする際に最もセキュアな方法は、Oracle Reports ServicesをRUN_REPORT_OBJECTとともに使用することです。RUN_REPORT_OBJECTを使用してOracle FormsからOracle Reportsをコールする方法の詳細は、OTNにあるホワイト・ペーパー『Oracle Application Server 10g Integrating Oracle Reports in Oracle Forms Services Applications』(http://otn.oracle.com/products/forms/pdf/10g/frm10gsrw10g.pdf)を参照してください。

『Oracle Fusion Middleware Forms Servicesデプロイメント・ガイド』も参照してください。

問題1

RUN_REPORT_OBJECTで次のエラーが生成されます。

FRM-41214: レポートを実行できません

解決策1

Webでレポートを配布し、ブラウザ・ウィンドウに出力を表示する場合は、DESTYPEを、SCREENまたはPREVIEWではなく、CACHEに設定します。ブラウザにレポート出力を表示するには、RUN_REPORT_OBJECTではなく、WEB.SHOW_DOCUMENTを使用します。

問題2

RUN_REPORT_OBJECTで次のエラーが生成されます。

FRM-41213: Reports Server: server_nameに接続できません。

解決策2

次を確認してください。

- RUN_REPORT_OBJECTコードで参照されているReports Serverが起動していることを確認します。インプロセスReports Serverが起動していないと、RUN_REPORT_OBJECTでは自動的には開始されません。

- Oracle ReportsのOracle WebLogic Serverインスタンスが起動していることを確認します。

- RUN_REPORT_OBJECTに渡されるパラメータの値にスペースが使用されていないこと、およびパラメータが一重引用符で囲まれていることを確認します。

問題3

RUN_REPORT_OBJECTで次のエラーが生成されます。

REP-503 レポートの名前が指定されていません。

解決策3

Oracle Formsオブジェクト・ナビゲータのレポート・オブジェクトのプロパティ・インスペクタに、レポート名が指定されていることを確認します。

問題4

フォームからレポートを実行して、フォームからレポートにパラメータを渡すことができません。

解決策4

次を確認してください。

- Oracle Formsから渡すパラメータが正しいフォーマットであることを確認します。パラメータの初期値は、Reports Builderのパラメータのプロパティ・インスペクタで指定されます。

- パラメータの初期値が、Reports Builderのパラメータのプロパティ・インスペクタで指定されていることを確認します。

- Before Reportトリガーまたはレポート・パラメータ・フォームを使用して、コマンドラインを渡します。

それでも問題が解決しない場合、レポートのトレースを有効にして(第23.3.7項「レポート実行のトレース」を参照)、問題の原因を絞り込みます。

問題5

レポート・パラメータ・フォーム(PARAMFORM=YES)をRUN_REPORT_OBJECTとともに使用するとエラーになり、Internal Server Errorが発生します。

解決策5

OTN(http://otn.oracle.com/products/forms/pdf/10g/frmrepparamform.pdf)にあるOracle Forms ServicesのRun_Report_Object()を使用したパラメータ・フォームでのReportsのコールに関するホワイト・ペーパーを参照してください。

D.1.8 Microsoft Excelでのレポート出力の表示

Microsoft Excelに表示するためにデリミタ付きのレポート出力を生成することは、一般的な要件であり、様々な方法で実現できます。しかし、どの方法を選択したらよいかわからない場合があります。

問題

要件に最も適したデリミタ付き出力のソリューションがわかりません。

解決策

レポートの定義および出力ディスプレイの要件に応じて、Microsoft Excel用のデリミタ付きレポート出力を生成する適切な方法を選択します。

- 要件: ペーパー・レイアウト・レポートがあり、Microsoft Excelに出力する必要はあるが、レポート・レイアウトをリッチ・フォーマットにする必要はありません。
出力ソリューション: デリミタ付きのレポート出力を生成します。

- DESFORMAT=DELIMITED

- DESFORMAT=DELIMITEDDATA (DELIMITEDを使用すると、大量のレポートの実行に問題が生じる場合)

- 要件: ペーパー・レポートがあり、レポート・レイアウトをリッチ・フォーマットにすることを含めて、Microsoft Excelに出力する必要があります。
出力ソリューション: スプレッドシート形式のレポート出力を生成します。

- DESFORMAT=SPREADSHEET

- 要件: ペーパー・レポートがあり、レポート・レイアウトをリッチ・フォーマットにすることを含めて、Microsoft Excelに出力する必要があります。さらに、レポートをJSPとして配布する必要があります。
出力ソリューション: JSPレポートであるため、直接.xlsファイル(DESTYPE=FILE)に生成することはできませんが、ブラウザに表示される出力を.xlsファイルとして保存することはできます。<rw:include>を使用してこのソリューションを実行する方法の詳細は、Oracle Reportsレポートの作成マニュアルの第29章「Microsoft Excel出力へのWebレイアウト・レポートの配布」を参照してください。

- 出力要件: JSPベースのWebレポートがあり、Microsoft Excelに出力する必要があります。
ソリューション: JSPレポートであるため、直接.xlsファイル(DESTYPE=FILE)に生成することはできませんが、ブラウザに表示される出力を.xlsファイルとして保存することはできます。Oracle Reportsレポートの作成マニュアル(Oracle Technology Networkで入手できます)のスプレッドシート出力のレポートの作成に関する項を参照してください。

スプレッドシート出力およびデリミタ付き出力の詳細は、Oracle Reportsのオンライン・ヘルプおよびOracle Reportsレポートの作成マニュアルを参照してください。

D.1.9 ユーザー・イグジットが含まれるレポートのUNIXでの障害

ユーザー・イグジットは、以前のリリースのOracle Reportsで開発されたレポートに存在する場合があります。

ノート:

Oracle Reports 10gでは、ORA_JAVA組込みパッケージおよびJava Importerを使用してJavaメソッドをコールできます。これによってレポートでのユーザー・イグジットの必要性が軽減され、さらにオープンでポータブルな配置が可能になります。また、ダイナミック・ライブラリのC関数を呼び出すための外部関数インタフェースを提供する、ORA_FFIビルトイン・パッケージを使用することもできます。これらの組込みパッケージが使用可能になったことにより、ユーザー・イグジットの使用はOracle Reportsでは非推奨になっています。ただし、makefileは、既存のユーザー・イグジットを引き続き使用できるようにするために提供されています。

問題

UNIXでユーザー・イグジットが含まれるレポートを実行すると失敗します。

解決策

UNIXでは、Reports Builder (rwbuilder)とReports Runtime (rwrun)によってユーザー・イグジット・ライブラリが動的にロードされ、ユーザー・イグジットが含まれるレポートが正常に実行されます。Reports Server (rwserver)を使用してレポートを実行する場合は、rwengine.shに次の環境変数を追加して、ユーザー・イグジット・ライブラリをロードする必要があります。

LD_PRELOAD=librw.so:user_exit_library; export LD_PRELOAD

D.1.10 インプロセスReports Serverを使用する際の印刷エラーとフォント・エラー

インプロセスReports Serverでは、現在Windowsにログオンしているユーザーのデフォルト・プリンタが認識されません。これは、インプロセスReports Serverを実行しているサービスがLocal Systemとしてログオンされているためです。

問題

次のような問題があります。

- デフォルトのプリンタに出力すると、REP_3002エラー・メッセージが出力されます。次に、コマンドの例を示します。

http://myrepsrvr.example.com:7777/reports/rwservlet?report=myrep.rdf&destype=printer&desformat=html

この場合、次のエラー・メッセージが表示されます。

Error:"REP-3002: Error initializing printer.  Please make sure a printer is installed."

- Oracle6i Graphics (OGD)グラフィックが含まれるレポートを配布すると、Reports Serverがレスポンスを停止します。

- インプロセスReports ServerからPDFファイルを出力すると、フォントの位置に問題が発生します。

解決策

これらの問題をすべて対処するには:

1. レジストリ・エディタ(regedit.exeなど)を使用してWindowsのレジストリを開きます。編集する前に、レジストリのバックアップを作成します。

2. 次に示すキーにナビゲートします。

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows

3. このキーのDeviceの文字列値をコピーします。例:

\\MOWGLI\sierra,winspool,Ne02:

4. 次に示すキーにナビゲートします。

HKEY_USERS\.DEFAULT\Software\Microsoft\Windows NT\CurrentVersion\Windows

5. HKEY_CURRENT_USERからコピーしたDeviceの値を貼り付けます(このキーのDeviceの文字列値は空になります)。

ノート:

この回避策は、Default Printerの値を変更するたびに実行する必要があります。

この回避策は、OPMN-managed Reports Serverでは機能しません。

インプロセスReports Serverの実行の長所と短所の詳細は、第2章「Oracle Reports Servicesのアーキテクチャの理解」を参照してください。詳細は、第7.3項「Oracle Reports Servlet構成ファイル」(serverパラメータとinprocessパラメータの説明)を参照してください。

D.1.11 Reports Runtimeの実行時にプレースホルダ列値でレコードがシフト・ダウンされる

Reports Runtimeでのレポートの実行時に、プレースホルダ列値でレコードがシフト・ダウンされます。ただし、Reports Builderでレポートを処理すると、レポート出力は正しくフォーマットされます。Reports Runtimeでは、プレースホルダ列と式列の間に依存関係を設定する必要があります。

問題

Reports Runtimeの実行では、次の場合に、値でレコードがシフト・ダウンされます。

- レポートに、式列から設定された値を持つプレースホルダ列が含まれる場合。

- レポートに、式列のプロシージャ・コールから導出された値を持つプレースホルダ列が含まれる場合。

解決策

この問題を解決するには、次のステップを実行します。

1. Oracle Reportデータ・モデルから、プレースホルダ列に対するプロパティ・パレットを選択します。たとえば、選択した列はCP_1であるとします。

2. 「PL/SQL式」列プロパティをダブルクリックします。

3. 次の例に示すように、プレースホルダ列から式列へのsrw.referenceを入力します。

function CP_1Formula return Number is
Begin
srw.reference (:CF_1);
end;

ここで、CF_1は式列であり、srw.referenceがプレースホルダ列と式列の間の依存関係を設定します。

4. 「コンパイル」を選択します。

5. 必要に応じて、前述のステップを他のプレースホルダ列についても繰り返します。

6. レポートを保存し、Reports Runtimeを再実行します。プレースホルダ列でレコードがシフト・ダウンされなくなります。

D.2 パフォーマンスの問題の診断

レポート実行時間を改善する方法および全体的なパフォーマンスを効率化する方法の詳細は、第23章「Oracle Reportsの診断およびチューニングを参照してください。

Oracle Reportsのトレース・オプションを使用して、Oracle Reportsのパフォーマンス関連問題などをトレースして診断する方法の詳細は、第23.3.7項「レポート実行のトレース」を参照してください。

D.3 フォントの問題の診断

UNIXマシンでフォントを使用する際の一般的な問題および解決策の詳細は、第11章「フォント・モデルおよびクロス・プラットフォームの配布」を参照してください。

D.4 印刷の問題の診断

UNIXでレポートを印刷する際の一般的な問題と解決策の詳細は、第9章「UNIXでのOracle Reportsによる印刷」の第9.9項「よくある質問」を参照してください。

D.5 JDBC PDSの問題の診断

JDBC PDSを使用する際の一般的問題と解決策の詳細は、第13章「プラガブル・データ・ソースの構成と使用」の第13.1.4項「トラブルシューティング情報」を参照してください。

D.6 Oracle Portalの問題の診断

レポートをポートレットやアイテム・リンクとしてOracle Portalに公開する際の一般的な問題と解決策の詳細は、第15章「Oracle Portalでのレポートの配布」の第15.5項「トラブルシューティング情報」を参照してください。

D.7 グローバリゼーションの問題の診断

Oracle Reportsにおけるグローバリゼーションの一般的な問題と解決策の詳細は、第22章「グローバリゼーションと双方向のサポートの実装」の第22.7項「グローバリゼーションに関する問題のトラブルシューティング」を参照してください。

D.8 Oracle Reports Bridgeの問題の診断

ビルトインのブロードキャスト・メカニズムを使用中に、複数のサブネット間で通信の問題が発生した場合、Oracle Reports Bridgeに関連している可能性があります。

問題1

Oracle Reports Bridgeのトレース・ファイルには、次の情報が含まれます。

[2005/12/8 1:45:7:339] Info 50103 (BridgeConnection:getResponsePacket):Getting response object from remote bridgeusunrao06.example.com/130.35.37.76:14011[2005/12/8 1:45:8:340] Debug 50103 (BridgePacketHandler:handleRequestPacket): Gotresponse from remote subnet null[2005/12/8 1:45:8:991] Error 64013 (BridgeConnection:getResponsePacket):Bridge failed to serve the requestjava.net.ConnectException: Connection refused:connect

解決策1

リモートのOracle Reports Bridgeが実行されていません。第5.2項「Oracle Reportsブリッジの起動と停止」の説明に従って、Oracle Reportsブリッジを起動します。

問題2

[2005/12/8 1:50:34:219] Info 50103 (BridgeConnection:getResponsePacket):Getting response object from remote bridgeusunrao06.example.com/130.35.37.76:14011[2005/12/8 1:50:34:469] Debug 50103 (NetworkUtility:write): Writing ......[2005/12/8 1:50:34:469] Debug 50103 (NetworkUtility:read): Reading ......[2005/12/8 1:50:35:220] Debug 50103 (BridgePacketHandler:handleRequestPacket): Gotresponse from remote subnet null

さらに、リモート・サブネット(Reports Serverが配置されているサブネット)にあるOracle Reports Bridgeのトレース・ファイルには、次の情報が含まれます。

[2005/12/8 2:36:59:997] Debug 50103 (Multicast:registerReceiver): Packet handlerregistered[2005/12/8 2:37:1:16] Info 65003 (NetworkUtility:getIOR): Request timed out
[2005/12/8 2:37:2:19] Info 65003 (NetworkUtility:getIOR): Request timed out[2005/12/8 2:37:3:30] Info 65003 (NetworkUtility:getIOR): Request timed out[2005/12/8 2:37:3:31] Debug 50103 (NetworkUtility:getIOR): No response from serverretuning null ior[2005/12/8 2:37:3:32] Info 50103 (Multicast:registerReceiver): Packet handlerunregistered[2005/12/8 2:37:3:32] Debug 50103 (NetworkUtility:write): Writing ......

解決策2

Reports Serverがリモート・サブネットで実行されていません。第5.1項「Reports Serverの起動と停止」の説明に従って、Reports Serverを起動します。

比較のために、次のサンプル出力で、Oracle Reports BridgeがReports Serverの検出に成功した場合におけるOracle Reports Bridgeのトレースを示します。

[2005/12/8 4:4:6:700] Info 50103 (BridgeConnection:getResponsePacket):Getting response object from remote bridgeusunrao06.example.com/130.35.37.76:14011[2005/12/8 4:4:6:950] Debug 50103 (NetworkUtility:write): Writing ......[2005/12/8 4:4:6:950] Debug 50103 (NetworkUtility:read): Reading ......[2005/12/8 4:4:7:932] Error 50103 (BridgeConnection:run): Got response[2005/12/8 4:4:7:942] Debug 50103 (BridgePacketHandler:handleRequestPacket):Got response from remote subnet Response Packet -ServerName = vinCorrelationID = 1134056309492SenderID = ServerName: vinVMID: 7e444dbc56c79b06:f9c40:10809ddbdaf:-8000Duplicate = falseType = FULLAdd. Info = Type = server : Host = usunrao06.example.com

問題3

Reports Serverはリモート・サブネット上で実行されており、Oracle Reports Bridgeは両方のサブネット上で実行され正しく構成されていますが、Oracle ReportsクライアントはリモートReports Serverに接続できません。これは、ブリッジ構成ファイルのタイムアウトの設定値が不適切であることが原因となっている場合があります。このような場合、ローカル・サブネット(クライアントが配置されているサブネット)にあるOracle Reports Bridgeは、リモート・サブネットにあるOracle Reports Bridgeが応答する前に、タイムアウトになる場合があります。

解決策3

Oracle Reports Bridge構成ファイル(rwbridge.conf)のタイムアウト値を大きくします。例:

<bridge version="10.1.2" port="14011" timeout="2000">

ローカル・サブネットにあるOracle Reports Bridgeは、リモート・サブネットにあるOracle Reports Bridgeからのレスポンスを、タイムアウトになるまで待ちます。ネットワークの接続速度が低いと、Oracle Reports Bridgeがタイムアウトになる場合があります。さらに、Oracle Reports Bridgeが応答する前にOracle Reportsクライアントがタイムアウトにならないように、ネットワーク構成ファイル(rwnetwork.conf)のタイムアウト値を大きくします。例:

<multicast channel="228.5.6.7" port="14021" timeout="1000" retry="3"/>

一般的には、Oracle Reports Bridgeのタイムアウトを設定する場合は、次のステップを実行します。両方のブリッジが正しく構成されていることを前提とします。

1. ローカル・サブネットにあるOracle Reports Bridgeに、非常に大きなタイムアウト値を設定します。

2. 両方のOracle Reports Bridgeを起動します。

3. (リモート・サブネットにある)Reports Serverを起動します。

4. ローカル・サブネットで、次のコマンドを使用してrwdiagユーティリティを実行します。
rwdiag -find server_name

このコマンドによって、Oracle Reports BridgeでリモートReports Serverを検出するのに要する時間が出力されます。例:

D:\orawin\reports\conf>rwdiag -find vin
Broadcast mechanism used to locate servers
------------------------------------------
Channel address = 228.5.6.7
Channel port = 14021
'vin' found in the network
Time taken - 1181 milliseconds
Name = vin : Type = server : Host = usunrao06.example.com

この例では、Oracle Reports BridgeはリモートReports Serverの検出に1181ミリ秒かかっています。

5. 次のように、ローカル・サブネットにあるOracle Reports Bridgeのタイムアウト値を予測します。

timeout = 1181 * 1.3

これは、約1500ミリ秒になります。

6. repbrg_bridgename.confファイルにタイムアウト値を設定します。例:

<bridge version="10.1.2" port="14011" timeout="1500">

7. rwnetwork.confファイルのタイムアウト値が、次の条件に従っているか確認します。

timeout (in rwnetwork.conf) * retry (in rwnetwork.conf) > timeout (in repbrg_bridgename.conf)

例:

timeout (in rwnetwork.conf) * 3 > 1500

したがって、rwnetwork.confのtimeoutの値は、1500以上にする必要があります。

問題4

どのOracle Reports Bridgeが構成されサブネットで実行されているか確認することが必要になる場合もあります。

解決策4

rwdiagユーティリティを使用して、すべてのReports ServerとOracle Reports Bridgeを検出します。たとえば、次のようなコマンドを実行します。

rwdiag -findall

このコマンドにより、次の例のような出力が生成されます。

C:\>rwdiag -findall
Broadcast mechanism used to locate servers
------------------------------------------
Channel address = 228.5.6.7
Channel port = 14021
(1) Name = bugupdate : Type = server : Host = strep15.idc.oracle.com
(2) Name = rep_supadhya-pc_frhome1 : Type = server : Host =supadhya-pc.idc.oracle.com
(3) Name = vinod : Type = server : Host = strep10.idc.oracle.com
(4) Name = rep_strep10 : Type = server : Host = strep10.idc.oracle.com
(5) Name = abc : Type = bridge : Host = strep12.idc.oracle.com
(6) Name = rep_stfrm08_frhome1 : Type = server : Host = stfrm08.idc.oracle.com
(7) Name = rep_stport79_as101202mid : Type = server : Host =stport79.idc.oracle.com
(8) Name = rep_iwinreb20_0508041930_bif : Type = server : Host =iwinreb20.example.com
C:\>

rwdiagユーティリティの詳細は、付録E「Reports Serverとブリッジの診断ユーティリティ」を参照してください。

D.9 その他の解決策

この他の解決策は、My Oracle Support(http://support.oracle.com)で公開されています。問題の解決策が見つからない場合は、オラクル社カスタマ・サポート・センターでサービス・リクエストを受け付けています。

オラクル社カスタマ・サポート・センターに問題のトラブルシューティングを依頼する場合は、次のステップを実行してください。

1. 第23.3.7項「レポート実行のトレース」の説明に従って、レポートの実行をトレースします。

2. オラクル社カスタマ・サポート・センターに問い合せます。オラクル社カスタマ・サポート・センターに問題のトラブルシューティングを依頼するには、必要に応じて、トレース情報、配布のシナリオ、レポート出力のサンプルなどが含まれるZipファイルを提供してください。

関連項目:

- Oracle Fusion Middlewareリリース・ノート for Microsoft Windows (Oracle Technology Network (OTN)で入手可能)

E Reports Serverとブリッジの診断ユーティリティ

この付録では、Reports Serverとブリッジの診断ユーティリティrwdiagの引数および使用方法について説明します。

- rwdiagの概要

- コマンドライン構文

トラブルシューティングの例と解決策の詳細は、第D.8項「Oracle Reports Bridgeの問題の診断」を参照してください。

E.1 rwdiagの概要

rwdiagは、ネットワーク上のReports Serverとブリッジを検出し、Reports Serverおよびそのクライアントによりネットワークにブロードキャストされたパケットを監視するために使用するユーティリティです。これは、ORACLE_INSTANCE\config\ReportsToolsComponent\ReportsTools\rwnetwork.confおよびブリッジ・タイムアウト値に対する最適な設定の選択にも有用です。rwdiagは、Borland VisiBroker ORB (Oracle ReportsではJDK ORBによって置き換えられている)で提供されているosfindユーティリティに似ています。

ノート:

Oracle Reportsでは、Borland社のVisiBrokerが、Sun社の業界標準Java Developer's Kit Object Request Broker (JDK ORB)に置き換わっています。JDK ORBは、異なるサブネットのクライアントからのReports Serverリクエストをサポートし、サブネット内とサブネット間の両方で、動的にReports Serverを検出するためのブロードキャスト・メカニズムを有効にします。

rwdiagは、使用しているプラットフォームに応じて、次の2つのスクリプトのいずれかで起動できます。

Microsoft Windowsの場合:

ORACLE_INSTANCE\config\reports\bin\rwdiag.bat

UNIXの場合:

ORACLE_INSTANCE/config/reports/bin/rwdiag.sh

E.1.1 例

次の各項では、rwdiagの使用例を示します。

E.1.1.1 例1

このコマンドラインにより、デフォルトの検出タイムアウト値の10秒を使用して、ネットワークからabcという名前のブリッジまたはReports Serverを検出します。

rwdiag.bat -find abc

このコマンドにより、ネットワークでabcが検出されると、検出成功を示すメッセージ、名前、タイプ、ホスト名および所要時間が返されます。Oracle Reportsの検出メカニズムとしてネーミング・サービスが使用されていると、このユーティリティにホスト名が使用できないため、検出成功を示すメッセージのみが返されます。

E.1.1.2 例2

このコマンドにより、検出タイムアウトを5秒に指定して、ネットワークでabcという名前のブリッジまたはReports Serverを検出します。

rwdiag.bat -find abc -timeout 5

E.1.1.3 例3

このコマンドにより、xyz.conf構成ファイル内の設定を使用して、ネットワークでabcという名前のブリッジまたはReports Serverを検出します。

rwdiag.bat -find abc -conf xyz.conf

ノート:

ネットワーク構成ファイルがデフォルト以外の場所に格納されている場合、そのファイルの完全なパスを指定する必要があります。

xyz.confの内容は次のとおりです。

<?xml version = '1.0' encoding = 'ISO-8859-1'?>
<!DOCTYPE discoveryService SYSTEM "file:c:\orawin\reports\dtd\rwnetworkconf.dtd">
<discoveryService>
<multicast channel="105.2.3.8" port="35078" timeout="1000" retry="3"/>
<!--namingService name="Cos" host="localhost" port="9999"/-->
</discoveryService>

構成ファイルからどのようにチャネル・アドレスとポート番号が選択されるかに注目してください。abcがなんらかの理由で別のポートで実行されていると、検出されません。

E.1.1.4 例4

このコマンドは、ネットワーク上のすべてのReports Serverとブリッジの検出を試みます。

rwdiag.bat -findAll

ブロードキャスト・メカニズムにより、すべての情報が用意されます。Oracle Reportsの検出メカニズムとしてネーミング・サービスが使用されていると、ホスト情報は使用できません。

E.1.1.5 例5

このコマンドにより、すべてのブロードキャスト・パケットをネットワーク上でReports Serverとそのクライアント単位で監視し、画面にパケット情報を表示します。[q]を押してから[Enter]を押すと、監視が停止します。

rwdiag.bat -monitor

E.1.1.6 例6

このコマンドにより、すべてのブロードキャスト・パケットをネットワーク上でReports Serverとそのクライアント単位で監視し、c:\log.txtログ・ファイルにパケット情報を保存します。[q]を押してから[Enter]を押すと、監視が停止します。

rwdiag.bat -monitor -log c:\log.txt

E.2 コマンドライン構文

rwdiagには、次の操作を実行するためのキーワードを使用します。

- ネットワーク上で稼動するReports Serverまたはブリッジを検索する操作

- ネットワークで稼動しているすべてのReports Serverまたはブリッジをリストする操作

- ネットワークのブロードキャスト・パケットをReports Serverまたはクライアント単位で監視する操作

E.2.1 構文

rwdiag.bat | rwdiag.sh {-find serverName | -findAll |-monitor [-log log_file_name]} [-conf config_file_name] [-timeout seconds]

説明:

rwdiag.batは、Microsoft Windows用のスクリプトです。

rwdiag.shは、UNIX用のスクリプトです。

-find serverNameは、現在のネットワーク上で実行されている、指定された名前のReports Serverを検出します。

-findAllにより、ネットワーク上のすべてのReports Serverとブリッジを検出し、リストします。

-monitorは、ネットワーク上のブロードキャスト・パケットをリストします。監視を終了するには、[q]を押してから[Enter]を押します。このオプションは、ネットワーク構成ファイルに指定されている検出メカニズムがネーミング・サービスの場合、使用できません。

-log log_file_nameは、監視結果を書き込むログ・ファイルを指定します。指定しない場合、監視結果は画面に表示されます。ファイル名には絶対パスを使用できます。ファイル名のみを指定した場合、ログ・ファイルは現在使用されているフォルダに作成されます。

-conf config_file_nameは、カスタムの構成ファイルを指定します。指定しない場合、rwnetwork.confがデフォルトのファイル名になります。検出メカニズム(ブロードキャストまたはネーミング・サービス)やポート番号などの設定は、このファイルから取得されます。このユーティリティでは、構成ファイルは<INSTANCE_ HOME>\config\ReportsToolsComponent\ReportsTools\confにあることが前提となります。存在しないファイルを指定すると、そのファイルがrwnetwork.template内のデフォルト設定を使用して作成されます。

-timeout secondsは、タイムアウト値を秒単位で指定します。指定しない場合、デフォルト値は10秒になります。タイムアウトは、クライアントがリクエスト・パケットをブロードキャストしてから、サーバーのレスポンスを待機する時間です。このオプションは、ネットワーク構成ファイルに指定されている検出メカニズムがネーミング・サービスの場合、無視されます。

E.2.2 使用上のノート

- 検出メカニズムにネーミング・サービスを使用している場合、ホスト情報は使用できません。

- 検出メカニズムにネーミング・サービスを使用していると、検出はネーミング・サービス内のReports Server名に基づいて行われるため、サーバーの検出に要した時間は表示されません。ユーティリティはサーバーからの応答を待機する必要はありません。したがって、要した時間はネーミング・サービスには関係ありません。

- ブリッジは、ネーミング・サービスにバインドしていないため、ネーミング・サービスを使用して検出できません。Reports Serverの実装のみがネーミング・サービスにバインドしています。

- 構成ファイルにあるタイムアウト値は無視されます。コマンドラインで指定した値のみが適用されます。コマンドラインに値を指定しない場合、デフォルト値は10秒になります。

- 検出対象となるReports Serverが検出されないと、サーバーが見つからなかったことを示すREP-50504メッセージが生成されます。

用語集

AFM

Adobe Font Metricsの略称。AFMファイルとPPDファイルは、Adobe社およびプリンタのベンダーによって提供されます。これらのファイルにはプリンタに関する情報が含まれています。他のパラメータとともに、これらのファイルから、Oracle Reportsで使用するプリンタで使用可能なフォントについての情報が読み取られます。PPDファイルにリストされているすべてのフォントについて、対応するAFMファイルがそのフォント名に従って検索され、使用可能なAFMのあるすべてのフォントがロードされます。

CGI

Common Gateway Interfaceの略称。WebサーバーとCGIプログラムの間で情報を転送するための標準。CGIでは、HTTPリクエストの一部として引数をプログラムに渡す方法が指定されるとともに、プログラムで使用できる環境変数のセットが定義されます。これにより、ブラウザに戻す出力がプログラムによって生成されます。CGIでは、Webサーバーとユーザー間の動的な対話を可能にするためにサーバー・サイド処理が提供されます。

列

1. データの特定のドメインを表す、データベース表内の垂直方向の領域。列には列名(ENAMEなど)があり、特定のデータ型(CHARなど)を持っています。たとえば、従業員情報の表で従業員名のすべてが1つの列を構成するなどです。レコード・グループ列は、データベースの列を意味します。

2. 問合せのSELECTリスト内の列のそれぞれの式に対し自動的に作成されるか、集計や式を実行したりプレースホルダとして稼働するために手動で作成されるデータ・モデル・オブジェクト。

3. エンティティの属性の表示。

データ・モデル

データ・ソースからどのデータをフェッチするか、どの値を計算するか、データをレポート内でどのように順序付けるかを定義するリレーショナル・モデル。データ・モデルを定義するReports Builderオブジェクトは、問合せ、グループ、列、パラメータ、リンクです。

データ・モデル・ビュー

レポートのデータを構造的に表示するレポート・エディタのビューの1つです。このオブジェクトは、レポート出力に表示されないが、構造体でレイアウト・スタイルが決定され、データ・オブジェクトはレイアウト・オブジェクトに表示される値を提供します。

データベース

問合せから返されるデータのソース。表、ビュー、シノニム、スナップショット、ビューとして格納された問合せなどのデータベース・オブジェクトがあります。Oracle Reports Servicesでは、様々なデータ・ソースにアクセスできます。

ユニットとして扱われる、1組のディクショナリ表とユーザー表。

データ・ソース

問合せから返されるデータのソース。表、ビュー、シノニム、スナップショット、ビューとして格納された問合せなどのデータベース・オブジェクトがあります。Oracle Reports Servicesでは、様々なデータ・ソースにアクセスできます。

Oracle Open Client Adapter (OCA)はプラガブル・データ・ソース(PDS)アーキテクチャに置き換えられ、Open Database Connectivity (ODBC)ドライバは、Oracle Reportsでは廃止されています。ただし、Java Database Connectivity (JDBC)は、JDBC-ODBCブリッジを使用できるプラガブル・データ・ソースの1つであり、これを利用することにより他のデータ・ソースへのアクセスが可能になります。

ディテール問合せ

マスター/ディテール・レポートの定義時に、マスターまたは親の問合せによって取得された各レコードに対し、ディテール問合せは関連するすべてのレコードを取得します。

ダイアログ・ボックス

操作を完了するために必要な情報の入力を求める、部分的な画面またはウィンドウ。

無効

メニュー項目、ボタンなどを現行のコンテキストで使用できない(キーボードやマウスからの入力に反応しない)インタフェース要素の状態。

エディタ

「ビュー」を参照してください。

有効

メニュー項目、ボタンなどを現行のコンテキストで使用できる(キーボード、カーソルまたはマウスからの入力に反応する)インタフェース要素の状態。

フィールド

1. その中でデータの入力、編集および削除が可能なインタフェース要素。

2. 特定の問合せ列のデータがどのように表示されるかを定義するレイアウト・オブジェクト。

外部キー

別の表の主キーを参照する1つの表の値または列。

書式マスク

フィールドの値の外観を定義する設定。たとえば、書式マスクを使用して通貨や日付の表示を指定できます。

フォーマット・トリガー

オブジェクトのフォーマット属性を動的に変更できるPL/SQLファンクション。

計算式列

PL/SQLファンクションまたは式、SQL文、あるいはこれらの組合せからデータを取得するユーザー作成の列。

枠

他のレイアウト・オブジェクトを囲み、複数のオブジェクトのフォーマット、頻度および配置を同時に制御するために使用するレイアウト・オブジェクト。

グループ

1. Reports Builderでは、問合せで選択したすべての列を含めるために自動的に作成されるか、レポートに出現するデータの階層を変更するためにユーザーが作成するデータ・モデル・オブジェクト。主にレポート内にブレークを作成する場合や、計算をリセットする場合に使用します。

2. 複数のオブジェクトで構成されるオブジェクト。

HTML

HyperText Markup Languageの略称。インターネット上のWebサーバーの他のドキュメントに対するコンテンツとリンクの指定に使用される、タグ・ベースのASCII言語。エンド・ユーザーは、WebブラウザでHTMLドキュメントを表示し、リンクに従って他のドキュメントを表示します。

HTTP

HyperText Transfer Protocolの略称。Webブラウザのコンピュータとアクセス先のWebサーバーとの間のWebトラフィックの伝送に使用されるプロトコル。

ハイパーリンク

あるドキュメントの特定のポイントから、別のドキュメント(の特定のポイント)または同じドキュメント内の別の場所を示す参照(リンク)。Webブラウザ上のハイパーリンクは通常、他とは異なる方法で表示される(別の色、フォントまたはスタイル)。ユーザーがハイパーリンクを起動すると(マウスでクリックすると)、そのリンクの参照先がブラウザに表示されます。

IANA

Internet Assigned Numbers Authorityの略称。インターネット全体の新しいIPアドレスの割当てを管理する、Internet Architecture Board(IAB)の下位組織。IANA定義のキャラクタ・セットとは、charsetタグに対して定義でき、インターネットで使用可能なキャラクタ・セットのことを指します。

アイコン

ウィンドウやツールのグラフィック表示。

イメージ

アプリケーションに格納およびロードできるビットマップ・オブジェクト。クライアントは、インポートされたイメージを変更できません。

イントラネット

内部的なTCP/IPネットワークで、これに対するアクセスは(ファイアウォールにより)企業や組織内の人物に制限されています。イントラネットはインターネットで提供されるサービスと類似したものを組織内に提供しますが、インターネットに接続される必要ありません。企業内で情報やアプリケーションを配布するために、内部ネットワーク上に1つ以上のWebサーバーを設定するのはイントラネットの一般的な例です。

Java

コンピュータ言語。インターネット用のプログラミングを、プラットフォームに依存しない「サーブレット」または「アプレット」の形でサポートします。

JAAS

Java Authentication and Authorization Serviceの略。サービスにおいて、ユーザーに対するアクセス制御の認証と強制適用を可能にするAPI群です。標準のPluggable Authentication Module (PAM)フレームワークのJavaテクノロジ版を実装しており、ユーザー・ベースの認可をサポートしています。

JAR

Java ARchiveの略称。多数のファイル(Javaクラス・ファイルやイメージなど)を1つのファイルに統合するために使用されるファイル。

JAZN

JAASのOracle実装。

Java EE

Java Platform, Enterprise Editionの略称。Javaで企業アプリケーションを開発、デプロイするための環境。複数層からなるWebベースのアプリケーションの開発を可能にする、一連のサービス、アプリケーション・プログラミング・インタフェース、プロトコルを提供します。

JSP

JavaServer Pageの略称。JSPテクノロジは、Sun社のJavaサーブレット・テクノロジの拡張機能で、Webページ上に動的コンテンツを表示するための簡単なプログラミング手段を提供します。JSPはサーバー側のテクノロジです。JSPは、Webまたはアプリケーション・サーバーで実行される埋込みのJavaソース・コードを持つHTMLページです。HTMLはWebブラウザに表示されるページ・レイアウトを提供し、Javaはビジネス・ロジックを提供します。

レイアウト

「ペーパー・レイアウト・ビュー」を参照してください。

マージン

レポート・セクション(ヘッダー、メインまたはトレーラ)の各論理ページの最上部と最下部に表示されるオプションのレポート領域。マージンには任意のレイアウト・オブジェクトを挿入できますが、通常はボイラープレートやフィールド(ページ番号、ページ合計、総計および現行の日時)が挿入されます。

オブジェクト

1. レイアウト上に配置できる項目。オブジェクトの例として、四角形、線、楕円、円弧、多角形、折れ線、丸い四角形、手書き、チャート、テキスト、記号、テキスト・フィールドなどがあります。

2. Oracleデータベースでは、オブジェクト・タイプのインスタンス。オブジェクトは、オブジェクト表内の行であることも、リレーショナル表内の列オブジェクトに含まれる行の一部であることもあります。

オブジェクト・ナビゲータ

アプリケーション・オブジェクトの検索と操作を迅速かつ容易に実行できる、階層的な表示および編集インタフェース。次のような機能があります。

- インデントと展開可能なノード(最上位ノードはモジュール・タイプ、データベース・オブジェクトおよび組込みパッケージを示す)で表示される階層により、オブジェクトの作成、編集、名前の変更、削除などのタスクが可能。

- 検索フィールドおよびアイコンにより、任意のレベルのノードまたはノード内の個々の項目を対象とした順方向検索と逆方向検索が可能。

- 一般的な「ファイル」メニュー機能を実行する水平ツールバーのアイコン。

Oracle Fusion Middleware (OracleAS)

ネットワーク・アプリケーションを配置する戦略的なプラットフォーム。アプリケーション論理をアプリケーション・サーバーに移動し、ネットワーク・クライアントを実行することにより、組織は、複雑さの改善、操作性の向上および開発と実行の簡便性の向上を通して、実質的な利益を得られます。OracleASは、データベースのWeb配布の簡便化、および従来のクライアント・サーバー・アーキテクチャから、ネットワーク・アプリケーション・アーキテクチャへの移行を通じてのレガシーの完全統合を実現する、ビジネスにおいては非常に重要なプラットフォームです。

Oracle Developer Suite

Oracleの優れたアプリケーション開発ツールとビジネス・インテリジェンス・ツールを結合して1つの統合製品としたもの。JavaやXMLなどのインターネット標準に基づいてこの製品は、Oracle Fusion MiddlewareおよびOracle Database向けのアプリケーションを作成するために高い完成度と生産性を持つ開発環境を実現します。

ORACLE_HOME

一部のディレクトリ・ベースのオペレーティング・システムにおける、Oracleのディレクトリ階層の最上層の別名。Oracle製品のルート・ディレクトリを示す環境変数。

ORACLE_HOMEに指定されたディレクトリは、次の構文を使用して参照できます。

UNIXの場合: $ORACLE_HOME

Windowsの場合: %ORACLE_HOME%

Oracle Portal

ブラウザ・ベースの開発ツールで、スケーラブルでセキュアかつ拡張可能なHTMLアプリケーションやWebサイトの構築に使用します。Oracle Reports Servicesでは、Oracle Portalを使用して、レポート要求、セキュア・サーバー、およびレポート出力の印刷に使用するOracle Reports Servicesプリンタに関する情報を格納し、Web上に公開されたレポートへのエンド・ユーザー・アクセスを制御します。

Oracle Reports Bridge

Oracle Reports Bridge (rwbridge)は、ファーム間でReports Serverを検出する機能を提供します。

Oracle Reports Client (rwclient)

レポートをリモートのReports Server (rwserver)に送信するためのコマンド・ライン・インタフェースを提供する、Oracle Reportsのコンポーネント。

Oracle Reports Builder (rwbuilder)

レポート作成機能を提供する、Oracle Reportsのコンポーネント。レポート開発者は、Oracle Reports Builderの設計時ユーザー・インタフェースを使用して、レポート定義を作成および保守します。詳細は、Oracle Reportsのオンライン・ヘルプ(Oracle Reports Builderで「ヘルプ」→「目次」を選択)およびOracle Reportsレポートの作成マニュアルを参照してください。

Oracle Reports Runtime (rwrun)

rwrunプロセスと同じJVMを実行する各自インプロセス・サーバー(デフォルトのインプロセスReports Serverと混同しないこと)を起動してレポートを実行するOracle Reportsコンポーネント。

注意:

rwrunは、テスト目的でのみ使用することを推奨します。本番環境では、Oracle Reports Servicesの機能を最大限に活用できるように、rwservletおよびrwclientを使用します。

Oracle Reports Services

各レポートを全社規模で実行、配布および公開するランタイム環境。Oracle Reports Servicesを使用してレポートを配布することで、柔軟性が増し、時間が節約され、処理能力も高まります。

Oracle Reports Servlet (rwservlet)

Oracle Reports Servicesのコンポーネント。WebサーバーまたはJava EEコンテナ(Oracle WebLogic Serverなど)とReports Serverとの間で情報の変換と配布を行い、Webブラウザからレポートを動的に実行できるようにします。

Oracle Reports Queue Manager (rwrqm)

(Windowsのみ)Reports Server(rwserver)で管理されるレポート・ジョブのタイムスタンプと状態情報を維持します。

ペーパー・デザイン・ビュー

レポート・エディタのビューの1つ。ペーパー・レポートの出力を表示し、ペーパー・レイアウト・ビューを起動しなくても、間隔、フィールドのフォーマット、カラー、テキスト編集など、レイアウトで一般的に必要とされる単純な変更の多くを実行可能にします。

ペーパー・レイアウト・ビュー

レポート・エディタのビューの1つ。ペーパー・レポート内のレイアウト・オブジェクトを表示し、あらゆるレイアウト・オブジェクトに対して多くの変更を実行できるようにします。すべてのレイアウト・オブジェクトには、プロパティ・インスペクタで変更可能なプロパティが設定されています。レイアウト・オブジェクトの階層はデータ・モデルによって決まります。

ペーパー・パラメータ・フォーム・ビュー

実行時にランタイム・パラメータ・フォームへのパラメータ値の入力を可能にする、パラメータ・フォームのレイアウトを表示します。

PDF

Portable Document Formatの略称。ドキュメントの作成に使用された元のアプリケーション・ソフトウェア、ハードウェアおよびオペレーティング・システムに依存せずにドキュメントを表現する(Adobe Acrobatに固有の)ファイル形式。PDFファイルは、テキスト、グラフィックおよびイメージのあらゆる組合せが入ったドキュメントを、デバイスや解像度から独立した形式で表現できます。

PL/SQL

SQL言語に対するOracle専用の拡張。SQLに対しアプリケーションの記述に適するようにプロシージャ型構成体やその他の構成体を追加しています。

PPD

PostScript Printer Definitionの略称。PPDファイルとAFMファイルはAdobe社およびプリンタのベンダーによって提供されます。これらのファイルにはプリンタに関する情報が含まれています。他のパラメータとともに、これらのファイルから、Oracle Reportsで使用するプリンタで使用可能なフォントについての情報が読み取られます。PPDファイルにリストされているすべてのフォントについて、対応するAFMファイルがそのフォント名に従って検索され、使用可能なAFMのあるすべてのフォントがロードされます。

プロパティ・インスペクタ

オブジェクト・ナビゲータ、レポート・エディタおよびテンプレート・エディタで、現在選択しているオブジェクトのプロパティを表示、検索および設定できるウィンドウ。Reports Builderオブジェクト(問合せ、グループ、枠、パラメータなど)にはすべて対応するプロパティがあり、プロパティ・インスペクタを使用して表示できます。プロパティ・インスペクタには次の機能があります。

- 展開および縮小が可能なノード

- 配置されたプロパティの編集

- 検索機能

- 複数選択

- 複合的なプロパティ・ダイアログ

- プロパティ・インスペクタの複数インスタンスを起動する機能

プロパティのヘルプを表示するには、プロパティ・インスペクタのプロパティをクリックし、[F1]キーを押します。

問合せ

データベースの1つ以上の表またはビューから検索するデータを指定する、SQL SELECT文。

RDFファイル

バイナリ形式の単一のレポート定義を含むファイル。RDFファイルは、レポートの実行と編集の両方に使用されます。

レコード

SQL SELECT文でフェッチされる1行。

REPファイル

バイナリ形式の単一のレポート定義を含むファイル。REPファイルはレポートの実行にのみ使用され、編集はできません。

繰返し枠

グループに対してフェッチされるデータ行の表示に使用されるレイアウト・オブジェクト。

Reports CGI(rwcgi)

注意:

Reports CGI (rwcgi)は非推奨であり(下位互換性を確保するためにのみ維持されている)、かわりに、Reports JSP、Oracle Reports Servlet (rwservlet)またはReports Web Servicesを使用してください。

Oracle Reportsのコンポーネント。Common Gateway Interface (CGI)またはReports Web Cartridgeとも呼ばれています。レポートをWebブラウザから動的に実行するため、WebサーバーまたはJava EEコンテナ(Oracle WebLogic Serverなど)とReports Serverの間で情報を変換し転送します。

レポート・エディタ

Webおよびペーパー・レポートのデータ・オブジェクトやレイアウト・オブジェクトを扱うための各種ビューが表示されるOracle Reports Builderのウィンドウ。ビューには次のものがあります。

- データ・モデル・ビュー

- ペーパー・レイアウト・ビュー

- ペーパー・デザイン・ビュー

- ペーパー・パラメータ・フォーム・ビュー

- Webソース・ビュー

Reports CGI (rwcgi)

注意:

Reports CGI (rwcgi)は廃止されており、かわりに、Reports JSPまたはOracle Reports Servlet (rwservlet)を使用してください。

Common Gateway Interface (CGI)またはReports Web Cartridgeとも呼ばれるOracle Reportsコンポーネント。WebサーバーやJava EEコンテナ(Oracle WebLogic Serverなど)とReports Serverとの間で情報の変換と配布を行い、Webブラウザからレポートを動的に実行します。

レポート・エンジン

データ・ソースからのデータのフェッチ、レポートのフォーマット、キャッシュへの出力の送信、およびReports Serverへのジョブ準備完了通知の送信を実行するOracle Reports Servicesのコンポーネント。

Reports Server(rwserver)

Reports Server (rwserver)は、Oracle Reportsのコンポーネントで、全社規模のレポート作成のために、レポートを実行し、配布し、公開するためのレポート作成サービスを提供します。ユーザー認証、スケジューリング、キャッシング、レポート配布などのクライアント・リクエストを処理する、Oracle Reports Servicesのコンポーネント。Oracle Reports Servlet (rwservlet)などのOracle Reportsクライアント、レポートJSPおよびOracle Reports Client (rwclient)を使用して、レポートをReports Serverに送信します。

行

表内の複数のフィールド値のセット。たとえば、EMP表の例では1人の従業員に関するフィールドを表します。

ランタイム・パラメータ・フォーム

実行時にオプションで表示される画面またはウィンドウ。これにより、ユーザーはレポートを実行する前に印刷オプションやパラメータを変更できます。

スキーマ

関連するデータベース・オブジェクトの集まり。一般にデータベース・ユーザーID別にグループ化されます。スキーマ・オブジェクトには、表、ビュー、順序、ストアド・プログラム・ユニット、シノニム、索引、クラスタ、データベース・リンクなどがあります。

SELECT文

1つ以上の表またはビューから、どの行と列をフェッチするかを指定するSQL文。

サーブレット

通常、データベースへのアクセスまたはE-Commerce処理の実行を目的としてWebサーバーまたはアプリケーション・サーバー上で実行され、サーバー・サイド処理を提供するJavaアプリケーション。サーブレットはJavaで記述されるため、サーバーとオペレーティング・システム間で移植が可能。

Oracle Reports Servlet (rwservlet)とJSPでは、カスタム(JSP)レポート・タグを処理し、Oracle HTTP ServerとReports Serverとの間で情報を配布するOracle Reports Services用コンポーネントです。

SQL

リレーショナル・データベースにおける情報の格納と検索のための標準インタフェース。SQLは、Structured Query Language(構造化問合せ言語)の略称。

SQLファイル

テキスト形式(ASCIIやEBCDICなど)で格納された問合せを含むファイル。

SQLスクリプト

データベース管理を素早く簡単に行うSQL文を含むファイル。SQLスクリプトの一部は、Oracle製品に付属しています。

SQL文

Oracleに対するSQLの指示。SELECT文は、SQL文の一種。

スタイル・シート

HTMLドキュメントで、より柔軟なフォーマットを提供するHTMLの拡張機能。スタイル・シートを利用するHTMLドキュメントを表示するには、スタイル・シートをサポートするブラウザで表示します。

表

リレーショナル・データベースまたはサーバーで行と列から構成される2次元の格子に格納される、関連する情報の名前付き集合。

表形式

ページの最上部にラベルを表示し、ラベルの下にデータ行を表示するデフォルト・レイアウト。

テンプレート

共通スタイルおよび標準を含む骨格となる定義で、グラフィックを含むこともあります。テンプレートは、洗練されたルック・アンド・フィールを備えたレポートを簡単かつ短時間で開発可能にする標準形式を提供します。

テンプレート・エディタ

テンプレートのオブジェクトおよび書式設定プロパティを定義できる作業領域。レポート・エディタのペーパー・レイアウト・ビューに似ています。このマージン領域で、オブジェクト(ページ番号、テキスト、図形など)を作成、削除および変更できます。本体領域ではオブジェクトの作成や削除を行うことはできないが、プロパティ・インスペクタで本体オブジェクトのプロパティを変更できます。

ツール

アプリケーションのオブジェクトの作成および操作に使用するアイコン・ボタン。

ツール・パレット

ユーザー・インタフェースにアイコン・ボタンで表示されるツールの集合。これにより、レポート開発者はペーパー・レイアウト・ビューで四角形を描画したり、データ・モデル・ビューで問合せを作成するなどのタスクを実行できます。

ツールバー

製品コマンドを実行するアイコン・ボタンの集合。通常、ウィンドウの一番上に沿って水平に並んでいるか、横に垂直に並んでいます。

URL

Uniform Resource Locatorの略称。インターネットを通じて利用できるリソースの場所を簡潔な文字列で表したもの。また、クライアントがOracleASへのリクエストをエンコードするために使用するテキスト文字列の書式でもあります。

ビュー

1. Reports Builderでは、レポート・データ・モデル、レイアウトまたはパラメータ・フォームの定義など、一連の特定のタスクを実行する作業領域。

2. 仮想表。その行はデータベースに実際には存在しないが、データベースに物理的に格納されている表に基づいています。

Webブラウザ

エンド・ユーザーが(Webサーバーによりサービスされる)コンピュータ上に保管されているHTMLドキュメントおよびプログラムを読むために利用するプログラム。

Webサーバー

リモートWebブラウザのHTTPリクエストに応答してWebページを送信する、Webサイトで稼働しているサーバー・プロセス(HTTPデーモン)。

Webソース・ビュー

レポートのHTMLまたはJSPソースを表示するレポート・エディタのビューの1つ。このビューを使用して、レポート・ブロック・ウィザードやグラフ・ウィザードで、Webページに動的コンテンツを追加できます。経験を積んだJava開発者は、このビューで直接Webソースを編集できます。

ウィザード

共通して実行されるタスクのためのステップごとのインタフェース。Reports Builderのウィザードは次のとおりです。

- レポート・ウィザード: 基本的なペーパー・レポートまたはWebレポートを作成するためのステップを示します。ウィザードの各ページでは、最初のレポートを作成するための情報の入力が要求されます。

- データ・ウィザード: 複数問合せデータ・モデルで使用する問合せを簡単に定義または変更できるようにします。

- グラフ・ウィザード: 真の3次元グラフなどの様々なチャートやグラフを追加します。Reports Builderでは、Oracle BI Graph Beanで実装されます。

- レポート・ブロック・ウィザード: 静的HTMLページにデータを追加できるようにします。

XML

Extensible Markup Languageの略称。SGMLを使用して、データを定義および構築するメタ言語。Reports Builderは、XML出力をサポートして、Web公開、およびサードパーティのアプリケーションとの電子データ交換を可能にします。また、XMLを使用して、実行時に他のレポート定義とマージすることができるレポート定義を作成することも、別々に実行するレポート定義を作成することもできます。

索引
A B C D E F G H I J K L M N O P Q R S T U V W X

A

アクセス制御、15.2

使用可能日カレンダ、結合、15.2.4.2

使用可能日カレンダ、シンプル、15.2.4.1

プリンタ、15.2.3

レポート、15.2.2

サーバー、15.2.1

accessibleコマンド・キーワード、A.5.1 Adobe Font Metrics (AFM)ファイル

「AFMファイル」を参照、8.3

アドバンスト・キューイング、20.1.1、20.4、20.4.1、20.4.2、20.4.2

dbms_AQadmパッケージ、20.4.1

dbms_aq.dequeue、20.4.3

DEQUEUE、20.4

ENQUEUE、20.4

MESSAGES、20.4

AFMファイル、8.3、8.5.3、9.4.4 allowhtmltags構成要素、7.3.1.1.8 API

cache、7.2.1.3

デバッグ・イベント、20.2

destination、7.2.1.6、12.2

engine、7.2.1.9

イベント、7.2.1.10、20

通知、7.2.1.15

プラガブル宛先、12.2

リポジトリ、7.2.1.12

セキュリティ、7.2.1.23

アーキテクチャ

グローバリゼーション・サポート、22.1、22.1

arraysizeコマンド・キーワード、23.8 attach配布要素、19.4.5

format属性、19.4.5

instance属性、19.4.5

name属性、19.4.5

srcType属性、19.4.5

属性、変数の使用、19.3.2 authidパラメータ、イベント、20.1.4 autocommitコマンド・キーワード、A.5.4 auxDatFiles属性、jobRecovery要素、7.2.1.11 使用可能日カレンダ、15.2.4

結合、15.2.4.2

シンプル、15.2.4.1

B

backgroundコマンド・キーワード、A.5.5

バーコード・フォント、8.5.6

batchコマンド・キーワード、A.5.6

バッチ変更、XML、21.4.3

OracleAS Portalへのレポートのバッチ登録、C

bcc属性

mail、19.4.3

bccコマンド・キーワード、A.5.7 双方向サポート、22.4 blankpagesコマンド・キーワード、A.5.8 本体、23.7.2 body配布要素、19.4.4

format属性、19.4.4

instance属性、19.4.4

srcType属性、19.4.4

ブレーク・グループ

ORDER BY、23.5.5

ブリッジ

「Oracle Reports Bridge」を参照、A.2.7

bridge構成要素、7.4.1.1

port属性、7.4.1.1

timeout属性、7.4.1.1

version属性、7.4.1.1

bridgeconfig.xsd、7.1 bridgeconf.xsd

bridge要素、7.4.1.1

identifier要素、7.4.1.2

remoteBridge要素、7.4.1.3

remoteBridges要素、7.4.1.4

ブラウザの宛先、A.5.31 buffersコマンド・キーワード、A.5.9 一括処理、19.4.2

配布、23.7.2

bypassProxy構成要素、7.2.1.26

C

CA_GPREFS、B.1.1

CA_UPREFS、B.1.2

cache構成要素、7.2.1.3、17.12.1

cacheSizeプロパティ、23.4、23.8

class属性、7.2.1.3

キャッシュ宛先、A.5.31 cache宛先タイプ、12.3.2.1 キャッシュ・キー、17.12 cache要素のcacheDirプロパティ、7.2.1.3 cachelobコマンド・キーワード、A.5.10 cacheSizeプロパティ

Reports Server構成のチューニング、23.4、23.8

cache要素のcacheSizeプロパティ、7.2.1.3 キャッシュ、17.12 レポートでの計算、23.5.3 コールバックのタイムアウト、7.11 callBackTimeOut属性、engine要素、7.2.1.9 ジョブの取消し、20.1.6 cc属性

mail、19.4.3

ccコマンド・キーワード、A.5.11 セルの囲み文字、23.5.1

テキスト・データ・ソース、23.5.1

cellwrapperコマンド・キーワード、A.5.12 cgicmd.dat、17.13、A.5.13、A.8.25

エントリの追加、17.13.3

使用、17.13.4

channel属性、multicast要素、7.5.1.2 文字セット(character set)

Unicode、22.5

UTF8、22.5.1

文字セット、8.5.1、22、22.2.1.3、22.3

設計上の考慮事項、22.2.1.3.1

フォントのエイリアシング、22.2.1.3.2

CIDフォント、8.5.7 class属性、cache要素、7.2.1.3 class属性、destination要素、7.2.1.6 class属性、engine要素、7.2.1.9 class属性、jobStatusRepository要素、7.2.1.12 class属性、notification要素、7.2.1.15 class属性、security要素、7.2.1.23 class、JDBC構成ファイル、13.1.1 classPath属性、engine要素、7.2.1.9 cluster構成要素、7.2.1.4 クラスタリング、Reports Server(非推奨)、7.2.1.4、7.3.1.1.4 cmdfileコマンド・キーワード、A.5.13 cmdkeyコマンド・キーワード、A.5.14 cmdkeyパラメータ、イベント、20.3 collateコマンド・キーワード、A.5.15 コマンド・キーワード

accessible、A.5.1

arraysize、23.8

autocommit、A.5.4

background、A.5.5

batch、A.5.6

bcc、A.5.7

blankpages、A.5.8

buffers、A.5.9

cachelob、A.5.10

cc、A.5.11

cellwrapper、A.5.12

cmdfile、A.5.13

cmdkey、A.5.14

collate、A.5.15

compile_all、A.5.16

containshtmltags、A.5.17

containsole、A.5.18

contentarea、A.5.19

copies、23.8、A.5.20

CUSTOMIZE、21

customize、A.5.21

dateformatmask、A.5.23

delauth、A.5.24

delimited_hdr、A.5.25

delimiter、A.5.26

desformat、A.5.27

desname、A.5.28

dest、A.5.29

destination、A.5.30

destype、A.5.31

distribute、A.6.1

dtype、A.6.2

dunit、A.6.3

engineresponsetimeout、A.6.4

envid、A.6.5

EXPIRATION、2.3.3、23.4

expiration、23.8、A.6.6

expiredays、A.6.7

formsize、A.6.8

from、A.6.9

getjobid、A.6.10

getserverinfo、A.6.11

help、A.6.12

itemtitle、A.6.13

jobname、A.6.14

jobretry、A.6.15

jobtype、A.6.16

jvmoptions、A.6.17

killengine、A.6.18

killjobid、A.6.19

longchunk、23.8、A.6.20

mimetype、A.6.21

mode、A.6.22

module、A.6.23

name、A.6.24

nonblocksql、A.6.25

notifyfailure、A.6.26

notifysuccess、A.6.27

numberformatmask、A.6.28

onfailure、A.6.29

onsuccess、A.6.30

orientation、A.6.31

ourputpage、A.7.4

outputfolder、A.7.1

outputimageformat、A.7.2、A.7.3

overwrite、A.7.5

p_availability、A.7.7

p_description、A.7.8

p_formats、A.7.9

p_jdbcpds、A.7.10

p_name、A.7.11

p_owner、A.7.12

p_pformtemplate、A.7.13

p_printers、A.7.14

p_privilege、A.7.15

p_servers、A.7.16

p_trigger、A.7.17

p_types、A.7.18

pagegroup、A.7.19

pagesize、A.7.20

pagestream、A.7.21

parameter、A.7.6

paramform、23.8、A.7.22

parsequery、A.7.23

pdfcomp、23.8、A.7.24

pdfembed、A.7.25、A.7.26、A.7.27、A.7.28

pfaction、A.7.29

printjob、A.7.30

readonly、A.7.31

RECURSIVE_LOAD、23.8

recursive_load、A.7.32

replyto、A.7.33

report、A.6.23

role、A.7.35

RUNDEBUG、23.8

rundebug、A.8.1

save_rdf、A.8.2

SCHEDULE、17.10

schedule、A.8.3

server、A.8.4

showauth、A.8.5

showenv、A.8.6

showjobid、A.8.7

SHOWJOBS、23.3.9

showjobs、A.8.8

showmap、A.8.9

showmyjobs、A.8.10

shutdown、A.8.11

sitename、A.8.12

source、A.8.13

ssoconn、A.8.15

statusfolder、A.8.16

statusformat、A.8.17

statuspage、A.8.18

stype、A.8.19

subject、A.8.20

TOLERANCE、2.3.3、17.12

tolerance、A.8.22

urlparameter、A.8.23

usejvm、A.8.24

userid、A.8.25

userstyles、A.8.26

VALIDATETAG、23.8

validatetag、A.8.27

webserver_debug、A.8.28

webserver_docroot、A.8.29

webserver_port、A.8.30

コマンドライン、指定、17.2 コマンド

概要、A.2

rwbridge、A.2.7

rwbuilder、21.5.2、A.2.3

rwclient、A.2.1

rwconverter、21.4、A.2.4

rwrun、A.2.2

rwserver、A.2.6

rwservlet、A.2.5

構文、A.1

compile_allコマンド・キーワード、A.5.16 構成

考慮事項、2.4

プロキシ情報、7.7

チューニング、23

URLエンジン、7.6

構成要素

allowhtmltags、7.3.1.1.8

bridge、7.4.1.1

bypassProxy、7.2.1.26

cache、7.2.1.3、17.12.1

cluster、7.2.1.4

connection、7.2.1.5

dbauth、7.3.1.1.12

dbProxyConnKeys、7.2.1.31

dbProxyKey、7.2.1.30

defaultcharset、7.3.1.1.6

destination、7.2.1.6、12.3.1

discoveryService、7.5.1.1

domain、7.2.1.25

engine、7.2.1.9

environment、7.2.1.7

envVariable、7.2.1.8

errortemplate、7.3.1.1.14

folderAccess、7.2.1.22

helpurl、7.3.1.1.9

identifier、7.2.1.19、7.4.1.2

imageurl、7.3.1.1.10

inprocess、7.3.1.1.3

job、7.2.1.10

jobRecovery、7.2.1.11

jobRepository、7.2.1.14

jobStatusRepository、7.2.1.12

jobThresholds、7.2.1.32

log、7.2.1.13

multicast、7.5.1.2

namingService、7.5.1.3

notification、7.2.1.15

oidconnection、7.2.1.16

orbClient、7.2.1.17

ORBPorts、7.2.1.1

persistFile、7.2.1.18

pluginParam、7.2.1.2

property、7.2.1.20

proxyInfo、7.2.1.28

proxyServer、7.2.1.24

proxyServers、7.2.1.27

queue、7.2.1.21

reloadkeymap、7.3.1.1.11

remoteBridge、7.4.1.3

remoteBridges、7.4.1.4

reports_servermap、7.3.1.1.4、7.3.1.1.4

rwservlet、7.3.1.1

security、7.2.1.23

server、7.2.1.33、7.3.1.1.1

singlesignon、7.3.1.1.2

sysauth、7.3.1.1.13

webLayout、7.2.1.29

構成ファイル

フォント、8.3

Oracle Reports Bridge、7.1

Oracle Reports Builder、7.1

Oracle Reports Runtime、7.1

Oracle Reports Servlet、7.1

Reports Server、7.1

rwserver.template、7.2

構成、Reports Server、2.3.3 connection構成要素、7.2.1.5

connection要素のidleTimeOut属性、7.2.1.5

connection要素のmaxConnect属性、7.2.1.5

connection、JDBC構成ファイル、13.1.1 connectString、13.1.1 統合されたジョブ・キュー、6.7.2、A.8.8 containshtmltagsコマンド・キーワード、A.5.17 containsoleコマンド・キーワード、A.5.18 contentareaコマンド・キーワード、A.5.19 Cookie、16.1 cookie構成要素

cookie要素のcookieexpire属性、7.3.1.1.5

cookie要素のencryptionkey属性、7.3.1.1.5

cookieexpire属性、7.3.1.1.5 copies属性

printer、19.4.8

copiesコマンド・キーワード、23.8、A.5.20 CORBA、A.8.24 クロス・プラットフォームの移植、11.8.3 CUSTOMIZEコマンド・キーワード、21 customizeコマンド・キーワード、A.5.21 レポートのカスタマイズ、XML、21

D

データ定義

DTDスキーマ、23.5.1

XMLスキーマ、23.5.1

データ・モデル、作成、21.3 データソース

XMLによる作成、21.3.1

XMLによるグループ階層、21.3.3

XMLによるリンク、21.3.2

データ型ディクショナリ

distribution.dtd、19.3.1

DTD、23.5.1

データ型

BLOB、23.8

CLOB、23.8

DATE、22.2.1

LONG、23.8

LONG RAW、23.8

NUMBER、22.2.1

データ・ウィザード

用語集、用語集

database属性、dbProxyKey要素、7.2.1.30 データベースの索引

SQL WHERE句、23.5.2

データベース・トリガー、20.3 dateformatmask コマンド・キーワード、A.5.23 曜日名、言語、22.2.1.2 dbauth構成要素、7.3.1.1.12 dbms_AQadmパッケージ、20.4.1 dbms_aq.dequeue、20.4.3 dbProxyConnKeys構成要素、7.2.1.31 dbProxyKey構成要素、7.2.1.30

database属性、7.2.1.30

name属性、7.2.1.30

デバッグ・イベント、20.2 defaultcharset構成要素、7.3.1.1.6 defaultEnvId属性、engine要素、7.2.1.9 delauthコマンド・キーワード、A.5.24 Delegated Administration Service、15.1.2 Delegated Administration Service、16.2.1 デリミタ付き出力

配布の制限、19.7.1

delimited_hdrコマンド・キーワード、A.5.25 DELIMITED_LINE_END、B.1.3 delimiterコマンド・キーワード、A.5.26 レポートの配布、15 レポートの配布、最適化、7.11 DEQUEUE、20.4 デキュー、プロシージャの作成、20.4.3 desformatコマンド・キーワード、A.5.27 desnameコマンド・キーワード、A.5.28 destコマンド・キーワード、A.5.29 宛先

クラス、12.3.2

宛先タイプ、12.3.2

有効な値、12.3.2

destinationコマンド・キーワード、A.5.30 destination構成要素、7.2.1.6、12.3.1

class属性、7.2.1.6

destype属性、7.2.1.6

宛先タイプ、12.3 destinations配布要素、19.4.1 destype属性、12.3.2

cache、12.3.2.1

file、12.3.2.1

mail、12.3.2.1

oraclePortal、12.3.2.1

printer、12.3.2.1

destype属性、destination要素、7.2.1.6 destypeコマンド・キーワード、A.5.31 destype配布要素、19.4.9

id属性、19.4.9

instance属性、19.4.9

name属性、19.4.9

DEVELOPER_NLS_LANG、22.2.2、B.1.5 diagbodytags属性、7.3.1.1.15 diagheadtags属性、7.3.1.1.15 diagnosisプロパティ、D.1.1、D.1.5、D.1.5 diagnosisプロパティ、engine要素、7.2.1.9 diagtags構成要素

diagtags要素のdiagbodytags属性、7.3.1.1.15

diagtags要素のdiagheadtags属性、7.3.1.1.15

方向、言語、22.2.1.2 discoveryService構成要素、7.5.1.1 DISPLAY

UNIXでの印刷、9.8、9.9.4

distパラメータ、イベント、20.3 distributeコマンド・キーワード、A.6.1 分散

一括処理、23.7.2

一括処理、19.4.2

デリミタ付き出力、19.7.1

動的フォーマット属性値、19.7.2

制限、19.7

配布要素

attach、19.4.5

body、19.4.4

destinations、19.4.1

destype、19.4.9

file、19.4.7

foreach、19.4.2

include、19.4.6

mail、19.4.3

printer、19.4.8

property、19.4.10

配布の例、19.5

destype、19.5.5

file、19.5.3

foreach、19.5.1

mail、19.5.2

printer、19.5.4

配布の概要、19.1 「配布」プロパティ、23.7.2 配布、XMLファイルの使用、19.6 distribution.dtd、19.3.1 DOC、B.1.4 docroot属性、webLayout要素、7.2.1.29 domain構成要素、7.2.1.25 DTD、内部、13.1.1 DTD、「データ型ディクショナリ」を参照 dtypeコマンド・キーワード、A.6.2 dunitコマンド・キーワード、A.6.3 動的な環境切替え、7.2.2

E

要素、「宛先」、「カスタマイズ」、「構成」を参照

EM、「Oracle Enterprise Manager」を参照

enableSSLプロパティ、pluginParam要素、7.2.1.2

encryptionkey属性、7.3.1.1.5

engine構成要素、7.2.1.9

callBackTimeOut attribute、7.2.1.9

class属性、7.2.1.9

classPath属性、7.2.1.9

defaultEnvId属性、7.2.1.9

diagnosisプロパティ、7.2.1.9

engineResponseTimeOut属性、7.2.1.9、23.4

engLife属性、7.2.1.9

id属性、7.2.1.9

initEngine属性、7.2.1.9、23.4

jvmOptions属性、7.2.1.9

keepConnectionプロパティ、7.2.1.9

maxConnect属性、23.4

maxEngine属性、7.2.1.9、23.4

maxIdle属性、7.2.1.9

minEngine属性、7.2.1.9、23.4

sourcedirプロパティ、7.2.1.9

tempdirプロパティ、7.2.1.9

engineId属性、job要素、7.2.1.10 engineResponseTimeOut属性

Reports Server構成のチューニング、23.4

engineResponseTimeOut属性、engine要素、7.2.1.9 engineresponsetimeoutコマンド・キーワード、A.6.4 engLife属性、engine要素、7.2.1.9 ENQUEUE、20.4 エンキュー、プロシージャの作成、20.4.2 envidコマンド・キーワード、A.6.5 environment構成要素、7.2.1.7、7.2.1.8

id属性、7.2.1.7

環境切替え、7.2.2 環境変数

REPORTS_IGNORE_SET_ROLE_ERROR、B.1.52

環境変数

CA_GPREFS、B.1.1

CA_UPREFS、B.1.2

DELIMITED_LINE_END、B.1.3

DEVELOPER_NLS_LANG、22.2.2、B.1.5

DOC、B.1.4

NLS_CALENDAR、B.1.6

NLS_CREDIT、B.1.7

NLS_CURRENCY、B.1.8

NLS_DATE_FORMAT、B.1.9

NLS_DATE_LANGUAGE、B.1.10

NLS_DEBIT、B.1.11

NLS_ISO_CURRENCY、B.1.12

NLS_LANG、22.2.1、B.1.13

NLS_LIST_SEPARATOR、B.1.14

NLS_MONETARY_CHARACTERS、B.1.15

NLS_NUMERIC_CHARACTERS、B.1.16

NLS_SORT、B.1.17

ORACLE_AFM、B.1.18

ORACLE_HOME、B.1.19

ORACLE_HPD、B.1.20、B.1.21

ORACLE_PATH、B.1.22

ORACLE_PPD、B.1.23

ORACLE_TFM、B.1.24

ORAINFONAV_DOCPATH、B.1.25

PRINTER、B.1.26

REMOTE、B.1.27

REPORTS_ADD_HWMARGIN、B.1.28

REPORTS_ARABIC_NUMERAL、10.4、B.1.29

REPORTS_BIDI_ALGORITHM、10.4、B.1.31

REPORTS_CGIDIAGBODYTAGS、B.1.32

REPORTS_CGIDIAGHEADTAGS、B.1.33

REPORTS_CGIHELP、B.1.34

REPORTS_CGIMAP、B.1.35

REPORTS_CGINODIAG、B.1.36

REPORTS_CLASSPATH、B.1.37

REPORTS_CONTAINSHTMLTAGS、B.1.38

REPORTS_COOKIE_EXPIRE、B.1.39

REPORTS_DB_AUTH、B.1.40、B.1.41

REPORTS_DEFAULT_DISPLAY、B.1.42

REPORTS_DEFAULT_PIXEL_SIZE、B.1.43

REPORTS_ENABLE_RTF_SPACING、B.1.44

REPORTS_ENCRYPTION_KEY、B.1.45

REPORTS_ENHANCED_FONTHANDLING、B.1.47

REPORTS_ENHANCED_SUBSET、10.2.2.2.2、10.2.2.2.2、10.2.2.2.2、B.1.48

REPORTS_FONT_DIRECTORY、B.1.49

REPORTS_GRAPH_IMAGE_DPI、B.1.50

REPORTS_IGNORE_IMAGE_TAG_RES、B.1.51

REPORTS_JPEG_QUALITY_FACTOR、B.1.53

REPORTS_JVM_OPTIONS、B.1.54

REPORTS_NETWORK_CONFIG、B.1.55

REPORTS_NLS_XML_CHARSETS、B.1.56

REPORTS_NO_DUMMY_PRINTER、B.1.57

REPORTS_NO_HTML_SPACE_REPLACE、B.1.58

REPORTS_OUTPUTIMAGEFORMAT、B.1.59

REPORTS_PATH、B.1.60

REPORTS_RESOURCE、B.1.62

REPORTS_RESTRICT_DIRECTORIES、B.1.61

REPORTS_SERVER、B.1.63

REPORTS_SOLARIS_9、B.1.64

REPORTS_SPACE_BREAK、B.1.65

REPORTS_SRWRUN_TO_SERVER、B.1.66

REPORTS_SSLPORT、B.1.67

REPORTS_SYS_AUTH、B.1.68

REPORTS_TAGLIB_URI、B.1.69

REPORTS_TMP、B.1.70

REPORTS_USEREXITS、B.1.71

REPORTS_UTF8_XMLOUTPUT、B.1.72

RW、B.1.73

TK_AFM、B.1.77

TK_HPD、B.1.78

TK_PPD、B.1.79

TK_PRINT、B.1.74

TK_PRINT_STATUS、B.1.75

TK_PRINTER、B.1.76

TK_TFM、B.1.80

USER_NLS_LANG、22.2.2、B.1.83

USERNAME、B.1.82

環境変数、編集、B 環境変数、グローバリゼーション・サポート、22.2 envVariable構成要素

name属性、7.2.1.8

value属性、7.2.1.8

エラー・メッセージ、XML、21.5.1 errortemplate構成要素、7.3.1.1.14 イベント・ドリブンの公開、2.3.3、20 イベント

authidパラメータ、20.1.4

ジョブの取消し、20.1.6

cmdkeyパラメータ、20.3

メッセージ・キューの作成、20.4.1

デキュー・プロシージャの作成、20.4.3

エンキュー・プロシージャの作成、20.4.2

デバッグ、20.2

distパラメータ、20.3

gatewayパラメータ、20.1.4

レポートの起動、20.3

MyIdent.AuthID、20.1.4

MyIdent.GatewayURL、20.1.4

MyIdent.JobID、20.1.4

MyIdent.ServerName、20.1.4

ParamList-Object、20.1.1

ParamList-Type、20.1.1

reportパラメータ、20.1.4、20.3

serverパラメータ、20.1.4

SRW_PARAMETER、20.1.2

SRW_PARAMLIST、20.1.2、20.1.4、20.4.1

srw_test.sql、20.2

SRW.ADD_PARAMETER、20.1.2.1

srwAPIdrop.sql、20.1.1

srwAPIgrant.sql、20.1.1

srwAPIins.sql、20.1.1

SRW.CANCEL_REPORT、20.1.6

SRW.CLEAR_PARAMETER_LIST、20.1.2.3

SRW.JOB_IDENT、20.1.4

SRW-Package、20.1.1

SRW.REMOVE_PARAMETER、20.1.2.2

SRW.REPORT_STATUS、20.1.4

SRW.START_DEBUGGING、20.2

SRW.STATUS_RECORD、20.1.5

SRW.STOP_DEBUGGING、20.2

useridパラメータ、20.1.4、20.3

例、配布、19.5

destype、19.5.5

file、19.5.3

foreach、19.5.1

mail、19.5.2

printer、19.5.4

実行可能ファイル

概要、A.2

EXPIRATIONコマンド・キーワード、2.3.3

Reports Serverのチューニング、23.4

expirationコマンド・キーワード、A.6.6

Reports Server構成のチューニング、23.8

expiredaysコマンド・キーワード、A.6.7 EXPLAIN PLAN、SQLトレース、23.3.10

F

ファックス

配布の例、19.5.5.4

事前フェッチ、23.7.1 file宛先、A.5.31 file宛先タイプ、12.3.2.1 file配布要素、19.4.7

format属性、19.4.7

id属性、19.4.7

instance属性、19.4.7

name属性、19.4.7

ファイルの検索、8.3.1 fileName属性、persistFile要素、7.2.1.18 ファイアウォール

プロキシ情報、7.7

fnchk.exe、8.4.4 folderAccess要素、7.2.1.22 フォントのエイリアシング、8.4

多言語アプリケーション、22.2.1.3.2

PDF出力、10.2.2.1

フォント検証ユーティリティ、8.4.4 PDF出力でのフォント埋込み、10.2.2.3 PDF出力でのフォント・サブセット、10.2.2.2 フォント

追加、8.2

AFMファイル、8.3、9.4.4

構成ファイル、8.3

メトリック・ファイル、8.3、8.3、9.4.4

TFMファイル、8.3、9.4.4

トラブルシューティング、8.9、D.3

True Type Big、22.5.2

Unicodeのサポート、22.5.2

使用と管理、8

フォント、TrueType Big、8.9 foreach配布要素、19.4.2 書式

グラフィカル・レイアウト・オブジェクト、23.6.1

水平拡張度、23.6.1

非グラフィカル・レイアウト・オブジェクト、23.6.1

垂直拡張度、23.6.1

format属性

配布、19.7.2

attach、19.4.5

body、19.4.4

file、19.4.7

フォーマット・トリガー、23.6.1.1 Forms Services

セキュリティに関する考慮事項、16.7

formsizeコマンド・キーワード、A.6.8 from属性

mail、19.4.3

fromコマンド・キーワード、A.6.9 FTP

配布の例、19.5.5.2

FTP宛先、A.5.31

G

gatewayパラメータ、イベント、20.1.4

getjobidコマンド・キーワード、A.6.10

getserverinfoコマンド・キーワード、A.6.11

グローバリゼーション

トラブルシューティング、D.7

グローバリゼーション・サポート、22

アーキテクチャ、22.1

双方向サポート、22.4

文字セット、22.2.1.3

DEVELOPER_NLS_LANG、22.2.2

環境変数、22.2

フォントのサポート、22.5.2

JSP、22.3

言語依存データ、22.1.2

言語に依存しない機能、22.1.1

NLS_LANG、22.2.1

アプリケーションの翻訳、22.6

トラブルシューティング、22.7

Unicode、22.5

USER_NLS_LANG、22.2.2

グラフ・ウィザード

用語集、用語集

グループ・フィルタ

WHERE句、23.5.6

グループ・フィルタ、23.5.6

H

ヘッダー、23.7.2

helpコマンド・キーワード、A.6.12

HELP、rwservlet.properties、7.3.1.1.9

helpurl構成要素、7.3.1.1.9

高可用性

統合されたジョブ・キュー、6.7.2、A.8.8

host属性、namingService要素、7.5.1.3 host属性、remoteBridge要素、7.4.1.3 HPDファイル、HP Document (HPD)ファイル

「HPDファイル」を参照、8.3

HTTPサーバー、16.2.1 HTTPタイムアウト値

Reports Server構成のチューニング、23.4

ハイパーリンク、XMLによる追加、21.2.5

I

id属性

destype、19.4.9

file、19.4.7

mail、19.4.3

printer、19.4.8

id属性、engine要素、7.2.1.9 id属性、environment要素、7.2.1.7 id属性、notification要素、7.2.1.15 id属性、orbClient要素、7.2.1.17 id属性、security要素、7.2.1.23 identifier構成要素、7.2.1.19、7.4.1.2 idleTimeOut属性、7.2.1.5 cache要素のignoreParametersプロパティ、7.2.1.3 イメージ、サポート、9.8.2 imageurl構成要素、7.3.1.1.10 include配布要素、19.4.6

src属性、19.4.6

increment属性、oidconnection要素、7.2.1.16 init属性、oidconnection要素、7.2.1.16 initEngine属性

Reports Server構成のチューニング、23.4

initEngine属性、engine要素、7.2.1.9 inprocess構成要素、7.3.1.1.3 インプロセスReports Server、2.3.1

デフォルト・プリンタの設定、D.1.10

instance属性

attach、19.4.5

body、19.4.4

destype、19.4.9

file、19.4.7

printer、19.4.8

itemtitleコマンド・キーワード、A.6.13 IXユーティリティ、9.6.2

J

Java Importer

パフォーマンス分析、23.3.13

Javaサーブレット、2.3.1、2.3.1 Javaストアド・プロシージャ

パフォーマンス分析、23.3.12

Java Virtual Machine (JVM)、A.8.24 JDBC PDS

トラブルシューティング、D.5

JDBCプラガブル・データ・ソース(PDS)、13.1 JDBC-ODBCドライバ、13.1.1.1 ジョブの取消し、20.1.6 job構成要素、7.2.1.10

engineId属性、7.2.1.10

jobType属性、7.2.1.10

retry属性、7.2.1.10

securityId属性、7.2.1.10

jobnameコマンド・キーワード、A.6.14 jobRecovery構成要素、7.2.1.11

auxDatFiles属性、7.2.1.11

jobRepository構成要素、7.2.1.14 jobretryコマンド・キーワード、A.6.15 ジョブ、実行、17 jobStatusRepository構成要素、7.2.1.12

class属性、7.2.1.12

repositoryconnプロパティ、23.3.8.1

jobThresholds構成要素、7.2.1.32

longRunning属性、7.2.1.32

potentialRunAway属性、7.2.1.32

jobType属性、job要素、7.2.1.10 jobtypeコマンド・キーワード、A.6.16 JSP、2.3.1

グローバリゼーション・サポート、22.3

文字セットの指定、22.3

URL構文、17.1.2

キー・マッピングの使用、17.13.5

VALIDATETAG、23.8、A.8.27、A.8.27

JSPレポート、Webまたはペーパーへの配布、17.3.3 JVM、A.8.24 jvmOptions属性、engine要素、7.2.1.9 jvmoptionsコマンド・キーワード、A.6.17

K

keepConnectionプロパティ、engine要素、7.2.1.9

キー・マップ・ファイル、17.13

エントリの追加、17.13.3

利点、17.13.1

有効化、17.13.2

URLパラメータのマッピング、17.13.3

パラメータ・フォームを使用した制限付きの実行、17.13.4

使用、17.13.4

キーワード

accessible、A.5.1

autocommit、A.5.4

background、A.5.5

batch、A.5.6

bcc、A.5.7

blankpages、A.5.8

buffers、A.5.9

cachelob、A.5.10

cc、A.5.11

cellwrapper、A.5.12

cmdfile、A.5.13

cmdkey、A.5.14

collate、A.5.15

compile_all、A.5.16

containshtmltags、A.5.17

containsole、A.5.18

contentarea、A.5.19

copies、A.5.20

CUSTOMIZE、21

customize、A.5.21

dateformatmask、A.5.23

delauth、A.5.24

delimited_hdr、A.5.25

delimiter、A.5.26

desformat、A.5.27

desname、A.5.28

dest、A.5.29

destination、A.5.30

destype、A.5.31

distribute、A.6.1

dtype、A.6.2

dunit、A.6.3

engineresponsetimeout、A.6.4

envid、A.6.5

EXPIRATION、23.4

expiration、A.6.6

expiredays、A.6.7

formsize、A.6.8

from、A.6.9

getjobid、A.6.10

getserverinfo、A.6.11

help、A.6.12

itemtitle、A.6.13

jobname、A.6.14

jobretry、A.6.15

jobtype、A.6.16

jvmoptions、A.6.17

killengine、A.6.18

killjobid、A.6.19

longchunk、A.6.20

mimetype、A.6.21

mode、A.6.22

module、A.6.23

name、A.6.24

nonblocksql、A.6.25

notifyfailure、A.6.26

notifysuccess、A.6.27

numberformatmask、A.6.28

onfailure、A.6.29

onsuccess、A.6.30

orientation、A.6.31

outputfolder、A.7.1

outputimageformat、A.7.2、A.7.3

outputpage、A.7.4

overwrite、A.7.5

p_availability、A.7.7

p_description、A.7.8

p_formats、A.7.9

p_formtemplate、A.7.13

p_jdbcpds、A.7.10

p_name、A.7.11

p_owner、A.7.12

p_printers、A.7.14

p_privilege、A.7.15

p_servers、A.7.16

p_trigger、A.7.17

p_types、A.7.18

pagegroup、A.7.19

pagesize、A.7.20

pagestream、A.7.21

parameter、A.7.6

paramform、A.7.22

parsequery、A.7.23

pdfcomp、A.7.24

pdfembed、A.7.25、A.7.26、A.7.27、A.7.28

pfaction、A.7.29

printjob、A.7.30

readonly、A.7.31

RECURSIVE_LOAD、23.8

recursive_load、A.7.32

replyto、A.7.33

report、A.6.23

role、A.7.35

RUNDEBUG、23.8

rundebug、A.8.1

save_rdf、A.8.2

SCHEDULE、17.10

schedule、A.8.3

server、A.8.4

showauth、A.8.5

showenv、A.8.6

showjobid、A.8.7

SHOWJOBS、23.3.9

showjobs、A.8.8

showmap、A.8.9

showmyjobs、A.8.10

shutdown、A.8.11

sitename、A.8.12

source、A.8.13

ssoconn、A.8.15

statusfolder、A.8.16

statusformat、A.8.17

statuspage、A.8.18

stype、A.8.19

subject、A.8.20

TOLERANCE、17.12

tolerance、A.8.22

urlparameter、A.8.23

usejvm、A.8.24

userid、A.8.25

userstyles、A.8.26

VALIDATETAG、23.8

validatetag、A.8.27

webserver_debug、A.8.28

webserver_docroot、A.8.29

webserver_port、A.8.30

killengineコマンド・キーワード、A.6.18 killjobidコマンド・キーワード、A.6.19

L

言語

中東圏、22.4

北アフリカ圏、22.4

LDAP、15.1 ldapmodifyコマンド、16.4 LDIFファイル、16.4 ローカルファイル宛先、A.5.31 log構成要素、7.2.1.13

option属性、7.2.1.13

loginTimeout、13.1.1 longchunkコマンド・キーワード、23.8、A.6.20 longRunning属性、jobThresholds要素、7.2.1.32

M

メール宛先、A.5.31

mail宛先タイプ、12.3.2.1

mail配布要素、19.4.3

bcc属性、19.4.3

cc属性、19.4.3

from属性、19.4.3

id属性、19.4.3

organization属性、19.4.3

priority属性、19.4.3

replyTo属性、19.4.3

returnReciept属性、19.4.3

subject属性、19.4.3

to属性、19.4.3

Oracle Reports Servicesの管理、6 マップ

URLパラメータ、キー・マップ・ファイル、17.13.3

cache要素のmaxCacheFileNumberプロパティ、7.2.1.3 maxConnect属性、7.2.1.5

Reports Server構成のチューニング、23.4

maxEngine属性

Reports Server構成のチューニング、23.4

maxEngine属性、engine要素、7.2.1.9 maxIdle属性、engine要素、7.2.1.9 maxQueueSize属性

Reports Server構成のチューニング、23.4、23.8

maxQueueSize属性、queue要素、7.2.1.21 アプリケーション・エンティティのマージ、16.4 メッセージ・キュー、作成、20.4.1 MESSAGES、20.4 メッセージ、言語、22.2.1.2 mfontchk、8.4.4 中東圏の言語、22.4 mimetypeコマンド・キーワード、A.6.21 minEngine属性

Reports Server構成のチューニング、23.4

minEngine属性、engine要素、7.2.1.9 modeコマンド・キーワード、A.6.22 moduleコマンド・キーワード、A.6.23 Oracle Reports Servicesの監視、6 月名、言語、22.2.1.2 マルチバイト文字セット、22.5.1 マルチバイト文字セット、22 multicast構成要素、7.5.1.2

channel属性、7.5.1.2

port属性、7.5.1.2

retry属性、7.5.1.2

timeout属性、7.5.1.2

多言語テキストの表示、22.5.1 MyIdent.AuthID、20.1.4 MyIdent.GatewayURL、20.1.4 MyIdent.JobID、20.1.4 MyIdent.ServerName、20.1.4

N

name属性、7.2.1.2

attach、19.4.5

destype、19.4.9

file、19.4.7

printer、19.4.8

name属性、dbProxyKey要素、7.2.1.30 name属性、envVariable要素、7.2.1.8 name属性、namingService要素、7.5.1.3 name属性、proxyServer要素、7.2.1.24 nameコマンド・キーワード、A.6.24 名前/値のペア、宛先、12.3.2.2 namingService構成要素、7.5.1.3

host属性、7.5.1.3

name属性、7.5.1.3

port属性、7.5.1.3

NLS

「グローバリゼーション・サポート」を参照、22

NLS_CALENDAR、B.1.6 NLS_CREDIT、B.1.7 NLS_CURRENCY、B.1.8 NLS_DATE_FORMAT、B.1.9 NLS_DATE_LANGUAGE、B.1.10 NLS_DEBIT、B.1.11 NLS_ISO_CURRENCY、B.1.12 NLS_LANG、22.2.1、B.1.13 NLS_LIST_SEPARATOR、B.1.14 NLS_MONETARY_CHARACTERS、B.1.15 NLS_NUMERIC_CHARACTERS、B.1.16 NLS_SORT、B.1.17 nonblocksqlコマンド・キーワード、A.6.25 北アフリカ圏の言語、22.4 notification構成要素、7.2.1.15

class属性、7.2.1.15

id属性、7.2.1.15

notifyfailureコマンド・キーワード、A.6.26 notifysuccessコマンド・キーワード、A.6.27 numberformatmaskコマンド・キーワード、A.6.28

O

OID、「Oracle Internet Directory」を参照

oidcon_increment属性、7.3.1.1.17

oidcon_init属性、7.3.1.1.17

oidcon_timeout属性、7.3.1.1.17

oidconnection構成要素、7.2.1.16

increment属性、7.2.1.16

init属性、7.2.1.16

oidcon_increment属性、oidconnection要素、7.3.1.1.17

oidcon_init属性、oidconnection要素、7.3.1.1.17

oidcon_timeout属性、oidconnection要素、7.3.1.1.17

timeout属性、7.2.1.16

onfailureコマンド・キーワード、A.6.29 onsuccessコマンド・キーワード、A.6.30 option属性、log要素、7.2.1.13 ORA_PROF、23.3.11 Oracleアドバンスト・キューイング、20.1.1、20.4、20.4.1、20.4.2、20.4.2

dbms_AQadmパッケージ、20.4.1

dbms_aq.dequeue、20.4.3

DEQUEUE、20.4

ENQUEUE、20.4

MESSAGES、20.4

Oracle Enterprise Manager、6

Reports Serverの構成、7.8

パフォーマンス分析、23.3.1

Reports Serverの起動、5.1

Reports Serverの停止、5.1

Oracle Forms Services

クラスタ名の移行、7.3.1.1.4

セキュリティに関する考慮事項、16.7

Oracle HTTP Server、16.2.1 Oracle Internet Directory、15.1、16.2.1

接続エンティティの選択、16.4

接続パラメータの指定、7.2.1.16

Oracle JDBC OCI (Thick)ドライバ、13.1.1.1 Oracle JDBC Thinドライバ、13.1.1.1 Oracle Login Server、16.2.1 Oracle Portal、15

使用可能日カレンダ

結合、15.2.4.2

シンプル、15.2.4.1

destination、7.2.1.6 プリンタ・アクセス、15.2.3 レポート・アクセス、15.2.2 レポートの実行、15.3.2 ランタイム・パラメータ・フォーム、15.2.2 RW_ADMINISTRATOR、15.1.1 RW_BASIC_USER、15.1.1 RW_DEVELOPER、15.1.1 RW_POWER_USER、15.1.1 サーバー・アクセス、15.2.1 ユーザーとグループ、15.1 Oracle Reports Bridge

構成ファイル、7.1

rwbridge、A.2.7

Oracle Reports Builder

構成ファイル、7.1

Oracle Reports Runtime

構成ファイル、7.1

Oracle Reports Services

管理、6

監視、6

Oracle Reports Servlet

構成ファイル、7.1

Oracle Single Sign-On Server、14.1.1 ORACLE_AFM、B.1.18 ORACLE_HOME、B.1.19 ORACLE_HPD、B.1.20、B.1.21 ORACLE_PATH、B.1.22 ORACLE_PPD、B.1.23 ORACLE_TFM、B.1.24 OracleAS Portal、A.5.31

レポートのバッチ登録、C

destination、12.2

destination要素、例、12.3.3

配布の例、19.5.5.1

概要、14.13.1

oraclePortal宛先タイプ、12.3.2.1

レポート・ポートレットの公開、17.4

レポート・リクエスト、17.2

トラブルシューティング、D.6

WebDAV、A.5.28

Oracle Reports Services

コンポーネント、2.3.2

永続性、2.3.1

シングル・サインオン、6.8.6、16

OracleAS Single Sign-On

構成、16

rwservlet.properties、6.8.6

ORACLEPORTAL宛先、A.5.31 oraclePortal宛先タイプ、12.3.2.1 ORAINFONAV_DOCPATH、B.1.25 orbClient構成要素、7.2.1.17

id属性、7.2.1.17

publicKeyFile属性、7.2.1.17

ORBPorts構成要素、7.2.1.1 ORDER BY

ブレーク・グループ、23.5.5

organization属性

mail、19.4.3

orientationコマンド・キーワード、A.6.31 出力

UNIX、9.8、9.9.4

出力処理、12 outputfolderコマンド・キーワード、A.7.1 outputimageformatコマンド・キーワード、A.7.2、A.7.3 outputpageコマンド・キーワード、A.7.4 overwriteコマンド・キーワード、A.7.5

P

p_availabilityコマンド・キーワード、A.7.7

p_descriptionコマンド・キーワード、A.7.8

p_formatsコマンド・キーワード、A.7.9

p_jdbcpdsコマンド・キーワード、A.7.10

p_nameコマンド・キーワード、A.7.11

p_ownerコマンド・キーワード、A.7.12

p_pformtemplateコマンド・キーワード、A.7.13

p_printersコマンド・キーワード、A.7.14

p_privilegeコマンド・キーワード、A.7.15

p_serversコマンド・キーワード、A.7.16

p_triggerコマンド・キーワード、A.7.17

p_typesコマンド・キーワード、A.7.18

pagegroupコマンド・キーワード、A.7.19

pagesizeコマンド・キーワード、A.7.20

pagestreamコマンド・キーワード、A.7.21

パラメータ・リスト(イベント)

操作、20.1.2

parameterコマンド・キーワード、A.7.6 パラメータ・フォーム、15.2.2 パラメータ・フォーム

キー・マップ・ファイル、17.13.4

パラメータ・リスト(イベント)

作成、20.1.2

paramformコマンド・キーワード、23.8、A.7.22 ParamList-Object、20.1.1 ParamList-Type、20.1.1 parsequeryコマンド・キーワード、A.7.23 PASTAユーティリティ、9.6.2 PCLフォント

追加、8.2.2.1

PCS

pcscomponent.xml、7.8.1.1

PCS(プロセス制御サービス)

Reports Serverの構成、7.8

PDF出力

アクセシビリティ、10.2.5

圧縮、10.2.1

フォント関連の機能、10.2.2

グラフのサポート、10.2.7

orientation、A.6.31

フォント機能の優先順位、10.2.3

分類、10.2.6

パフォーマンスのためのチューニング、23.8

Unicode、10.3

pdfcompコマンド・キーワード、23.8、A.7.24 pdfembedコマンド・キーワード、A.7.25、A.7.26、A.7.27、A.7.28 パフォーマンス

向上、23

配布の最適化、7.11

トラブルシューティング、D.2

永続性、7.2.1.18 永続性、2.3.1、17.12 persistFile構成要素、7.2.1.18

fileName属性、7.2.1.18

PFAファイル、8.5.3 pfactionコマンド・キーワード、A.7.29 PFBファイル、8.5.3 PFMファイル、8.5.3 ping interval、7.11 ping timeout、7.11 PL/SQL

パフォーマンス分析、23.3.11

SRW_PARAMETER、20.1.2

SRW_PARAMLIST、20.1.2、20.1.4、20.4.1

srw_test.sql、20.2

SRW.ADD_PARAMETER、20.1.2.1

srwAPIdrop.sql、20.1.1

srwAPIgrant.sql、20.1.1

srwAPIins.sql、20.1.1

SRW.APPLY_DEFINITION、21.1

SRW.CANCEL_REPORT、20.1.6

SRW.CLEAR_PARAMETER_LIST、20.1.2.3

SRW.DO_SQL、23.3.11

SRW.JOB_IDENT、20.1.4

SRW.MAXROW_UNSET、23.5.4

SRW-Package、20.1.1

SRW.REMOVE_PARAMETER、20.1.2.2

SRW.REPORT_STATUS、20.1.4

SRW.SET_MAXROW()、23.5.4

SRW.SET_TEXT_COLOR、23.6.1.1

SRW.START_DEBUGGING、20.2

SRW.STATUS_RECORD、20.1.5

SRW.STOP_DEBUGGING、20.2

ストアド・プロシージャ、23.3.11

ブロックの翻訳、22.6

PL/SQL、拡張配布、19.3.2 Pluggable

cache、7.2.1.3

destinations、7.2.1.6、12.2、12.2、19.4.9

engine、7.2.1.9

イベント、7.2.1.10

Notification API、7.2.1.15

リポジトリ、7.2.1.12

プラガブルAPI

セキュリティ、7.2.1.23

pluginParam構成要素、7.2.1.2

name属性、pluginParam要素、7.2.1.2

type属性、pluginParam要素、7.2.1.2

destinationとともに使用、7.2.1.6

notification要素とともに使用、7.2.1.15

value属性、pluginParam要素、7.2.1.2

port属性、bridge要素、7.4.1.1 port属性、multicast要素、7.5.1.2 port属性、namingService要素、7.5.1.3 port属性、proxyServer要素、7.2.1.24 port属性、remoteBridge要素、7.4.1.3 port属性、webLayout要素、7.2.1.29 ポータル

「Oracle Portal」を参照、7.2.1.6

「OracleAS Portal」を参照、12.2

ポートレット

ページへの追加、15.3.3

レポートに対するプロバイダの作成、15.3.1

PostScript

プリンタ・ドライバ、9.8.1

PostScriptフォント

追加、8.2.2.1

PostScriptプリンタ定義(PPD)ファイル

「PPDファイル」を参照、8.3

potentialRunAway属性、jobThresholds要素、7.2.1.32 PPDファイル、8.3 PRINTER、B.1.26 プリンタ・アクセス制御、15.2.3 プリンタ宛先、A.5.31 printer宛先タイプ、12.3.2.1 printer配布要素、19.4.8

copies属性、19.4.8

id属性、19.4.8

instance属性、19.4.8

name属性、19.4.8

印刷

トラブルシューティング、D.4

UNIXでの印刷、9、9.8、9.9.4 printjobコマンド・キーワード、A.7.30 priority属性

mail、19.4.3

プログラム・ユニット、XMLによる追加、21.2.5 property配布要素、19.4.10 property要素、7.2.1.20 property、JDBC構成ファイル、13.1.1 protocol属性、proxyServer要素、7.2.1.24 プロバイダ

レポートに対して作成、15.3.1

プロキシ情報

構成、7.7

proxyInfo構成要素、7.2.1.28 proxyServer構成要素、7.2.1.24

name属性、7.2.1.24

port属性、7.2.1.24

protocol属性、7.2.1.24

proxyServers構成要素、7.2.1.27 publicKeyFile属性、orbClient要素、7.2.1.17 レポート・ポートレットの公開、17.4

Q

queue構成要素

maxQueueSize属性、7.2.1.21、23.4、23.8

queue要素、7.2.1.21 Queue Manager、2.3.1、17.10 キュー・ビューア、2.3.1

R

読取り順序、22、22.4

readonlyコマンド・キーワード、A.7.31

RECURSIVE_LOADコマンド・キーワード、23.8

recursive_loadコマンド・キーワード、A.7.32

レジストリ、編集、B

レジストリ、Windows、22.2.1.1.1

reloadkeymap構成要素、7.3.1.1.11

REMOTE、B.1.27

remoteBridge構成要素、7.4.1.3

host属性、7.4.1.3、7.4.1.3

remoteBridges構成要素、7.4.1.4 REP-50125、D.1.2 REP-52266、D.1.1 REP-56048、D.1.5 「繰返し」プロパティ、23.7.2 replyTo属性

mail、19.4.3

replytoコマンド・キーワード、A.7.33 レポート

orientation、A.6.31

レポート・アクセス制御、15.2.2 レポート・ブロック・ウィザード

用語集、用語集

reportコマンド・キーワード、A.6.23 レポート定義、XML、21 reportパラメータ、イベント、20.1.4、20.3 レポート・リクエスト

URLエンジン、17.6

Webブラウザから、17.5

レポート・ポートレットの公開、17.4

自動実行のスケジューリング、17.10

レポート・トレース、23.3.7 レポート・ウィザード

用語集、用語集

レポート

カスタムXMLの適用、21.4

OracleAS Portalからのバッチ削除、C.2

一括処理、19.4.2

キャッシュ、17.12

コマンドライン・リクエスト、17.2

カスタムXMLのデバッグ、21.5

イベントによる起動、20.3

処理、2.3.3

リクエストの方法、17.2

パッケージ・プロシージャを使用したリクエスト、17.2

Portal経由のリクエスト、17.2

自動実行、17.10

スケジューリング、17.10

URLリクエスト、17.2

URL構文、17.1

XMLカスタマイズ、21.2

XMLデータ・モデル、21.3

Reports Engine、2.3.3 Reports Queue Manager、2.3.1、17.10 Reports Queue Viewer、2.3.1 Reports Server

アクセス制御、15.2.1

クラスタリング(非推奨)、7.2.1.4、7.3.1.1.4

構成ファイル、2.3.3、7.1

宛先処理、12.2

インプロセス、2.3.1

永続性、7.2.1.18、17.12

宛先タイプの登録、12.3

OID接続パラメータの指定、7.2.1.16

ステータス・レコード、20.1.6

構成のチューニング、23.4

Reports Services

Cache API、7.2.1.3

コンポーネント、2.3.2

Destinations API、7.2.1.6、12.2、12.2

Engine API、7.2.1.9

Events API、7.2.1.10

Notification API、7.2.1.15

永続性、2.3.1

Repository API、7.2.1.12

Security API、7.2.1.23

シングル・サインオン、6.8.6、16

起動と停止、5

Reports Servlet、16.2.1、16.2.1

カスタム・ヘルプの追加、7.3.1.1.9

URL構文、17.1.1

レポート、実行、17 REPORTS_ADD_HWMARGIN、B.1.28 REPORTS_ARABIC_NUMERAL、10.4、B.1.29 REPORTS_BIDI_ALGORITHM、10.4、B.1.31 REPORTS_CGIDIAGBODYTAGS、B.1.32 REPORTS_CGIDIAGHEADTAGS、B.1.33 REPORTS_CGIHELP、B.1.34 REPORTS_CGIMAP、B.1.35 REPORTS_CGINODIAG、B.1.36 REPORTS_CLASSPATH、B.1.37 REPORTS_CONTAINSHTMLTAGS、B.1.38 REPORTS_COOKIE_EXPIRE、B.1.39 REPORTS_DB_AUTH、B.1.40、B.1.41 REPORTS_DEFAULT_DISPLAY、B.1.42 REPORTS_DEFAULT_PIXEL_SIZE、B.1.43 REPORTS_ENABLE_RTF_SPACING、B.1.44 REPORTS_ENCRYPTION_KEY、B.1.45 REPORTS_ENHANCED_FONTHANDLING、B.1.47 REPORTS_ENHANCED_SUBSET、10.2.2.2.2、10.2.2.2.2、10.2.2.2.2、B.1.48 REPORTS_FONT_DIRECTORY、B.1.49 REPORTS_GRAPH_IMAGE_DPI、B.1.50 REPORTS_IGNORE_IMAGE_TAG_RES、B.1.51 REPORTS_JPEG_QUALITY_FACTOR、B.1.53 REPORTS_JVM_OPTIONS、B.1.54 REPORTS_NETWORK_CONFIG、B.1.55 REPORTS_NLS_XML_CHARSETS、B.1.56 REPORTS_NO_DUMMY_PRINTER、B.1.57 REPORTS_NO_HTML_SPACE_REPLACE、B.1.58 REPORTS_OUTPUTIMAGEFORMAT、B.1.59 REPORTS_PATH、B.1.60 REPORTS_RESOURCE、B.1.62 REPORTS_RESTRICT_DIRECTORIES、B.1.61 REPORTS_SERVER、B.1.63 reports_servermap構成要素、7.3.1.1.4 reports_servermap構成要素、7.3.1.1.4 REPORTS_SOLARIS_9、B.1.64 REPORTS_SPACE_BREAK、B.1.65 REPORTS_SRWRUN_TO_SERVER、B.1.66 REPORTS_SSLPORT、B.1.67 REPORTS_SYS_AUTH、B.1.68 REPORTS_TAGLIB_URI、B.1.69 REPORTS_TMP、B.1.70 REPORTS_USEREXITS、B.1.71 REPORTS_UTF8_XMLOUTPUT、B.1.72 repositoryconnプロパティ

confidential属性、23.3.8.1

retry属性、job要素、7.2.1.10 retry属性、multicast要素、7.5.1.2 returnReceipt属性

mail、19.4.3

roleコマンド・キーワード、A.7.35 RTF出力

orientation、A.6.31

RUNDEBUGコマンド・キーワード、23.8 rundebugコマンド・キーワード、A.8.1 レポートの実行、17

Oracle Portal、15.3.2

レポートの自動実行、17.10 ランタイム・パラメータ・フォーム、15.2.2 ランタイムURL、17 ランタイムURL構文、17.1 RW環境変数、B.1.73 RW_ADMINISTRATOR、15.1.1 RW_BASIC_USER、15.1.1 RW_DEVELOPER、15.1.1 RW_POWER_USER、15.1.1 RW_SERVER_JOB_QUEUE表、23.3.8 RW_SERVER_QUEUEビュー、23.3.8.1 rw_server.sql、2.5.3、23.3.8.1 rwbridge

構成ファイル、7.1

rwbridgeコマンド、A.2.7 rwbridge.conf、7.1 rwbuilder

構成ファイル、7.1

rwbuilderコマンド、21.5.2、A.2.3 rwbuilder.conf、7.1 rwclient、17.2 rwclientコマンド、A.2.1 rwconverter

バッチ登録用SQLスクリプトの生成、C.1.1

rwconverterコマンド、21.4、A.2.4 rwnetworkconf.dtd

multicast要素、7.5.1.2

rwnetwork.xsd

discoveryService要素、7.5.1.1

namingService要素、7.5.1.3

rwrun

構成ファイル、7.1

rwrunコマンド、A.2.2 rwserver

構成ファイル、7.1

rwserverコマンド、A.2.6 rwserver.conf、7.1 rwserverconf.dtd、12.3.1、12.3.2.2 rwserverconf.xsd、7.1、7.1

bypassProxy要素、7.2.1.26

cache要素、7.2.1.3

cluster要素、7.2.1.4

connection要素、7.2.1.5

dbProxyConnKeys要素、7.2.1.31

dbProxyKey要素、7.2.1.30

destination要素、7.2.1.6

domain要素、7.2.1.25

engine要素、7.2.1.9

environment要素、7.2.1.7

envVariable要素、7.2.1.8

folderAccess要素、7.2.1.22

identifier要素、7.2.1.19

job要素、7.2.1.10

jobRecovery要素、7.2.1.11

jobRepository要素、7.2.1.14

jobStatusRepository要素、7.2.1.12

jobThresholds要素、7.2.1.32

log要素、7.2.1.13

notification要素、7.2.1.15

oidconnection要素、7.2.1.16

orbClient要素、7.2.1.17

persistFile要素、7.2.1.18

pluginParam要素、7.2.1.2

property要素、7.2.1.20

proxyInfo要素、7.2.1.28

proxyServer要素、7.2.1.24

proxyServers要素、7.2.1.27

queue要素、7.2.1.21

security要素、7.2.1.23

server要素、7.2.1.33

webLayout要素、7.2.1.29

rwserverconf.xsdd

ORBPorts要素、7.2.1.1

rwserver.template、7.2 rwservlet

構成ファイル、7.1

Webサービスとして公開、17.7、17.9

rwservletコマンド、A.2.5 rwservlet構成要素、7.3.1.1 rwservlet.properties、7.1

HELP、7.3.1.1.9

SINGLESIGNON、6.8.6、16.3.1

rwservlet.xsd、7.1

allowhtmltags要素、7.3.1.1.8

dbauth要素、7.3.1.1.12

defaultcharset要素、7.3.1.1.6

errortemplate要素、7.3.1.1.14

helpurl要素、7.3.1.1.9

imageurl要素、7.3.1.1.10

inprocess要素、7.3.1.1.3

reloadkeymap要素、7.3.1.1.11

reports_servermap要素、7.3.1.1.4、7.3.1.1.4

rwservlet要素、7.3.1.1

server要素、7.3.1.1.1

singlesignon要素、7.3.1.1.2

sysauth要素、7.3.1.1.13

S

save_rdfコマンド・キーワード、A.8.2

SCHEDULEコマンド・キーワード、17.10

scheduleコマンド・キーワード、A.8.3

screenprinter.ppd、8.3、9.8.1

スクリプト

srw_test.sql、20.2

srwAPIdrop.sql、20.1.1

srwAPIgrant.sql、20.1.1

srwAPIins.sql、20.1.1

ファイルの検索、8.3.1 security構成要素、7.2.1.23

class属性、7.2.1.23

id属性、7.2.1.23

セキュリティ上の考慮点

Oracle Forms Services、16.7

securityId属性、job要素、7.2.1.10 serverパラメータ、イベント、20.1.4 サーバー、16.2.1

rwbridgeコマンド、A.2.7

rwserverコマンド、A.2.6

サーバー・アクセス制御、15.2.1 serverコマンド・キーワード、A.8.4 server構成要素、7.2.1.33、7.3.1.1.1

version属性、7.2.1.33

SERVEROUT、20.2 サーブレット、2.3.1、2.3.1、16.2.1

rwservlet、A.2.5

URL構文、17.1.1

セッションCookie、16.1 showauthコマンド・キーワード、A.8.5 showenvコマンド・キーワード、A.8.6 showjobidコマンド・キーワード、A.8.7 SHOWJOBSコマンド・キーワード、23.3.9 showjobsコマンド・キーワード、A.8.8 showmapコマンド・キーワード、A.8.9 showmyjobsコマンド・キーワード、A.8.10 shutdownコマンド・キーワード、A.8.11 シングル・サインオン

構成、16

rwservlet.properties、6.8.6

シングル・サインオン、14.1.1 シングルバイト言語、22.5.1 SINGLESIGNON、16.3.1 singlesignon構成要素、7.3.1.1.2 SINGLESIGNON、rwservlet.properties、6.8.6 sitenameコマンド・キーワード、A.8.12 SMTP、7.2.1.15、19.4.3、19.4.3 ソート基準、言語、22.2.1.2 sourceコマンド・キーワード、A.8.13 sourceDatabase、13.1.1 sourcedirプロパティ、engine要素、7.2.1.9 SQL

パフォーマンス分析、23.3.10

SQLトレース、23.3.10 SQL*PLUS、20.2 SQLNet、A.8.24 src属性

include、19.4.6

srcType属性

attach、19.4.5

body、19.4.4

SRW_PARAMETER、20.1.2 SRW_PARAMLIST、20.1.2、20.1.4、20.4.1 srw_test.sql、20.2 SRW.ADD_PARAMETER、20.1.2.1 srwAPIdrop.sql、20.1.1 srwAPIgrant.sql、20.1.1 srwAPIins.sql、20.1.1 SRW.APPLY_DEFINITION、21.1 SRW.CANCEL_REPORT、20.1.6 SRW.CLEAR_PARAMETER_LIST、20.1.2.3 SRW.DO_SQL、23.3.11 SRW.JOB_IDENT、20.1.4 SRW-Package、20.1.1 SRW.REMOVE_PARAMETER、20.1.2.2 SRW.REPORT_STATUS、20.1.4 SRW.RUN_REPORT、17.2、17.2 SRW.SET_MAXROW、23.5.4 SRW.SET_PRINTER_TRAY、9.9.3 SRW.SET_TEXT_COLOR、23.6.1.1 SRW.START_DEBUGGING、20.2 SRW.STATUS_RECORD、20.1.5 SRW.STOP_DEBUGGING、20.2 SSO

構成、16

rwservlet.properties、6.8.6

SSOCONコマンド・キーワード、16.3.3.1 ssoconnコマンド・キーワード、A.8.15 ステータス・レコード、20.1.6 statusfolderコマンド・キーワード、A.8.16 statusformatコマンド・キーワード、A.8.17 statuspageコマンド・キーワード、A.8.18 stypeコマンド・キーワード、A.8.19 subject属性

mail、19.4.3

subjectコマンド・キーワード、A.8.20 subProtocol、13.1.1 同等の記号、22.2.1.2 構文、コマンド、A.1 構文、ReportsのURL、17.1 sysauth構成要素、7.3.1.1.13

T

tempdirプロパティ、engine要素、7.2.1.9

テンプレート、rwserver.template、7.2

TEX Font Metrics (TFM)ファイル

「TFMファイル」を参照、8.3

テキストの表示、多言語、22.5.1 テキストの読取り順序、22 TFMファイル、8.3、9.4.4 timeout属性、bridge要素、7.4.1.1 timeout属性、multicast要素、7.5.1.2 timeout属性、oidconnection要素、7.2.1.16 TK_AFM、B.1.77 TK_HPD、B.1.78 TK_PPD、B.1.79 TK_PRINT、B.1.74 TK_PRINT_STATUS、B.1.75 TK_PRINTER、B.1.76 TK_TFM、B.1.80 Tk2Motif.rgb、17.3.6 Tk2Motif.rgbファイル、8.3 TKPROF、SQLトレース、23.3.10 to属性

mail、19.4.3

TOLERANCEコマンド・キーワード、2.3.3、17.12 toleranceコマンド・キーワード、A.8.22 トレース

レポート、23.3.7

トレーラ、23.7.2 アプリケーションの翻訳、22.6 翻訳

PL/SQLブロック、22.6

TranslationHubツール、22.6

トリガー、データベース、20.3 トラブルシューティング

クロス・プラットフォームの問題、11.4.2.1、11.5.2.1、11.6.2.1、11.7.2.1

フォントの問題、8.9

フォント、D.3

グローバリゼーション、D.7

グローバリゼーションに関する問題、22.7

JDBC PDS、D.5

OracleAS Portal、D.6

OracleAS Reports Services、D

パフォーマンス、D.2

印刷、D.4

True Type Big Font、22.5.2 True Type Bigフォント、8.9 TrueType Collection (TTC)、8.5.5 TrueTypeフォント、8.5.4 TTC (TrueType Collection)、8.5.5 チューニング

レポートのパフォーマンス、23

type属性、7.2.1.2 Type1フォント、8.5.3

U

uifont.ali、8.3、9.4.5

場所、8.3

セクション、8.3

検証、8.4.4

uiprint.txt、8.3、9.3.1 Unicode、8.5.2 Unicode、22.5 UNIX、印刷、9、9.8、9.9.4 URLエンジン

構成、7.6

要素、7.6

レポート・リクエスト、17.6

URLジョブ・リクエスト、17 URL、ランタイム構文、17.1 urlparameterコマンド・キーワード、A.8.23 usejvmコマンド・キーワード、A.8.24 USER_NLS_LANG、22.2.2、B.1.83 useridコマンド・キーワード、A.8.25 useridパラメータ、イベント、20.1.4、20.3 USERNAME、B.1.82 userstylesコマンド・キーワード、A.8.26 UTF8、22.5.1

V

VALIDATETAG、23.8、A.8.27、A.8.27

VALIDATETAGコマンド・キーワード、23.8

validatetagコマンド・キーワード、A.8.27

value属性、envVariable要素、7.2.1.8

変数、グローバリゼーション・サポート環境、22.2

変数、XML属性での使用、19.3.2

version属性、bridge要素、7.4.1.1

version属性、server要素、7.2.1.33

value属性、7.2.1.2

W

WE8MSWIN1252文字セット、17.3.6

Webブラウザ

レポート・リクエスト、17.5

Webブラウザの宛先、A.5.31 Webリスナー、16.2.1 Webサービス、18

rwservletの公開、17.7、17.9

操作、18.3

WSDLの表示、18.2.2

WebDAV

DESNAME、A.5.28

配布の例、19.5.5.3

WebDAV宛先、A.5.31 webLayout構成要素、7.2.1.29

docroot属性、7.2.1.29

port属性、7.2.1.29

webserver_debugコマンド・キーワード、A.8.28 webserver_docrootコマンド・キーワード、A.8.29 webserver_portコマンド・キーワード、A.8.30 Windowsレジストリ、22.2.1.1.1 ウィザード

用語集、用語集

表記の方向、言語、22.2.1.2

X

XML

新規問合せの追加、21.2.6

書式例外の追加、21.2.4

ハイパーリンクの追加、21.2.5

プログラム・ユニットの追加、21.2.5

適用、21.4

実行時の適用、21.4.1

カスタマイズの適用、21.1

複数の定義の適用、21.4.1.2

1つの定義の適用、21.4.1.1

PL/SQLによる適用、21.4.1.3

バッチ変更、21.4.3

書式マスクの変更、21.2.3

スタイルの変更、21.2.2

クロス積グループの作成、21.3.4

カスタマイズの作成、21.1、21.2

データ・モデルの作成、21.3

式の作成、21.3.5

グループ階層の作成、21.3.3

マトリックス・グループの作成、21.3.4

複数のデータソースの作成、21.3.1

パラメータの作成、21.3.6

プレースホルダの作成、21.3.5

サマリーの作成、21.3.5

デバッグ、21.5.3

カスタマイズのデバッグ、21.5

distribution.dtd、19.3.1

JDBC構成ファイル、13.1.1

解析、21

データ・ソースのリンク、21.3.2

Reports Builderでのオープン、21.5.2

パーサーのエラー・メッセージ、21.5.1

レポート・カスタマイズ、21

必須カスタマイズ・タグ、21.2.1

単独での実行、21.4.2

配布XMLファイルの使用、19.6

データの検証、23.5.1

XML属性、変数の使用、19.3.2

Oracleの法律上の注意点

コピーライト

Copyright © 1994, 2020, Oracle and/or its affiliates.

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクルまでご連絡ください。

制限付権利について

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs) and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government end users are "commercial computer software" or "commercial computer software documentation" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, the use, reproduction, duplication, release, display, disclosure, modification, preparation of derivative works, and/or adaptation of i) Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs), ii) Oracle computer documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in the license contained in the applicable contract.The terms governing the U.S. Government's use of Oracle cloud services are defined by the applicable contract for such services.No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアまたはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアまたはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、Oracle Corporationおよびその関連会社は一切の責任を負いかねます。

商標と登録商標について

OracleおよびJavaはオラクルおよびその関連会社の登録商標です。その他の社名、商品名等は各社の商標または登録商標である場合があります。

Intel、Intel Insideは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Epyc、AMDロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

第三者のコンテンツ、製品、サービスに関する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

Pre-General Availability (一般提供前)版のラベルと公開日

Pre-General Availability (一般提供前)版: 2020年1月15日

Pre-General Availability (一般提供前)版のドキュメントについて

このドキュメントがPre-General Availability (一般提供前)版の場合:

このドキュメントはPre-General Availability (一般提供前)版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。Oracle Corporationおよびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

オラクルの機密ラベル

ORACLE CONFIDENTIAL 無許可での使用を禁止します。第三者への配布を禁止します。

収益認識 (Revenue Recognition) について
このドキュメントが非公開のPre-General Availability (一般提供前)版の場合:
このドキュメントに含まれる情報は、情報の共有のみを目的としたものであって、顧客諮問委員会(Customer Advisory Board)のメンバーとしてのお客様の立場でのみ、またはお客様のPre-General Availability Trial Agreement (Pre-GAトライアル契約)のみに従って検討されるべきものとします。マテリアルやコード、機能を提供することのコミットメント（確約）ではないため、購買決定を行う際の判断材料になさらないでください。このドキュメントに記載されている機能の開発、リリース、時期および価格については、オラクルの単独の裁量により変更される可能性があります。

このドキュメントには、ソフトウェアまたは印刷物などの形式を問わず、オラクルが独占的な権利を有する財産的情報が含まれています。この機密資料へのアクセスと使用は、お客様とオラクルとの間で締結され、お客様が遵守に同意した、Oracle Master Agreement、Oracle License and Oracle Services Agreement (オラクル・ライセンスおよびサービスに関する契約書)、Oracle PartnerNetwork Agreement、Oracle Distribution Agreementまたはその他のライセンス契約の条件に従うものとします。このドキュメントとその内容の開示、コピー、複製および配布には、オラクルによる事前の承諾を必要とします。このドキュメントはライセンス契約の一部となるものではなく、オラクルおよびその子会社や関連会社との契約を構成するものではありません。

ドキュメントのアクセシビリティについて

オラクルのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

サポートをご契約のお客様には、My Oracle Supportを通して電子支援サービスを提供しています。詳細情報は「http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info」か、聴覚に障害のあるお客様は「http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs」を参照してください。