Forms
診断テクニック
診断テクニック
診断テクニック
診断テクニック
Oracle
テクニカル
テクニカル・ホワイトペーパー
テクニカル
テクニカル
・ホワイトペーパー
・ホワイトペーパー
・ホワイトペーパー
2000
年
年
年
年6月
月
月
月
目次
目次
目次
目次
1. はじめに ... 1 1.1 目的 ... 1 1.2 対象読者 ... 1 1.3 用語 ... 1 1.4 問題解決のための診断アプローチ... 1 1.4.1 問題/セクションのマトリクス ... 3 2. FORMS SERVERの構成 ... 4 2.1 概要 ... 4 2.2 APPLETVIEWERの構成 ... 6 2.2.1 クライアントにAppletviewerをインストールする ... 6 2.2.2 テスト・フォームの作成 ... 7 2.2.3 Web Serverの構成 ... 7 2.2.4 Forms Listenerの起動 ... 8 2.2.5 HTMLファイルの作成 ... 9 2.2.6 Webを通じてフォームを実行する ... 11 2.3 APPLETVIEWERを使用する場合によくある問題 ... 12 2.3.1 Web Serverに接続できない ... 12 2.3.2 Web Serverの仮想ディレクトリが不適切 ... 12 2.3.3 CODEBASEが不適切 ... 13 2.3.4 Forms Listenerに接続できない ... 13 2.4 JINITIATORの構成... 13 2.4.1 Oracle JInitiatorをクライアントにインストールする ... 13 2.4.2 Oracle JInitiatorをロードするHTMLファイルを作成する ... 142.4.3 JInitiatorとMicrosoft Internet Explorer ... 14
2.4.4 JInitiatorとNetscape Navigator... 15
2.4.5 JInitiatorとNetscape NavigatorおよびInternet Explorer ... 18
2.4.6 自分のブラウザで使用されているOracle JInitiatorのバージョンを調べるには ... 19
2.4.7 NetscapeにインストールされているJInitiatorのバージョンを調べるには ... 19
2.5 ORACLE JINITIATORおよびINTERNET EXPLORERでのHTMLファイルの問題 ... 20
2.5.1 起動時にJARファイルを参照するjava.io.FileNotFoundException ... 20 2.5.2 起動時のパフォーマンスが悪く、多数のクラス・ファイルがロードされるが、JARファイルは 1つもロードされない ... 21 2.5.3 FRM-99999:Registry file http://ukp14998.uk.oracle.com/forms60codes/oracle/forms/registry/Registry.datが見つかりま せん ... 22 2.5.4 「ファイルが見つかりません」エラー ... 23 2.5.5 「Javaアプレットをロードしています...」というメッセージが表示されて、ブラウザが停止す る ... 24 2.5.6 アプレットが表示されず、赤いxと共に空のボックスが表示される ... 24 2.5.7 ブラウザを終了して再起動する必要がある場合 ... 25
3. FRM-99999エラー ... 29 3.1 FRM-99999の原因 ... 29 3.2 FRM-99999の解決法 ... 30 3.2.1 アプレットの表示内容 ... 30 3.2.2 Javaコンソールの表示内容 ... 32 3.2.3 サーバーは着信接続要求を認識したか? ... 33 3.2.4 サーバーで専用のFormsプロセスを起動するには ... 35 3.2.5 サーバーがクラッシュしたか? ... 36 3.3 判明しているFRM-99999の原因 ... 37 3.3.1 構成上の問題 ... 37 3.3.2 判明しているバグ ... 37 3.3.3 Forms 6.0のFRM-99999エラー ... 39 4. サーバーのクラッシュ ... 43 4.1 ダンプ・ファイルの情報の内容 ... 43 4.2 どのような手掛かりになるのか ... 45 4.3 複数の環境でのテスト ... 45 5. クライアントのクラッシュ ... 46 5.1 ダンプ・ファイルの例 ... 46 5.2 何が表示され、どのように役立つのか ... 48 6. アプリケーションの停止 ... 49 6.1 クライアントのスレッド・ダンプを入手する ... 49 6.2 スタック・ダンプの例 ... 49 6.3 何が表示され、どのように役立つのか ... 52 6.4 アプリケーションの停止を引き起こす一般的な原因 ... 52 7. 散発的なエラー ... 53 7.1 ネットワークの問題の診断... 53 7.2 PINGを使用してネットワークをチェックする ... 53 7.2.1 PINGの構文... 53 7.2.2 サンプル出力 ... 54 7.2.3 traceroute / tracertの使用... 55 7.2.4 netstatの使用 ... 56 7.2.5 問題の追跡 ... 57 7.3 FORMSのネットワーク統計 ... 57 7.4 メモリーの問題 ... 58 7.4.1 JVMランタイム・オプションの設定 ... 59 7.5 メモリー・リーク ... 60 7.5.1 メモリー・リークとは何か ... 60 7.5.2 Javaでのメモリー・リーク ... 61 7.5.3 メモリー・リークを識別する方法 ... 61 8. パフォーマンスの問題 ... 62 8.1 ORACLE JDKでのキャッシング ... 62 8.1.1 キャッシングとは何か ... 62 8.1.2 キャッシングが重要な理由 ... 62 8.1.3 キャッシングが使用可能かどうかを調べるには ... 62 8.1.4 OJDK 1.1.7.15でのパフォーマンスの向上 ... 63 8.1.5 OJCK 1.1.7.15の構成 ... 65
8.2.1 Forms Latency Meterとは何か ... 68
8.2.2 Forms Latency Meterを使用可能にする方法 ... 68
8.2.3 Latency Meterを使用する理由 ... 70 8.2.4 結果の例 ... 71 8.3 期待されるパフォーマンスの例 ... 71 付録A−FORMS SERVER接続アクティビティ・ログ機能 ... 72 A 1 サーバー・ログ機能をオンにする... 72 A 2 サンプル出力... 73
付録B−FORMS RUNTIME DIAGNOSTICS(FRD:FORMSランタイム診断機能) ... 77
B 1 FRDの起動 ... 77
B 1.1 コマンド・ラインからFRDを起動するには ... 77
B 1.2 WebからFRDを起動するには ... 78
B 1.3 Oracle Enterprise Manager(OEM)からFRDを起動するには ... 80
B 1.4 コマンド・ラインからFRDを起動するには ... 82 B 2 FRDの出力 ... 83 B 2.1 追跡対象のイベント ... 83 B 2.2 予想される出力 ... 83 B 2.2.1 ナビゲーション ... 83 B 2.2.2 トリガー ... 84 B 2.2.3 ビルトイン ... 85 B 2.2.4 メッセージ ... 86 B 2.2.5 ファイル・オープン... 86 B 2.2.6 未処理の例外... 86 B 2.3 データ・ダンプ ... 87 B 2.3.1 環境ダンプ ... 87 B 2.3.2 状態ダンプ ... 88 B 2.3.3 記録されるイベント/情報のマトリクス ... 89 B 3 FRD出力の利用法 ... 90 B 4 機能/バージョンのマトリクス ... 91 B 5 FRD定数 ... 91 付録C 用語集 ... 111
1.
はじめに
はじめに
はじめに
はじめに
1.1
目的
目的
目的
目的
本書では、Oracle Forms Server を使用して Web を通じてアプリケーションを実行するときに問題を解決する方 法を説明します。本書では、エラーの一般的な原因、インストレーションの検証方法、そして問題を診断する ためのテクニックとツールについて説明します。
1.2
対象読者
対象読者
対象読者
対象読者
本書は、Oracle Forms、特に Oracle Forms Server の問題の診断と解決を担当するユーザーを対象としています。 本書を読めば、診断プロセスについて理解し、情報を収集して最終的に問題を解決するためのテクニックと ツールが分かります。
本書の内容には Oracle E-Business Suite には適用されない部分が含まれているので、Oracle Application のシステ ム管理者は注意してください。Oracle E-Business Suite の動作環境は Oracle Forms Server 製品とは別に管理、確 認されており、実行しようとする処置が Oracle E-Business Suite でサポートされるものかどうかを オラクル社 のカスタマーサポートに確認してから、作業を行うようにしてください。
1.3
用語
用語
用語
用語
本書では、‘Forms Listener’とは、着信接続をリスニングするプロセスを意味します。‘Forms Runtime’およ び‘Forms Runtime Engine’とは、特定のユーザーから要求されたフォームを実行するためにサーバーで起動 されるプロセスのことで、‘Forms Server’とは Forms Listener と関連する Forms Runtime を意味します。
1.4
問題解決のための診断アプローチ
問題解決のための診断アプローチ
問題解決のための診断アプローチ
問題解決のための診断アプローチ
問題へのアプローチは人によって異なります。以下では、トランザクションのヒントをリストアップします。 このリストは、問題解決の絶対的な指針ではなく、必ず解決することが保証されるものではありませんが、複 雑な問題に対処する際の参考として利用してください。 • 体系的に考える − 直感や憶測から問題の原因と思われる部分に飛びつかないこと。まず、その他の可能性をすべて除 外できるかどうか考えてください。実際に痕跡が示している事実を見ようとせずに、自分の理論を 裏付けるような痕跡を探すのに長い時間を費やすことがよくあります。 − 小さいことや明らかな事実を見逃さないこと。 • 問題を小分けにしてみる。 − 問題を扱いやすい大きさに分割してください。こうすれば、調査範囲を絞り込むことができます。 納得いくまでその部分を調べてそこに問題がなければ、次の部分に進んでください。問題を診断す るには、基本的な部分にまで対象領域を狭めると効果的です。オラクル社のカスタマーサポートに 相談して解決策を入手する場合には、これが重要になります。− 何が起きたか、いつ起こったのか、どのように起こったのかを定義してください。また、何が起き なかったか、どのような場合には起こらなかったのか、を見極めることも同様に重要です。たとえ ば、同じ建物の中にいるユーザー全員にいつも午前 9 時から 10 時の間に問題が発生するとしたら、 別の建物や午前 10 時以降には問題が起きていないかどうかを確認することが重要です。午前 9 時か ら 10 時の間にユーザーが特定のプラットフォームを使用しているだけなのか、あるいは午前 9 時か ら 10 時が最もシステム負荷が高いという可能性もあります。 • エラー・メッセージを読む − 当たり前のようですが、時にはエラー・テキストに必要な情報がはっきり書かれていることがあり ます。残念ながら、エラー・メッセージの解釈はいつも簡単というわけではありません。
たとえば、JInitiator と Internet Explorer を使用している場合、CODEBASE タグを省略すると、次のよ うなエラー・メッセージが表示されます。 FRM-99999: レジストリ・ファイル http://ukp14998.uk.oracle.com/oracle/forms/registry/Registry.dat がありません。 ここでは次のようなファイルが見当たらないと報告されています。 http://ukp14998.uk.oracle.com/oracle/forms/registry/Registry.dat ukp14998.uk.oracle.comというマシンと勘違いしそうですが、Forms 6 のインストレーションではこれ に対応するディレクトリ構造があり、実際に Registry.dat というファイルが存在します。ただし、URL はこのファイルを参照していないので、ブラウザでこのファイルにアクセスしようとすると、次の ようなエラーが表示されます。 HTTP/1.0 404 Not Found − 本書はエラー・メッセージを理解し、どのような処置を取ったら良いのかを判断する上で役立ちま す。 • 可能であれば、問題を再現できるかどうか確認してください。 − 問題を自分で再現できれば、エンドユーザーが見過ごした動作に気づくことがあるかも知れません。 必ず発生していたためにエンドユーザーがエラーと考えていなかったような動作もありえます。問 題を再現できなければ、解決への一歩を踏み出していることになります。このような状況ではラッ プトップ・コンピュータが大変重宝します。自分のデスクで問題を再現できなければ、ラップトッ プをユーザーの所まで持って行って、そこで再現できるかどうか確かめてください。再現できれば、 原因はソフトウェアの構成とは考えにくく、2 つのデスクでのネットワーク接続の違いにあると考え られます。
• 使用しようとしているツールを理解していることを確認してください。 診断ツールを使用する場合には、そのツールの使用法と、ツールによって表示されるデータの解釈の方 法を理解しているかどうか確認してください。問題が発生する前に、十分時間をかけてツールを理解し ておくことです。通常は、問題が発生してからは時間との戦いになり、ツールのことをゆっくり勉強し ている余裕はありません。 1.4.1 問題問題/セクションのマトリクス問題問題セクションのマトリクスセクションのマトリクスセクションのマトリクス 本書は非常に長いので、以下の表を手掛かりに特定の問題に関連するセクションを探してください。 Forms Serv er の構成の構成の構成の構成 FR M-999 99 エラーエラーエラーエラー サーバーのク ラッシュ サーバーのク ラッシュ サーバーのク ラッシュ サーバーのク ラッシュ クライアント のクラッシュ クライアント のクラッシュ クライアント のクラッシュ クライアント のクラッシュ アプリケーシ ョンの停止 アプリケーシ ョンの停止 アプリケーシ ョンの停止 アプリケーシ ョンの停止 散発的な問題散発的な問題散発的な問題散発的な問題 パフォーマン スの問題 パフォーマン スの問題 パフォーマン スの問題 パフォーマン スの問題 接続アクティ ビテイ 接続アクティ ビテイ 接続アクティ ビテイ 接続アクティ ビテイ ・ログ機 能 ・ログ機 能 ・ログ機 能 ・ログ機 能 Forms Runti m e 診断機能診断機能診断機能診断機能 問題 問題問題 問題/章章章章 2 3 4 5 6 7 8 A B フォームが起動しない ○ ○ 一部のフォームが起動しない ○ ○ ○ FRM-99999 ○ ○ ○ ○ ○ ○ クライアントでの Java エラー ○ ○ クライアントのクラッシュ ○ ○ サーバーのクラッシュ ○ ○ ○ ○ アプリケーションの停止 ○ ○ ○ ○ 断続的な問題 ○ ○ ○ Formsの起動が遅い ○ ○ ○ 起動後のパフォーマンスが悪い ○ ○ ○
2.
FORMS SERVER
の構成
の構成
の構成
の構成
ここでは、最も簡単な実装方法を使用して Forms Server を構成する手順と、正常にインストールされたことを 確認する方法を説明します。
Forms Serverおよび Forms Server アーキテクチャの構成に関する詳細は、オンライン・ヘルプを参照してくだ さい。また、以下の Oracle Web サイトでも関連するホワイトペーパーを参照できます。 http://www.oracle.com http://otn.oracle.com http://metalink.oracle.com http://otn.oracle.co.jp (日本語)
2.1
概要
概要
概要
概要
初めて Forms Server をセットアップする場合、または新しいマシンに Forms Server をインストールできない場 合は、まず最も簡単なインストール方法を試してテクノロジを「実証」することをお奨めします。この後で、 他の機能を追加しながら、最終的に希望する構成になるまでテストしていきます。こうすれば、基本的な Forms
Serverが適切にインストールされていること、Web Server が適切に構成され、正常に機能していること、そし
て、クライアント・マシンが Forms Server と Web Server の両方と通信できることを確認できます。 Oracle Forms Serverはさまざまな組み合わせで構成できます。
• 静的 HTML − 最も分かりやすい実装形式です。この方法では、アプレットが Forms Listener との対話を開始するた めに必要なすべての情報と、Forms Server がフォームを実行するのに必要なすべての情報が HTML ファイルに入ります。 • カートリッジ − この実装方法では、渡される URL に関係なく、カートリッジは一部の情報を認識できます。カート リッジに URL が渡されると、カートリッジは URL で渡された追加情報をもとに、フォームを実行 するために必要な HTML ファイルを生成します。 • CGI − 6iの新機能
− Forms CGIは、Forms カートリッジと同じ機能を提供しますが、CGI をサポートするどの Web Server にも使用できます。Forms CGI は URL の一部として渡されたパラメータを使用して、動的に HTML ファイルを作成します。また、プライマリ・ノードとセカンダリ・ノードの間のロード・バランス も可能になります。
• Appletviewer
− Appletviewerは、Javasoft が Java Development Kit で提供するアプリケーションです。Appletviewer を 使用すれば、ユーザーは Java Applet を表示できます。Appletviewer でアプレットを実行するには、関 連する APPLET タグを含んだ HTML ファイルが必要ですが、Appletviewer で HTML を表示すること はできません。
− Formsには、Oracle JDK(OJDK)に基づく Appletviewer のコピーが含まれています。Oracle JDK は、
Javasoft JDKに基づいており、安定性とパフォーマンスを向上させるためにバグ fix が追加されてい
るだけで、JDK の Oracle 固有の実装ではありません。
− Appletviewerと Oracle E-Business Suite 11i との動作はまだ確認されていません。 • JInitiator
− JInitiatorは、Oracle JDK に基づく Java Runtime Environment(Java 実行環境)を提供するブラウザの プラグインです。このプラグインを使用すれば、ユーザーは各自のブラウザが提供するのとは別の
Java バージョンが必要なアプレットを実行することができます。つまり、アプレットの実行はプラ
グインによって処理されます。JInitiator を使用すれば、ユーザーは使い慣れたブラウザを使用するこ とができます。JInitiator の使用法については、セクション 2.4 で詳しく説明します。
• ネイティブ・ブラウザ
− ブラウザの中には Java Runtime Environment が組み込まれているものがあります。最新の JRE を実装 するベンダーが増えてきていますから、このようなブラウザのリストは常に更新されています。ネ イテ ィブ ・ブ ラウ ザ のサ ポー ト に 関す る 情報 は、 http://otn.oracle.com/products/developer/ ま た は http://otn.oracle.co.jp/を参照してください。
さらに、Forms Runtime と Java アプレットの間で使用する通信プロトコルを選択できます。 • ソケット − インターネット・ベースのテクノロジでは通信に「ソケット」を使用するものが多数あります。ソ ケットとは、ネットワークを通じて通信するプログラムのナンバリング・システムのようなものだ と考えてください。クライアントとサーバーは、ソケットまたはポート番号(等々)でそれぞれ識 別されます。クライアントとサーバー間のプログラム部分の通信は、いわゆる「ソケット接続」を 通じて行われます。 − Forms 4.5.10.x、5.0.x、6.0.x、6i でサポート。 − サーバーとの通信には TCP/IP プロトコルを使用。 − 6iではデフォルトの通信方法。 • HTTP
− このモードでも「ソケット接続」が使用されますが、Forms Server と Java クライアントの間でやり
取りされるメッセージが HTTP パケットにカプセル化される HTTP ソケット接続が使用されます。 − 6.0ではベータ、6i ではプロダクション。
− ファイアーウォールを通じた通信が可能。 − HTTP 1.1を使用。
− インターネットを通じた安全な通信を確保するために SSL をサポート。
2.2 APPLETVIEWER
の構成
の構成
の構成
の構成
この要件リストでは、すでに Web Server が機能し、各プラットフォームのインストール手順にしたがって Forms
Serverがインストールされていることを前提としています。Web Server を実行していない場合は、インストー
ルしてください。インストールする前に、Web Server が HTML ページに対応していることを確認してください。
2.2.1 クライアントにクライアントに Appletviewer をインストールするクライアントにクライアントに をインストールするをインストールするをインストールする
Appletviewerは、Oracle Forms Server の配布 CD に含まれています。Appletviewer は、Oracle の Web サイト から もダウンロードできます。 Appletviewerにはいくつかのバージョンがあり、すべての構成で Appletviewer の使用がサポートされるわけで はありません。詳細は、オラクル社のカスタマーサポートにお問い合わせください。 Appletviewerが適切にインストールされていることを確認するには、MSDOS コマンド・プロンプト・ウィンド ウを開き、Appletviewer がインストールされているディレクトリ(c:¥appletviewer など)を参照し、<インストー ル・ディレクトリ>¥jdk¥bin ディレクトリにナビゲートして、次のように入力してください。 appletviewer Appletviewer がインストールされていれば、コマンドの使用法を説明したメッセージが表示されます。 Appletviewer がインストールされていない場合は、コマンドを認識できません、というメッセージが表示され ます。1
Microsoft(R) Windows NT(TM)
(C) Copyright 1985-1996 Microsoft Corp.
D:¥>cd jdk¥1_1_7_20o¥bin
D:¥jdk¥1_1_7_20o¥bin>appletviewer
usage: appletviewer [-debug] [-J<runtime flag>] url|file ...
D:¥jdk¥1_1_7_20o¥bin>cd .. D:¥jdk¥1_1_7_20o>appletviewer 指定した名前は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されません。 D:¥jdk¥1_1_7_20o> 2.2.2 テストテスト・フォームの作成テストテスト・フォームの作成・フォームの作成・フォームの作成 Forms Serverが適切にインストールされているかどうかをテストするには、簡単なフォームが必要です。アプ リケーションから「簡単な」フォームを選ぶのは避けてください。アプリケーションのフォームは実際にはそ れほど簡単なものではなく、特定のカスタマイズ・メニューや付属のライブラリ、データベース接続などが必 要になることが多いからです。 簡単なフォームとは、データベース接続が不要で、簡単なキャンバスといくつかのテキスト、ボタンで構成さ れることが条件です。 2.2.3 Web Serverの構成の構成の構成の構成 Forms Serverソフトウェアをインストールして、インストールをテストするための簡単なフォームを作成した ら、Web Server の基本構成を行う必要があります。
最も簡単な構成で実行する場合、Forms Server を特に構成する必要はありません。Web Server が HTTP リクエ ストに対応できれば、それで十分です。自分で Web Server を選ぶ場合は、いくつかの仮想ディレクトリを作成 する必要があります。仮想ディレクトリとは、サーバー・マシン上の 1 つのディレクトリのエイリアスです。 仮想ディレクトリの細かい作成方法は、使用する Web Server によって異なりますから、ご使用の Web Server のマニュアルを参照してください。
各 Web Server に指定された適切な方法で、以下のような仮想ディレクトリを作成してください。
仮想ディレクトリ 仮想ディレクトリ仮想ディレクトリ
仮想ディレクトリ NT物理ディレクトリ物理ディレクトリ物理ディレクトリ物理ディレクトリ UNIX物理ディレクトリ物理ディレクトリ物理ディレクトリ物理ディレクトリ
forms60code %ORACLE_HOME%¥forms60¥java %ORACLE_HOME%/forms60/java
仮想ディレクトリの実際の名前は重要ではありませんが、HTML ファイルに指定された名前と一致している必 要があります。
新しい仮想ディレクトリは、Forms アプレットの Java クラス・ファイルを参照します。この仮想ディレクトリ が入っているファイルへの参照が含まれる URL を検出すると、Web Server は仮想ディレクトリをマッピング で指定された物理ディレクトリに置き換えて、実際のファイル名を作成しようとします。
例:
仮想ディレクトリ=mystuff 物理ディレクトリ=/u01/website/misc
URL:http://test=pc.uk.oracle.com/mystuff/test.html /u01/website/misc/test.html
2.2.4 Forms Listenerの起動の起動の起動の起動
Forms Listenerを起動する構文は、オペレーティング・システムや Forms のバージョンによって異なります。
手動でリスナーを起動するには、以下の表を参照してください。 オペレーティング オペレーティングオペレーティング オペレーティング・・・・ システム システム システム システム バージョン バージョン バージョン バージョン コマンドコマンドコマンドコマンド NT FORMS 4.5 f45srv32 port=<ポート番号> NT FORMS 5.0 f50srv32 port=<ポート番号>
NT FORMS 6.0 if60srv -listen port=<ポート番号> UNIX FORMS 4.5 f45ctl start port=<ポート番号> UNIX FORMS 5.0 f50ctl start port=<ポート番号> UNIX FORMS 6.0 f60ctl start port=<ポート番号>
詳細はオンライン・ヘルプと、『Forms Server 接続アクティビティ・ロギング(付録 A)』を参照してください。
サーバーが正常に起動したかどうかを確認するには、実行中のプロセスのリストをチェックしてください。 UNIXでは、ps コマンドを使用します。Forms のリリースによって、プロセスは f45srvm、f50srvm、または f60srvm という名前になります。
例:
cxlewis-sun.us.oracle.com [7] > ps -ef | grep f60srvm cxlewis 18723 18638 0 02:47:30 pts/4 0:00 grep f60srvm cxlewis 18714 18638 0 02:47:08 pts/4 0:00 f60srvm port=9000 cxlewis 18718 18638 0 02:47:20 pts/4 0:00 f60srvm port=9001
Forms Listenerがどのポートをリスニングしているか分からない場合は、リスナーを起動し、使用するポートを 指定してください。Forms Listener を終了してから再起動しても、実行中の Forms Runtime プロセスには影響は ありません。
Forms Listenerを起動すると、別の Forms プロセスが作成されることがしばしばあります。この追加プロセスは、
事前に生成される Forms Runtime で、Forms Listener はこのプロセスを最初の着信接続要求に使用します。この プロセスを事前生成することで、最初の接続時間を短縮できます。pool パラメータを使用して、リスナー起動 時に事前生成されるプロセスの数を設定できます。
たとえば、次のような文は Forms Listener を起動し、Forms Runtime エンジンをあらかじめ 10 作成します。 ifsrv60 -listen port=6000 pool=10
2.2.5 HTMLファイルの作成ファイルの作成ファイルの作成ファイルの作成 Forms Serverが適切にインストールされ、正常に機能していることを確認するには、HTML ファイルを作成す る必要があります。HTML ファイルは、クライアントにどの Java アプレットを実行するかを指示し、Java ラン タイムまたは Forms Server に必要な他の引数を渡します。以下は、デモで使用するサンプル HTML ファイルに 基づいた非常に簡単な HTML ファイルの一例です。(たとえば NT などに)デモをインストールしてある場合、 このファイルは次のようになります。 C:¥ORANT¥TOOLS¥DEVDEM60¥WEB¥STATIC.HTM
HTMLファイルの例ファイルの例ファイルの例ファイルの例
<HTML>
<!-- FILE: static.html -->
<!-Oracle静的(非カートリッジ)HTMLファイル・テンプレート(Windows NT)--> <!-必要に応じて名前を変更し、タグおよびパラメータ値を変更する-->
<HEAD><TITLE>Oracle Forms Server</TITLE></HEAD>
<BODY><BR>Please wait while the Forms Client class files download and run. <BR>This will take a second or two...
<P> <!-アプレットの定義(開始) --> <APPLET CODEBASE="/forms60code/" CODE="oracle.forms.engine.Main" ARCHIVE="/forms60code/f60web.jar" HEIGHT=20 WIDTH=20>
<PARAM NAME="serverPort" VALUE="9000">
<PARAM NAME="serverArgs" VALUE="module=c:¥temp¥nolog">
<PARAM NAME="serverApp" VALUE="default"> </APPLET> <!-アプレットの定義(終わり)--> </BODY> </HTML> 基本インストールで変更が必要な個所は、ハイライト表示された項目だけです。2 HTMLタグタグタグタグ 使用目的使用目的使用目的使用目的 コメントコメントコメントコメント CODEBASE アプレットを起動するときに初期クラ スの実行を開始する(CODEに指定さ れた)場所。 手順2.2.3で定義した仮想ディレクトリ。
ARCHIVE JARファイルの場所。JARファイルは
Javaクラス・ファイルのまとまり。
別の仮想ディレクトリでも可能です。ただし、
Formsの標準インストールでは、jarファイルは クラス・ファイルと同じディレクトリにインストー ルされます。
serverPort アプレットがForms Listenerとの 通信に使用するポートの番号。
デフォルト値は9000。ここに指定する値は、リス
ナーによって使用されるポート番号と一致してい る必要があります。
ServerArgs Forms ListenerからForms Web Runtimeプロセスに渡されるコマン ド・ライン。 サーバー・プラットフォームでifrun60または f60runmを実行する場合と同じ制限が構文に課せ られる点に注意してください。。つまり、Forms ServerにFORMS60_PATHが定義されていない場 合は、Formsモジュールの完全ファイル名を指定 する必要があります。 このファイルを作成して、関連するパラメータを変更したら、クライアント・マシンの Web ブラウザが参照で きるサーバー上の場所にファイルを置いてください。別の仮想ディレクトリを定義することもできます。 クライアント・マシンからこのファイルが参照できるかどうか確認するには、次のように Web ブラウザを使用 してください。 ブラウザのステータス行にエラーが表示されても慌てる必要はありません。このテストの目的は、URL が適切 に解決できるかどうかを確認することです。ページ・ソースを表示できれば(Netscape では、メニューから「表 示」→「ページ・ソース」を選択します。Internet Explorer では、「表示」→「ソース」を選択してください)、 読み込まれたページが適切なページかどうかを確認できるはずです。適切なページでなければ、URL に指定し た仮想ディレクトリ(ページの中に指定した仮想ディレクトリではないので注意してください。仮想ディレク トリを参照するページには何もロードされませんから、問題にはならないはずです)と、Web Server の構成を 確認してください。 2.2.6 Webを通じてフォームを実行するを通じてフォームを実行するを通じてフォームを実行するを通じてフォームを実行する
Forms Listenerを起動し、HTML ファイルをテストしたら、クライアントの Appletviewer を使用してテストを実 行できます。これには、コマンド・プロンプトを開いて、JDK¥BIN ディレクトリにナビゲートし、次のような コマンドを入力してください。
appletviewer <URL> 例:
2.3 APPLETVIEWER
を使用する場合によくある問題
を使用する場合によくある問題
を使用する場合によくある問題
を使用する場合によくある問題
上記の方法でセットアップを実行できない場合は、以下のよくある問題とその解決方法に関する説明を参照し てください。 2.3.1 Web Serverに接続できないに接続できないに接続できないに接続できない Web Serverがダウンしているか、サーバーのアドレスに入力ミスがあると、次のようなエラー・メッセージが 表示されます。 C:¥users>appletviewer "http://notarealserver/test.html" I/O exception while reading: notarealserverIs http://notarealserver/test.html the correct URL?
デフォルトでは、ほとんどの Web Server はポート 80 で URL 要求をリスニングするように設定されています。 アクセス先のポートが違っていると、次のようなエラー・メッセージが表示されます。
C:¥users>appletviewer "http://cxlewis-sun.us.oracle.com:99/test.html" I/O exception while reading: Connection refused
Is http://cxlewis-sun.us.oracle.com:99/test.html the correct URL?
2.3.2 Web Serverの仮想ディレクトリが不適切の仮想ディレクトリが不適切の仮想ディレクトリが不適切の仮想ディレクトリが不適切
URLに指定した仮想ディレクトリが、アプリケーション・サーバー上に定義されていないと、次のようなエ
ラー・メッセージが表示されます。
C:¥users>appletviewer "http://ukp14901.uk.oracle.com/webhtml/testx.html"
Warning: No Applets were started. Make sure the input contains an <applet> tag. usage: appletviewer [-debug] [-J<javaflag>] [-encoding <character encoding type>
2.3.3 CODEBASEが不適切が不適切が不適切が不適切
コードベース仮想ディレクトリがセットアップされていないと、次のようなエラー・メッセージが表示されま す。
C:¥users>appletviewer "http://ukp14901.uk.oracle.com/webhtml/nocodebase.html" JAR caching enabled.
Cache directory: d:¥jdk¥1_1_7_21o¥bin¥..¥jcache Maximum cache size: 20971520 bytes
Unable to contact http://ukp14901.uk.oracle.com/forms60jarsxxx/f60all.jar
java.io.FileNotFoundException: http://ukp14901.uk.oracle.com/forms60jarsxxx/f60all.jar at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Compiled Code) at sun.net.www.protocol.http.HttpURLConnection.openConnectionCheckRedire cts(Compiled Code) at sun.applet.JARCache.beginStoring(JARCache.java:224) at sun.applet.AppletResourceLoader.loadJar(AppletResourceLoader.java:184) at sun.applet.AppletPanel.loadJarFiles(Compiled Code) at sun.applet.AppletPanel.runLoader(AppletPanel.java:392) at sun.applet.AppletPanel.run(Compiled Code) at java.lang.Thread.run(Thread.java:466) 2.3.4 Forms Listenerに接続できないに接続できないに接続できないに接続できない アプリケーション・サーバーで Forms Listener が起動していない場合や、HTML ファイルに指定されたポート と Forms Listener が接続しているポートが一致していない場合、アプレットは FRM-99999 エラーを表示します。 FRM-99999エラーを解決する方法については、セクション 3 を参照してください。
2.4 JINITIATOR
の構成
の構成
の構成
の構成
以下の説明は、Forms Server が構成済みで、Appletviewer を使用して簡単なフォームが適切に配備されているこ とを前提としています。
2.4.1 Oracle JInitiatorをクライアントにインストールするをクライアントにインストールするをクライアントにインストールするをクライアントにインストールする
Windows NTまたは 95/98 を実行するクライアント PC に Oracle JInitiator をインストールします。インストール 方法については、インストール・ガイドを参照してください。Oracle JInitiator は、Oracle Developer Server の配 布 CD に含まれています。また、Oracle の Web サイト(http://otn.oracle.com等)から最新のバージョンをダウ ンロードできます。Oracle JInitiator をインストールするには、配布 CD に含まれている(またはダウンロード した)jinit.exe インストール実行プログラムを実行する必要があります。Oracle JInitiator の基本インストールに ついては後述しますが、使用している各バージョンで選択可能なオプションの詳細については、次のような ファイルを参照してください。
ファイル ファイル ファイル
ファイル 内容内容内容内容
jinit_tags.htm Netscapeと Internet Explorer で HTML タグを使用する方法の説明。
readme.htm Oracle JInitiator とブラウザのバージョン間の互換性およびサポートされ
る MIME タイプと classid についての詳しい説明。
上記ファイルの格納場所は JInitiator に選択されたインストール・ディレクトリによって異なります。
2.4.2 Oracle JInitiatorをロードするをロードする HTML ファイルを作成するをロードするをロードする ファイルを作成するファイルを作成するファイルを作成する
Formsアプレットの実行に Oracle JInitiator を使用することをブラウザに認識させるには、適切な HTML ファイ ルを作成する必要があります。適切な静的 HTML ファイルの一例(static_jinit.htm)は、Oracle JInitiator の docs ディレクトリに入っています。この HTML ファイルには、Netscape と Internet Explorer で Oracle JInitiator を使 用するために必要な情報が入っています。この 2 つのブラウザでは JInitiator などのプラグインをロードするの に使用される構文が異なるため、HTML ファイルに含まれる情報が重複している場合があります。<EMBED> タグで囲まれた情報は Netscape で、<OBJECT>タグで囲まれた情報は Internet Explorer でそれぞれ認識されます。
2.4.3 JInitiatorとととと Microsoft Internet Explorer
以下は、Microsoft Internet Explorer(Explorer)用の HTML ファイルの一例です。Explorer 用の HTML ファイル は、Oracle JInitiator を直接参照せず、ロードされるオブジェクトの classid を定義するだけです。Oracle JInitiator をインストールすると、その classid が登録され、これにより Explorer は JInitiator を使用することを認識します。
Internet Explorerのののの HTML ファイルの例ファイルの例ファイルの例ファイルの例
<HTML> <HEAD>
<TITLE>Oracle Developer Server and Oracle JInitiator</TITLE> </HEAD> <BODY> <OBJECT classid="clsid:aa44da02-7f61-11d4-a3e1-00c04fa32518" WIDTH=600 HEIGHT=480 codebase="http://acme.com/jinit11732.exe#Version=1.1.7.32"> <PARAM NAME="CODE" VALUE="oracle.forms.engine.Main"> <PARAM NAME="CODEBASE" VALUE="/forms60code/">
<PARAM NAME="ARCHIVE" VALUE="/forms60code/f60all.jar"> <PARAM NAME="type"
VALUE="application/x-jinit-applet;version=1.1.7.32"> <PARAM NAME="serverPort" VALUE="9000">
Developer Forms 63 の基本インストール用に変更する必要があるのは、ハイライト表示された部分だけです。 タグ タグ タグ タグ 使用目的使用目的使用目的使用目的 コメントコメントコメントコメント classid ロードされるアプリケーションの classidです。Explorerはこの IDをもとに、このアプリケーショ ンのサポートに必要なモジュール を判断し、該当するモジュールを ロードします。 値はインストールされているJInitiatorのバー ジョンによって異なります。使用している JInitiatorのバージョンの適切な値については、
Oracle JInitiatorのreadme.htmファイルを参 照してください。 Codebase このタイプのアプリケーションを 処理できるモジュールを Explorerで検出できない場合、 ユーザーはこのURLからプログラ ム(Oracle JInitiator)のコ ピーをダウンロードできます。 Oracle JInitiatorを手動でインストールした場合 は、今の時点ではこのエントリは無視して構いません。 ただし、エントリPARAM NAME=“CODEBASE”と混同 しないようにしてください。 PARAM NAME= "CODEBASE" このエントリは、サーバー上の Javaクラス・ファイルのルート・ ディレクトリを参照します。 これはステップ2.2.3で定義した仮想ディレクトリ です。 PARAM NAME= "ARCHIVE" JARファイルの検索先をJVMに指 示します。 別の仮想ディレクトリでも可能です。ただし、Forms の標準インストールでは、jarファイルはクラス・ファ イルと同じディレクトリにインストールされます。 PARAM NAME= "TYPE" ロードされるアプリケーションの MIMEタイプ。 PARAM NAME= "serverPort" アプレットがForms Listener との対話に使用するポートの番 号。 デフォルト値は9000です。ここに指定する値は、 Forms Listenerによって使用されるポート番号と 一致している必要があります。 PARAM NAME= "serverArgs"
Forms ListenerからForms Web Runtimeプロセスに渡され るコマンド・ライン。 サーバー・プラットフォームでifrun60または f60runmを実行する場合と同じ制限が構文に課せら れる点に注意してください。。つまり、Forms Server にFORMS60_PATHが定義されていない場合は、Forms モジュールの完全ファイル名を指定する必要がありま す。
2.4.4 JInitiatorとととと Netscape Navigator
以下は、Netscape Navigator用の HTML ファイルの一例です。Netscape用の HTML ファイルは、プラグイン Oracle JInitiatorを直接参照せず、処理可能な MIME タイプを定義するだけです。Netscape は各 MIME タイプに使用す るプラグインを認識します。 <HTML> 3 Formsの以前のバージョンでは、CODEパラメータは上記とは異なります。適切な値は、ソフトウェア に付属のサンプルHTMLを参照してください。
<HEAD>
<TITLE>Oracle Developer Server and Oracle Jinitiator with Netscape</TITLE> </HEAD> <BODY> <EMBED type="application/x-jinit-applet;version=1.1.7.32" width="600" height="600" java_code="oracle.forms.engine.Main" java_codebase="/forms60code/" java_archive="f60all.jar" serverport="9000"
serverargs="module=c:¥temp¥nolog" serverapp="default" PLUGINSPAGE="http://ukp15069.uk.oracle.com/jinit_download.htm" > <NOEMBED> </BODY> </HTML> Developer Forms 64 の基本インストール用に変更する必要があるのは、ハイライト表示された部分だけです。 タグ タグ タグ タグ 使用目的使用目的使用目的使用目的 コメントコメントコメントコメント Type ロードされるアプリケーションの MIMEタイプです。Netscapeはこ のMIMEタイプをサポートできる プラグインをロードします。 値はインストールされているJInitiatorのバー ジョンによって異なります。適切な値については、doc ディレクトリのreadme.htmを参照してください。 例:type=“application/x-jinit-applet”
このMIMEタイプはOracle JInitiatorのどのバー ジョンでも動作します。ただし、JInitiatorの複数 のバージョンをインストールしてある場合は、常に最 新のバージョンが選択されるとは限りません。した がって、JInitiatorの必要なバージョンを指定する ことを推奨します。 java_codebase このエントリは、サーバー上の Javaクラス・ファイルのルート・ ディレクトリを参照します。 これはステップ2.2.3で定義した仮想ディレクトリ です。 Java_archive JARファイルの検索先をJVMに指 示します。 別の仮想ディレクトリでも可能です。ただし、Forms の標準インストールでは、jarファイルはクラス・ファ イルと同じディレクトリにインストールされます。
serverport アプレットがForms Listener
との対話に使用するポートの番
デフォルト値は9000です。ここに指定する値は、
serverarg Forms ListenerからForms Web Runtimeプロセスに渡され るコマンド・ライン。 サーバー・プラットフォームでifrun60または f60runmを実行する場合と同じ制限が構文に課せら れる点に注意してください。。つまり、Forms Server にFORMS60_PATHが定義されていない場合は、Forms モジュールの完全ファイル名を指定する必要がありま す。 PLUGINSPAGE このタイプのアプリケーションを 処理できるプラグインを Explorerで検出できない場合、 ユーザーはこのURLからプラグイ ン(Oracle JInitiator)のコ ピーをダウンロードできます。 Oracle JInitiatorを手動でインストールした場合 は、今の時点ではこのエントリは無視して構いません。
2.4.5 JInitiatorとととと Netscape Navigator およびおよびおよびおよび Internet Explorer
以下は、Netscape と Internet Explorer の両方に適用される JInitiator のタグです。
<HTML>
<!-- FILE: static_jinit.html -->
<!-Oracle静的(非カートリッジ)HTMLファイル・テンプレート(Windows NT) --> <!-タグとパラメータがOracle JInitiator用に変更されている-->
<HEAD><TITLE>Developer Server and Oracle JInitiator</TITLE></HEAD>
<BODY> <P> <OBJECT classid="clsid:aa44da02-7f61-11d4-a3e1-00c04fa32518" WIDTH=600 HEIGHT=480 codebase="http://acme.com/jinit11732.exe#Version=1.1.7.32"> <PARAM NAME="CODE" VALUE="oracle.forms.engine.Main" > <PARAM NAME="CODEBASE" VALUE="/forms60code/" >
<PARAM NAME="ARCHIVE" VALUE="/forms60code/f60all.jar" > <PARAM NAME="type" VALUE="application/x-jinit-applet"> <PARAM NAME="serverPort" VALUE="6000">
<PARAM NAME="serverArgs" VALUE="module=c:\users¥web¥forms¥f60test"> <PARAM NAME="serverApp" VALUE="default">
<COMMENT> <EMBED type="application/x-jinit-applet" java_CODE="oracle.forms.engine.Main" java_CODEBASE="/forms60code/" java_ARCHIVE="/forms60code/f60all.jar" WIDTH=500 HEIGHT=550 serverPort="6000"
serverArgs="module=c:¥users¥web¥forms¥f60test" serverApp="default" pluginspage="http://ukp14901.uk.oracle.com/download/jinitiator/jinit_download.htm"> <NOEMBED> </COMMENT> </NOEMBED></EMBED> </OBJECT> </BODY> </HTML>
2.4.6 自分のブラウザで使用されている自分のブラウザで使用されている Oracle JInitiator のバージョンを調べるには自分のブラウザで使用されている自分のブラウザで使用されている のバージョンを調べるにはのバージョンを調べるにはのバージョンを調べるには
JInitiatorを使用して Forms を実行しているときに、使用されている Oracle JInitiator のバージョンを調べるには、
Java Consoleを使用可能にする必要があります。詳細は、セクション 3.2.2 を参照してください。
JInitiatorの EMBED タグまたは OBJECT タグを参照するページが参照されると、コンソールが現れ、バージョ ン番号が表示されます。
2.4.7 Netscapeにインストールされているにインストールされている JInitiator のバージョンを調べるにはにインストールされているにインストールされている のバージョンを調べるにはのバージョンを調べるにはのバージョンを調べるには
JInitiatorのどのバージョンがインストールされているか、またそのバージョンでサポートされる MIME タイプ
を調べるには、Netscape メニューから「ヘルプ」→「プラグインについて」の順に選択してください。出力に 次のような情報が表示されます。
Oracle JInitiator 1.1.7.11 for Netscape Navigator
File name: C:¥Program Files¥Netscape¥Communicator¥Program¥plugins¥NPJinit-11711.dll Oracle JInitiator 1.1.7.11 for Netscape Navigator with OJDK/JRE 1.1.7.11
Mime Type Description Suffixes Enabled
application/x-jinit-applet Java Applet class Yes
application/x-jinit-applet;version=1.1.5.3 Java Applet class Yes
application/x-jinit-applet;version=1.1.5.21.1 Java Applet class Yes
application/x-jinit-applet;version=1.1.7.9 Java Applet class Yes
application/x-jinit-applet;version=1.1.7.10 Java Applet class Yes
application/x-jinit-applet;version=1.1.7.11 Java Applet class Yes
Oracle JInitiator 1.1.7.18 for Netscape Navigator
File name: C:¥Program Files¥Netscape¥Communicator¥Program¥plugins¥NPJinit-11718.dll Oracle JInitiator 1.1.7.18 for Netscape Navigator with OJDK/JRE 1.1.7.18
Mime Type Description Suffixes Enabled
application/x-jinit-applet Java Applet class No
上記の出力を見ると、JInitiator の二つのバージョン がインストールされていることが分かります。ただし、バー ジョン指定なしで汎用的に application/x-init-applet MIME タイプが指定された場合、Enabled(使用可能)とマー クされている JInitiator の古い方のバージョンが使用されます。
2.5 ORACLE JINITIATOR
および
および
および
および INTERNET EXPLORER での
での
での
での HTML ファイルの問題
ファイルの問題
ファイルの問題
ファイルの問題
2.5.1 起動時に起動時に JAR ファイルを参照する起動時に起動時に ファイルを参照するファイルを参照するファイルを参照する java.io.FileNotFoundException
ARCHIVEタグの VALUE が間違っていると、このエラーが発生します。ARCHIVE タグが適切な仮想ディレク
トリを参照しているかどうか、またこの仮想ディレクトリが適切に構成されているかどうかを確認してくださ い。また、JAR ファイルの名前が適切かどうかもチェックしてください。ARCHIVE タグが次のように指定さ れている場合には:
<PARAM NAME="ARCHIVE" VALUE="/forms60code/f60all.jar"> 以下を参照するようにブラウザに指定してください。 http://yourserver/forms60code/f60all.jar これで「HTTP/1.0 404 Not Found」エラーが表示されるようなら、仮想ディレクトリの構成に問題があります。 /forms60code/の代わりにの代わりにの代わりにの代わりに/forms60codes/を使用した場合の出力を使用した場合の出力を使用した場合の出力を使用した場合の出力 Opening http://ukp14998.uk.oracle.com/forms60codes/f60all.jar proxy=emeacache.uk.oracle.com:80
Unable to contact http://ukp14998.uk.oracle.com/forms60codes/f60all.jar Opening http://ukp14998.uk.oracle.com/forms60codes/f60all.jar proxy=emeacache.uk.oracle.com:80 java.io.FileNotFoundException: http://ukp14998.uk.oracle.com/forms60codes/f60all.jar at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Compiled Code) at sun.net.www.protocol.http.HttpURLConnection.openConnectionCheckRedirects( Compiled Code) at sun.applet.JARCache.beginStoring(JARCache.java:224) at sun.applet.AppletResourceLoader.loadJar(AppletResourceLoader.java:184) at sun.applet.JinitAppletPanel.loadJarFiles(Compiled Code) at sun.plugin.AppletViewer.loadJarFiles(Compiled Code) at sun.applet.JinitAppletPanel.runLoader(JinitAppletPanel.java:524) at sun.applet.JinitAppletPanel.run(Compiled Code) at java.lang.Thread.run(Thread.java:466)
2.5.2 起動時のパフォーマンスが悪く、多数のクラス起動時のパフォーマンスが悪く、多数のクラス・ファイルがロードされるが、起動時のパフォーマンスが悪く、多数のクラス起動時のパフォーマンスが悪く、多数のクラス・ファイルがロードされるが、・ファイルがロードされるが、・ファイルがロードされるが、JAR ファイルはファイルはファイルはファイルは 1 つもロードされない つもロードされないつもロードされない つもロードされない ARCHIVEタグが欠落していたり、ARCHIVE の綴りが間違っていると、パフォーマンスが低下します。また、 終了タグ‘>’の前の開始タグが欠落している場合も同じ問題が発生します。 ARCHIVEタグが欠落している場合のサンプル出力タグが欠落している場合のサンプル出力タグが欠落している場合のサンプル出力タグが欠落している場合のサンプル出力
Oracle Jinitiator version 1.1.7.18 Using JRE version 1.1.7.18o
User home directory = C:¥WINNT¥Profiles¥ntriggs JAR caching enabled.
Cache directory: D:¥JINIT1~1.18¥jcache Maximum cache size: 20971520 bytes
Opening http://ukp14998.uk.oracle.com/forms60code/oracle/forms/engine/Main.class proxy=emeacache.uk.oracle.com:80 Opening http://ukp14998.uk.oracle.com/forms60code/oracle/ewt/lwAWT/BufferedApplet.class proxy=emeacache.uk.oracle.com:80 Opening http://ukp14998.uk.oracle.com/forms60code/oracle/ewt/popup/PopupApplet.class proxy=emeacache.uk.oracle.com:80 Opening http://ukp14998.uk.oracle.com/forms60code/oracle/ewt/popup/PopupOwner.class proxy=emeacache.uk.oracle.com:80 Opening http://ukp14998.uk.oracle.com/forms60code/oracle/ewt/event/tracking/MouseGrabPro vider.class proxy=emeacache.uk.oracle.com:80 Opening http://ukp14998.uk.oracle.com/forms60code/oracle/ewt/help/HelpCapable.class proxy=emeacache.uk.oracle.com:80 Opening http://ukp14998.uk.oracle.com/forms60code/oracle/ewt/lwAWT/ImmediatePainter.clas s proxy=emeacache.uk.oracle.com:80 Opening http://ukp14998.uk.oracle.com/forms60code/oracle/ewt/lwAWT/DoubleBufferer.class proxy=emeacache.uk.oracle.com:80 Opening http://ukp14998.uk.oracle.com/forms60code/oracle/ewt/lwAWT/VirtualComponent.clas s proxy=emeacache.uk.oracle.com:80 … …
2.5.3 FRM-99999:Registry file http://ukp14998.uk.oracle.com/forms60codes/oracle/forms/registry/Registry.datが見つかりませんが見つかりませんが見つかりませんが見つかりません HTMLファイルの CODEBASE 値が不適切な場合、次のようなエラーが表示されます。 CODEBASE パラメータの値を確認してください。上記の例では、/forms60codes/が定義されていません。 CODEBASEタグが欠落していると、次のようなエラー・メッセージが表示されます。 FRM-99999: Registry file http://ukp14998.uk.oracle.com/oracle/forms/registry/Registry.dat が見つかりません。 欠落ファイルは次のように報告されることに注意してください。 http://ukp14998.uk.oracle.com/oracle/forms/registry/Registry.dat
ukp14998.uk.oracle.comというマシンと勘違いしそうですが、Developer Forms 6 のインストレーションではこれ に対応するディレクトリ構造があり、実際にこのファイルが存在します。ただし、上記の URL はこのファイ ルを参照していないので、ブラウザでこのファイルにアクセスしようとすると、次のようなエラーが表示され ます。
HTTP/1.0 404 オブジェクトが見つかりません
2.5.4 「「File Not Found」エラー「「 」エラー」エラー」エラー
<PARAM NAME="CODEBASE" VALUE="/forms60code/>
上記のように CODEBASE 行の VALUE エントリの閉じ引用符がない、などの構文エラーが HTML ファイルに あると、次のようなエラーが Java コンソールに表示されます。
Opening http://ukp14998.uk.oracle.com/forms60code/> <PARAM NAME=/oracle/forms/engine/Main.class proxy=emeacache.uk.oracle.com:80
File not found when looking for: oracle.forms.engine.Main java.lang.NullPointerException at sun.applet.JinitAppletPanel.createApplet(JinitAppletPanel.java:603) at sun.applet.JinitAppletPanel.runLoader(JinitAppletPanel.java:525) at sun.applet.JinitAppletPanel.run(Compiled Code) at java.lang.Thread.run(Thread.java:466) このエラーは、Explorer の CODE タグの値が不適切な場合にも発生します。
<PARAM NAME="CODE" VALUE="Oracle.forms.engine.Main"> また、Netscape の java_code タグの値が不適切な場合にも表示されます。
java_code="Oracle.forms.engine.Main"
CODEタグと java_code タグでは大文字・小文字が区別されることに注意してください(上記の例では Oracle
Opening http://ukp14998.uk.oracle.com/forms60code/Oracle/forms/engine.Main proxy=emeacache.uk.oracle.com:80
File not found when looking for: Oracle.forms.engine java.lang.NullPointerException
at sun.applet.JinitAppletPanel.createApplet(JinitAppletPanel.java:603) at sun.applet.JinitAppletPanel.runLoader(JinitAppletPanel.java:525) at sun.applet.JinitAppletPanel.run(Compiled Code)
at java.lang.Thread.run(Thread.java:466)
2.5.5 「「Loading Java Applet ...」というメッセージが表示されて、ブラウザが停止する「「 」というメッセージが表示されて、ブラウザが停止する」というメッセージが表示されて、ブラウザが停止する」というメッセージが表示されて、ブラウザが停止する
Forms アプレットを実行する HTML ファイルをロードしようとすると、「Java アプレットをロードしていま す...」というメッセージが表示され、ステータス行に「アプレットをロードしています...」と表示された後に ブラウザが停止します。 CODEパラメータが存在し、適切に定義されているかどうか確認してください。 2.5.6 アプレットが表示されず、赤いアプレットが表示されず、赤い x と共に空のボックスが表示されるアプレットが表示されず、赤いアプレットが表示されず、赤い と共に空のボックスが表示されると共に空のボックスが表示されると共に空のボックスが表示される classidが不適切な場合には、画面に次のような赤い x が表示されます。
メニューから「ファイル」→「プロパティ」の順に選択してから、「分析」ボタンをクリックすると、次のよ うな画面が表示されます。
2.5.7 ブラウザを終了して再起動する必要がある場合ブラウザを終了して再起動する必要がある場合ブラウザを終了して再起動する必要がある場合ブラウザを終了して再起動する必要がある場合
JInitiatorを使用していて Forms アプレットのロードが不完全に終わった場合は、いったんブラウザを終了して
再起動する必要がある場合があります。たとえば、Forms Server Listener を最初に起動しないで Forms を実行し ようとすると、次のようなエラーが表示されます。
このページをブラウザに再ロードすれば、エラーは表示されません。また、サーバーがすでに起動されている 場合には、やはりブラウザを再起動しないと、Forms は正しくロードされません。ブラウザを完全に終了する 必要があるので注意してください。別のブラウザ・ウィンドウが開いている状態で Forms アプレットが表示さ れたウィンドウを閉じただけでは、不十分です。
2.6 ORACLE JINITIATOR
と
と
と
と NETSCAPE NAVIGATOR との
との
との
との HTML ファイルの問題
ファイルの問題
ファイルの問題
ファイルの問題
2.6.1 getHashKeyロードロードロードロード・アプレットでの・アプレットでの・アプレットでの・アプレットでの NullPointException
java_codeタグが無いと(またはタグ名の綴りが間違っていると)、コンソール・ウィンドウに次のようなエラー
が表示されます。
Netscapeにににに java_code タグが欠落している場合のエラータグが欠落している場合のエラータグが欠落している場合のエラータグが欠落している場合のエラー
Oracle Jinitiator version 1.1.7.18 Using JRE version 1.1.7.18o
User home directory = C:¥WINNT¥Profiles¥ntriggs JAR caching enabled.
Cache directory: D:¥JINIT1~1.18¥jcache Maximum cache size: 20971520 bytes java.lang.NullPointerException at sun.applet.JinitAppletPanel.getHashKey(JinitAppletPanel.java:777) at sun.applet.JinitAppletPanel.isAppletInCache(JinitAppletPanel.java:695) at sun.plugin.AppletViewer.init(AppletViewer.java:334) at sun.plugin.navig.win32.AppletPluginPanel.startPanel(AppletPluginPanel.java:2 12) at sun.plugin.navig.win32.PluginObject.startPlugin(PluginObject.java:132) at sun.plugin.navig.win32.PluginObject.setDocumentURL(PluginObject.java:210)
2.6.2 http://.../xxx.jarに接続できない、およびに接続できない、およびに接続できない、およびに接続できない、および getInputStream でのでのでのでの FileNotFoundException
Netscapeでは、java_archive エントリの値が間違っていると、問題が発生します。たとえば、次のように設定し
た場合です。
java_archive="xf60all.jar"
サンプル出力 サンプル出力 サンプル出力 サンプル出力
Oracle JInitiator version 1.1.7.18 Using JRE version 1.1.7.18o
User home directory = C:¥WINNT¥Profiles¥ntriggs JAR caching enabled.
Cache directory: D:¥JINIT1~1.18¥jcache Maximum cache size: 20971520 bytes
Opening http://ukp14998.uk.oracle.com/forms60code/xf60all.jar no proxy Unable to contact http://ukp14998.uk.oracle.com/forms60code/xf60all.jar Opening http://ukp14998.uk.oracle.com/forms60code/xf60all.jar no proxy java.io.FileNotFoundException: http://ukp14998.uk.oracle.com/forms60code/xf60all.jar at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Compiled Code) at sun.net.www.protocol.http.HttpURLConnection.openConnectionCheckRedirects(Com piled Code) at sun.applet.JARCache.beginStoring(JARCache.java:224) at sun.applet.AppletResourceLoader.loadJar(AppletResourceLoader.java:184) at sun.applet.JinitAppletPanel.loadJarFiles(Compiled Code) at sun.plugin.AppletViewer.loadJarFiles(Compiled Code) at sun.applet.JinitAppletPanel.runLoader(JinitAppletPanel.java:524) at sun.applet.JinitAppletPanel.run(Compiled Code) at java.lang.Thread.run(Thread.java:466)
2.6.3 JInitiatorでででで Forms を実行しようとするとを実行しようとするとを実行しようとするとを実行しようとすると Netscape に空白ページが表示されるに空白ページが表示されるに空白ページが表示されるに空白ページが表示される
2.6.4 Netscapeに空白ページが表示され、多数のクラスに空白ページが表示され、多数のクラス・ファイルがロードされるに空白ページが表示され、多数のクラスに空白ページが表示され、多数のクラス・ファイルがロードされる・ファイルがロードされる・ファイルがロードされる
java_archiveタグが無いと、JInitiator は個々のクラス・ファイルのロードを開始しますが、ブラウザは空白の画
面を表示して停止します(バグ 919679)。
Oracle JInitiator version 1.1.7.18 Using JRE version 1.1.7.18o
User home directory = C:¥WINNT¥Profiles¥ntriggs JAR caching enabled.
Cache directory: D:¥JINIT1~1.18¥jcache Maximum cache size: 20971520 bytes Opening http://ukp14998.uk.oracle.com/forms60code/oracle/forms/engine/Main.class no proxy Opening http://ukp14998.uk.oracle.com/forms60code/oracle/ewt/lwAWT/BufferedApplet.cl ass no proxy Opening http://ukp14998.uk.oracle.com/forms60code/oracle/ewt/popup/PopupApplet.class no proxy Opening http://ukp14998.uk.oracle.com/forms60code/oracle/ewt/popup/PopupOwner.class no proxy . . . Opening http://ukp14998.uk.oracle.com/forms60code/oracle/ewt/graphics/ImageUtils.cla ss no proxy 2.6.5 Netscapeに空白ページが表示され、に空白ページが表示され、Java コンソールにはバージョンとユーザーに空白ページが表示され、に空白ページが表示され、 コンソールにはバージョンとユーザーコンソールにはバージョンとユーザーコンソールにはバージョンとユーザー・ホーム・ホーム・ホーム・ディレ・ホーム・ディレ・ディレ・ディレ クトリが表示される クトリが表示されるクトリが表示される クトリが表示される ‘width’または‘height’タグが無いと、Netscape では空白ページが表示され、コンソールには次のように表示 されます。
Oracle JInitiator version 1.1.7.18 Using JRE version 1.1.7.18o
3.
FRM-99999
エラー
エラー
エラー
エラー
Formsのバージョン 4.5.x、5.x および 6.0.x では、Web を通じて Forms を実行すると、FRM-99999 エラーが発生 することがあります。FRM-99999 は汎用エラー・メッセージで、Forms アプレットが Forms サーバーと対話で きないことを知らせるものです。 例: FRM-99999エラーはさまざまな状況で発生します。このエラーが表示されたら、さらに詳しい情報を入手して 問題を解決する必要があります。ここでは、便利な診断ツールを紹介し、この診断ツールを使用して問題を解 決する方法を説明します。5
3.1 FRM-99999
の原因
の原因
の原因
の原因
FRM-99999エラーの原因は次のようなカテゴリに分類できます。 • 構成上の問題 − FRM-99999エラーの中には構成上の問題が原因となって発生するものがあります。たとえば、Forms Server が起動していなかったり、HTML ファイルに指定されたポートとは別のポートでリスニング している場合などです。このようなエラーは常に再現できます。 • Forms Serverプロセスのクラッシュ − 接続が確立された後、フォームを起動した後で発生する FRM-99999 エラーのほとんどは、サーバー のクラッシュが原因で発生します。サーバー・プロセスがダウンすると、クライアントは動作を継 続できません。アプレットはサーバー・プロセスと対話できなくなると、単独で存続することはで きません。 − この種のエラーは診断が難しく、常に再現できるわけではありません。また、ユーザーがクラッシュ に至ったイベントの流れに気づかないこともあります。 • アプレットと Forms Server プロセスの間の通信にネットワーク障害が発生し、通信が遮断された。 5 Developer 6iでは、これまでは汎用メッセージFRM-99999が表示されていたインスタンスの多くで、よ り詳細なエラー・メッセージが表示されるようになりました。詳細は、セクション3.3.3を参照してくだ さい。• 判明済みのバグ − 判明済みの FRM-99999 の原因はセクション 3.3 を参照してください。
3.2 FRM-99999
の解決法
の解決法
の解決法
の解決法
3.2.1 アプレットの表示内容アプレットの表示内容アプレットの表示内容アプレットの表示内容 Forms アプレットに表示された内容を見ると FRM-99999 の原因を突き止めることができる場合が多くありま す。 FRM-99999エラーが発生すると、エラー・ダイアログには「Details 」ボタンが表示されます。 「詳細」ボタンをクリックすると、現在の Java スタックが表示されます。表示されるスタックは、エラーの根 本的な原因と Forms のリリースによって異なります。これは、リリースごとにアプレット・クラス・ファイル に使用されるパッケージ構造が異なるからです。 このボタンをク リックすると、Java エラー・スタックが 表示されます。たとえば、次のようなスタック・トレースは、Forms Server が起動していないことが原因の場合に生成されま す。ただし、生成されるスタックは異なります。 Forms 4.5 Java Exception: oracle.forms.uiclient.v1_4.engine.RunformException:FRM-99999:failed to connect to the server:cxlewis-pc:4500 at java.lang.Throwable.<init>(compiled code) at java.lang.Exception.<init>(Compiled code) at oracle.forms.uiclient.v1_4.engine.RunformException.<init>(compiled code) at oracle.forms.uiclient.v1_4.engine.Runform.initConnection(compiled code) at oracle.forms.uiclient.v1_4.engine.Runform.startRunform(Compiled code) at oracle.forms.uiclient.v1_4.engine.Runform.run(Compiled code) at java.lang.Thread.run(Compiled code) Forms 6.0 Java Exception:
oracle.forms.engine.RunformException: FRM-99999: Failed to connect to the Server: ukp14901.uk.oracle.com:6001
at oracle.forms.engine.Runform.initConnection(Runform.java) at oracle.forms.engine.Runform.startRunform(Runform.java) at oracle.forms.engine.Main.createRunform(Main.java)