ヘッダーをスキップ
Oracle Application Serverリリース・ノート
10gリリース2(10.1.2)for HP-UX PA-RISC (64-bit)
B25637-05
  目次
目次

戻る
戻る
 
次へ
次へ
 

20 Oracle Reports

この章では、Oracle Reportsに関する問題について説明します。この章の内容は次のとおりです。


注意:

  • 最新バージョンのOracle Reportsオンライン・ヘルプをダウンロードするリンクなど、Oracle Reportsの情報については、OTNのOracle Reports 10gページ(http://www.oracle.com/technology/products/reports/index.html)を参照してください。

  • Oracle Application Serverソフトウェアには、Oracle Application Server Forms and Reports Servicesのスタンドアロン・インストールが同梱されています。Oracle Application Serverの一部の機能のみが必要な場合は、このCDを使用してください。詳細は、マニュアルのCDに収録されているOracle Application Server Forms and Reports Servicesのインストレーション・ガイドを参照してください。OracleAS Forms and Reports Servicesインストールに関するよくある質問については、OTNの「Oracle Reports Technical FAQ」(http://www.oracle.com/technology/products/reports/htdocs/faq/faq_fr_services.htm)を参照してください。


20.1 一般的な問題と対処方法

この項では、Oracle Reportsに関する一般的な問題とその対処方法について説明します。この項の内容は次のとおりです。

20.1.1 9.0.4との下位互換性の維持

Oracle Reports 10gリリース2(10.1.2)では、Borland社のVisiBrokerではなく、業界標準であるSun社のJava Developer's Kit Object Request Broker(JDK ORB)が使用されます。これによって、複数のサブネットにわたるクライアントからのReports Serverリクエストのサポートが提供され、サブネット内および複数のサブネットで、動的なReports Serverの検出のためのブロードキャスト・メカニズムが使用されます。JDK ORBに関連する変更の詳細は、『Oracle Application Server Reports ServicesレポートWeb公開ガイド』を参照してください。

9.0.4.3より前のリリースには9.0.4.2用のパッチを適用し、Oracle Reports(9.0.4)クライアントと10gリリース2(10.1.2)サーバーの間、およびOracle Reports(9.0.4)サーバーと10gリリース2(10.1.2)クライアントの間で、ORBの下位互換性を持つようにします。9.0.4.3以降では、このパッチはインストールに組み入れられる予定です。

Bug 4092150は、関連するプラットフォーム固有情報を含む公開済のバグです。原則的にRNにはバグ番号は記載されませんが、この場合は例外です。

このパッチに関するプラットフォーム固有の詳細は、Bug 4092150を参照してください。

20.1.2 Reports Builderでの新しい自動保存機能の使用

Oracle Reports 10gリリース2(10.1.2)では、自動保存機能が導入されました。これにより、Reports Builderの予期しないイベントやシステム障害が発生した場合に、保存していない変更がリカバリされます。自動保存を有効にすると、開いているレポートの保存していない変更を自動的にリカバリできます。

自動保存機能を有効にするには、次の手順を実行します。

  1. Reports Builderで、「編集」→「プリファレンス」を選択して、「プリファレンス」ダイアログ・ボックスを表示します。

  2. 「プリファレンス」ダイアログ・ボックスの「一般」タブで、「自動保存」を選択します。

自動保存機能は、プリファレンス・ファイルのReports.auto_saveプロパティを変更することによっても有効化できます。このプリファレンス・ファイルは、Windowsではcauprefs.ora、UNIXプラットフォームではprefs.oraになります。ファイルを次のように変更します。

Reports.auto_save = [YES|NO]
DEFAULT: NO

使用上の注意

  • 自動保存を有効にした場合、開いているレポートで行った変更は、Reports Builderのメニュー、ツールバー、ツール・パレット、オブジェクト・ナビゲータ、プロパティ・インスペクタおよび他のエディタ・ウィンドウからの様々なイベントの発生時に、一時リカバリ・ファイルに自動的に保存されます。

  • 新しいレポート定義の場合、自動保存はレポートが初めて保存された後に有効になります。

  • レポートの保存後は、現行のリカバリ・ファイルが削除されます。保存していない変更をリカバリしただけの場合でも、レポートを保存するとリカバリ・ファイルが削除されます。

  • 一時リカバリ・ファイルは、元の定義ファイルと同じ場所に.rdf形式で作成および保存されます。リカバリ・ファイルの形式は、reportname_extension.rdfです。たとえば、元の定義ファイルemp.jspのリカバリ・ファイルはemp_jsp.rdfになります。emp_jsp.rdfファイルは、emp.jspファイルと同じ場所に保存されます。

  • リカバリ・ファイルが存在する、保存していないレポート定義ファイルを再度開いた場合、その変更内容を保存するように求められます。そのリカバリ・ファイルには、前回の自動保存イベントまでの変更内容が含まれています。変更がリカバリされた後、「保存」または「変更の破棄」オプションを選択する必要があります。「保存」オプションでは、保存されていない以前の変更内容が元のレポート定義ファイルに書き込まれます。「変更の破棄」オプションでは、リカバリされた変更内容が保存されません。レポートを閉じると、リカバリ・ファイルが削除されます。

  • リカバリ・ファイルを自動保存するときにエラーが発生した場合、自動保存を無効にするか、エラーのまま続行するかを選択するように求められます。


注意:

自動保存を有効にした場合、リカバリ・ファイルには、レポート定義ファイルの前回の保存以降に加えた変更がすべて含まれているものとみなされます。そのため、リカバリ・ファイルを保存する前に、リカバリ・ファイルに最新の変更内容が含まれていることを確認する必要があります。元のレポート定義ファイルがリカバリ・ファイルよりも新しいバージョンである場合、リカバリ・ファイルから読み取られた変更内容で元のレポート定義が上書きされないように、レポート定義を元に戻すことができます。

20.1.3 JServが構成されている場合、OracleAS Reports Servicesデモが動作しない

OracleAS Reports Servicesデモを正しく動作させるには、OracleAS Reports ServicesをインストールしたコンピュータでApache JServを構成しないでください。

20.1.4 OracleAS Portalでバッチ登録されたレポートの編集時にエラーが発生する

OracleAS Portalでレポートをバッチ登録し、続いてそのレポートの登録を手動で編集すると、「名前を付けて保存」ダイアログ・ボックスが予期しないタイミングで表示される場合があります。

この問題を回避するには、OracleAS Portalでレポートの登録を編集する際に「表示名」プロパティを指定します。

OracleAS Portalでレポートを登録する方法の詳細は、『Oracle Application Server Reports ServicesレポートWeb公開ガイド』を参照してください。

20.1.5 DelimitedData出力のリンクされた問合せでの制限

DelimitedData出力では、同レベルのグループがサポートされていないため、メインの問合せに複数の問合せをリンクできません。

次に例を示します。

ケース1: Q1Q2の間にリンク、Q2Q3の間にリンクがあり、Q4がスタンドアロンの問合せであるとします。

Q1<-->Q2<-->Q3 Q4

この場合、DelimitedData出力は適切に生成されます。

ケース2: Q1Q2の間にリンク、Q2Q3の間にリンクがあり、さらにQ4Q1の間にリンクがあるとします。

Q1<-->Q2<-->Q3 Q1<-->Q4

この場合、DelimitedData出力は適切に生成されません。かわりにXML出力を使用できます。

20.1.6 グループ上およびマトリックス・スタイルを指定したJSPベースのWebレポートで、サマリー列が位置揃えされない

グループ上またはマトリックス・スタイルを指定したJSPベースのWebレポート出力で、サマリー列の値が左揃えされない場合、次の対処方法で適切に位置揃えできます。

  • Reports BuilderでJSPレポートを開きます。

  • Webソース」ビューを選択します。

  • 「Webソース」ビューで、サマリー列が定義されているセクションを探し、次の行を削除して余分なスペースを削除します。

    <th class="summary_column_name"> </th>
    

20.1.7 Oracle Enterprise Manager 10gでOracle ReportsのHTML出力のイメージが表示されない

OracleAS Web CacheがSSL対応、Oracle HTTP Serverが非SSL対応に構成されている場合、Oracle ReportsのHTML出力のイメージは、Oracle Enterprise Manager 10gで表示されません。これは、HTML出力に記述されているイメージのURLが、SSL対応のOracleAS Web Cacheポートを指定しているためです。これに対し、Oracle Reportsの過去のジョブ出力に対してOracle Enterprise Manager 10gから発行されるリクエストは非SSL対応です。

この問題を回避するには、Oracle HTTP ServerポートではなくOracleAS Web Cacheポートを指定するように、Reports Server用のURL内のServletプロパティを、targets.xmlファイルで編集します。targets.xmlファイルは、ORACLE_HOME/sysman/emdディレクトリにあります。

たとえば、OracleAS Web CacheがSSL対応で、リスニング・ポート番号が443の場合は、Reports ServerのターゲットのURL内のServletプロパティを、targets.xmlファイルで次の例のように編集します。

<Target TYPE="oracle_repserv" …..>
......
<Property NAME="Servlet" VALUE="https://xyz.mycompany.com:443/reports/rwservlet"/>
......
</Target>

20.1.8 Acrobat Reader 7.0で拡張フォント・サブセット機能を使用すると、大容量のマルチバイト・レポートに文字位置のずれが生じる

Acrobat Reader 7.0で、デフォルトの拡張フォント・サブセット機能を使用する大容量のマルチバイトおよびUnicodeのPDFレポートを表示すると、一部の文字が誤った位置に表示されます。

この問題を回避するには、次のいずれかを実行します。

  • 環境変数REPORTS_ENHANCED_SUBSETNOに設定して、Oracle Reports 10gリリース2(10.1.2)より前のリリースで使用していたType 3フォントのサブセットの実装に戻します。

  • Acrobat Reader 6.0以前を使用します。

20.1.9 SQL構文を使用するとPL/SQLのコンパイルが失敗する

レポート内でSQL構文を使用すると、次の条件下でPL/SQLコンパイルに失敗することがあります。

  • ROW_NUMBER()など、Oracle Database 9.xより後のリリースで導入されたSQL構文が使用されている。

  • SQL構文がクライアント側のPL/SQLプロシージャで使用されている。

この問題を回避するには、次のいずれかを実行します。

  • Oracle Databaseリリース10.1.0.4以降を使用します。

  • SQL構文をサーバー側のストアド・プロシージャに移動します。

  • プロシージャではなく、SQL問合せでSQL構文を直接使用します。

20.1.10 レポートをXMLとして保存するとPL/SQLパッケージ仕様または本文(あるいはその両方)が失われる

Oracle Reports 10gリリース2(10.1.2)Patch 2より前のリリースで開発されたレポートでは、レポートをXML形式で保存する場合、レポートでPL/SQLパッケージを定義する際に、パッケージ仕様(場合によっては本文)がXMLレポートに保存されなくなる問題が発生することがあります。この問題を解決するには、次の手順のいずれかを実行します。

  • RDFが存在する場合、Oracle Reports 10gリリース2(10.1.2)Patch 2以降を使用して、XML出力ファイルを再生成します。

  • RDFが存在しない場合は、次の例のように、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;
                begin
                  c2 :=sysdate;
                  return c2;
                end;
            END;
          ]]>
        </textSource>
      </function>
      <function name="cf_1formula" returnType="date">
        <textSource>
          <![CDATA[
            function CF_1Formula return Date is
              aa date;
              begin
                --aa :=a.lire;
              end;
          ]]>
        </textSource>
      </function>
    </programUnits>
    

20.1.11 「ペーパー・デザイン」ビューで、複数行からなるテキストにインラインでHTMLタグを使用すると色が不正になる

次のいずれかの状況下では、Reports Builderの「ペーパー・デザイン」ビューでテキストが不正な色で表示される場合があります。

  • テキスト・オブジェクトが複数行のテキストで構成されており、2行目以降へ折り返されている。

  • テキスト・オブジェクトの「HTMLタグを含む」プロパティが「はい」に設定されている。

  • 複数行のテキストの部分によって適用されている色が異なる。


注意:

この問題は、「ペーパー・デザイン」ビューでのみ発生します。これ以外のフォーマットではすべて、レポートは正しい色で出力されます。

20.1.12 動的なrefcursorによるエラー

動的なrefcursorを含むレポートは、仮想メモリーのシステム・エラーによって失敗する場合があります。この問題を解決するには、オラクル社カスタマ・サポート・センターに問い合せて、特定のパッチを適用します。Linux x86、64ビット版SolarisおよびWindowsに対応したパッチが用意されています。

20.2 ベンダー固有の問題と対処方法

この項では、Oracle Reportsのベンダー固有の問題とその対処方法について説明します。この項の内容は次のとおりです。

20.2.1 ブラウザでHTMLCSSの出力に下線が表示されない

次の例のように、HTMLCSSでフィールド・オブジェクトのスタイルをカスタマイズし、スタイルの一部として背景色と下線の両方を指定した場合、出力時に下線が正しく表示されない場合があります。

.ReportLevel {text-decoration:underline;color:blue; background-color:yellow}

これは、ブラウザの制限によるものです。下線と背景色の両方が指定されているフィールドで下線を絶対位置で指定した場合、ブラウザでは下線は表示されません。

20.2.2 多数の列があるJSPベースのWebレポートでJSPコンパイル・エラーが発生する

150以上の列が含まれるJSPベースのWebレポートを実行すると、次の例のようにoracle.jsp.provider.JspCompileExceptionエラーが発生する場合があります。

500 Internal Server Error
OracleJSP: oracle.jsp.provider.JspCompileException:
Errors
...
6764 code too large for try statement catch( Throwable e)
{18 code too large public void _jspService(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException}

これは、Java言語に、多数のメソッドを含むJavaファイルのコンパイルを許可しないという制限があることが原因です。

20.3 グローバリゼーション・サポートの問題と対処方法

この項では、Oracle Reportsのグローバリゼーション・サポートに関する問題とその対処方法について説明します。この項の内容は次のとおりです。

20.3.1 トルコ語環境でイメージが正しく表示されない

トルコ語環境で、イメージを含むレポートを拡張イメージを使用して実行する場合(NLS_LANGTURKISH_TURKEY.TR8MSWIN125またはTURKISH_TURKEY.WE8ISO8859P9に設定する場合)、環境変数REPORTS_OUTPUTIMAGEFORMAT=[PNG|GIF]を設定します。

または、コマンドライン・キーワードOUTPUTIMAGEFORMAT=[PNG|GIF]を使用してレポート・リクエストの値を制御できます。

20.3.2 NLS_LANGがJA16EUCの場合、PostScriptフォント・マッピングでMS明朝フォントが動作しない

WindowsでReports Builderを使用して作成したレポートを、NLS_LANGJA16EUCに設定されているSolarisまたはLinuxのReports Serverに配布する場合、PDFフォント・マッピングは機能しません。この問題は、次のフォントのいずれかがPostScriptのフォント・マッピング・エントリに使用されている場合に発生します。

"<MS Mincho in JP>".....
"<MS PMincho in JP>".....

この問題を回避するには、次のいずれかの作業を行います。

  • NLS_LANGJA16SJISに設定します。

  • レポートの作成時に、PostScriptのフォント・マッピングでMS MinchoのかわりにMS Gothicを使用します。

20.3.3 Oracleのオブジェクト・タイプを含むマルチバイト・レポートでReports Builderがハングする

Oracleのオブジェクト・タイプが埋め込まれたマルチバイト・レポートを実行すると、Reports Builderが応答しなくなることがあります。この問題は、今後のパッチ・セットで修正される予定です。

これは既知の問題です。

20.3.4 Application Server ControlのReports Serverのジョブ・ステータス・メッセージに無効な文字が含まれる

中間層のキャラクタ・セットNLS_CHARACTERSETNLS_LANGの3番目のフィールド)がサーブレット・ロケールのReports Servletレスポンスのエンコーディングに対応していない場合、Application Server Controlコンソールの「ジョブ・ステータス」ページのOracle Reportsステータス・メッセージに無効な文字が表示されることがあります。


注意:

中間層のデフォルトのエンコーディングは、サーブレットのエンコーディングとは異なることがあります。たとえば、LANGjaまたはja_JP.eucJPに設定した場合、中間層システムのデフォルトのエンコーディングはEUCになります。しかし、このロケールではReports ServletのメッセージがShift_JISでエンコードされます。これは、ja_JPのデフォルトのエンコーディングが、サーブレットではShift_JISであるためです。

Oracle Enterprise Manager 10gでは、中間層のNLS_CHARACTERSETのメッセージがUTF8に変換されるため、「ジョブ・ステータス」ページのステータス・メッセージに無効な文字が表示されます。たとえば、LANGjaに、NLS_LANGJAPANESE_JAPAN.JA16EUCに設定して中間層を実行する場合、Reports ServletのメッセージはShift_JISでエンコードされます。しかし、Oracle Enterprise Manager 10gでは、元のメッセージがJA16EUCであるとみなされ、それがUTF8に変換されるため、ステータス・メッセージに無効なメッセージが表示されます。

20.3.5 重複ジョブの検出時にENVIDが無視される

新規に受信したジョブ・リクエストに重複がないか検出しているとき、そのジョブ・リクエストにキーワードTOLERANCEが含まれていると、Reports ServerはキーワードENVIDの値を無視します。その結果、ENVID以外のすべてのキーワードで値が同一のジョブを以前に受信している場合、そのジョブは重複とマークされます。

次にこの問題の例を示します。

レポート・リクエスト レポート ENVID TOLERANCE 出力
1 Japanese.rdf JA 10 期待された出力
2 Arabic.rdf UTF 10 期待された出力
3 Arabic.rdf AR 10 リクエスト2と同じ(不正)
4 Japanese.rdf JA 10 リクエスト1と同じ(正しい)

この例では、リクエスト4はENVIDキーワードを含むすべてのキーワードにリクエスト1と同じ値を使用しており、リクエスト1の重複として正しく認識されます。しかし、リクエスト3はリクエスト2の重複として誤って認識されます。これは、両方のリクエストが、ENVIDキーワードを除くすべてのキーワードに同じ値を使用しているためです。その結果、ENVIDに変更があったことが、リクエスト3では受け入れられません。この問題を回避するには、コマンドラインでTOLERANCEを指定しないか、または重複ジョブの検出時に異なるものとして処理されるようにジョブ・リクエストにダミーのユーザー・パラメータを指定します。

20.4 ドキュメントの記載内容の誤り

この項では、Oracle Reportsに関するドキュメントの記載内容の誤りについて説明します。

20.4.1 HP-UXでOracle Developer Suiteを使用できない

HP-UXでは、Oracle Developer Suite 10.1.2.0.2は出荷されません。Oracle Application Serverのインストレーション・ガイドの「Forms、ReportsおよびDiscoverer開発者トポロジ」で説明されている開発者トポロジは、HP-UXには適用されません。