ヘルプの項目がありません。オンライン･ヘルプのキーワードで関連項目を確認してください。


オブジェクト・ナビゲータでのOracle8オブジェクトのサポート

「データベース・オブジェクト」ノードの下の新しい「タイプ」ノードによって、Oracle8のユーザー定義データ型と、関連する属性とメソッドを表示および検索できます。「表」ノードと「ビュー」ノードにもOracle8の機能が追加され、オブジェクト表、列オブジェクト、オブジェクト・ビューおよび関連するINSTEAD OFトリガーを表示できます。


データベース・トリガー・エディタの改善点

エディタ内の項目が論理的にグループ化され、データベース・トリガー・エディタで行トリガーや文トリガーを作成しやすくなりました。また、エラー報告機能も追加されました。 無効なトリガーを検索、格納または削除しようすると、エラー・メッセージを示すメッセージ・ボックスが表示されます。

データベース・トリガー・エディタでは、Oracle8オブジェクトのサポートの一環として、ビューやオブジェクト・ビューのINSTEAD OFトリガーを作成および編集できるようになりました。


PL/SQL 8のサポート

  関連項目

Procedure Builderのこのリリースでは、クライアントとサーバーでPL/SQL V8が使用されます。クライアント側のプログラム単位は、現在オブジェクト関連機能をサポートしていません。ただし、ストアド・プログラム単位は、新しいPL/SQL V8機能をすべて使用できます。

クライアント側のプログラム単位とストアド・プログラム単位は、PL/SQL V8またはSQL V8の新機能が使用されていない場合、Oracle7データベース・サーバーに対して機能します。

『PL/SQLユーザーズ・ガイドおよびリファレンス、リリース8.0』マニュアルの付録Aでは、PL/SQL V8の新機能について説明しています。このマニュアルはオンラインで入手できます。「ヘルプ」 [image] 「マニュアル」を選択して、「オンライン・マニュアル」で「リファレンス・マニュアル」にナビゲートします。


PL/SQLの以前のバージョンとの互換性

  関連項目

PL/SQL V1またはV2のコードを使用して書かれたクライアント側のプログラム単位は、コードを新しいレベルに変換する必要があります。アップグレードを自動化できるように、PL/SQL V1変換ユーティリティが提供されています。

PL/SQL V2を使用して書かれたストアド・プログラム単位は、データベース・サーバー上のPL/SQL V8エンジンに対して実行できますが、コンパイル・エラーが発生する場合があります。これらのエラーは、V2とV8との間で構文の互換性がない場合に発生します。V8データベースのPL/SQL V2互換性フラグを使用してV2互換性モードを設定すると、V2コードがコンパイルされるときに、V8エンジンでエラーが発生しません。『Oracle8 Server移行ガイド』の第6章では、PL/SQL V2互換性フラグによってサポートされる状況について説明しています。


EXEC_SQLビルトイン・パッケージ

EXEC_SQLビルトイン・パッケージには、PL/SQLプロシージャ内で動的SQLを実行するときに使用できるプロシージャとファンクションが含まれます。DBMS_SQLパッケージと同様に、SQL文は実行時にソース・プログラムのみに渡されるか、またはソース・プログラムによってビルドされる文字列に格納されます。

EXEC_SQLビルトイン・パッケージは、異なるOracleまたはODBCデータ・ソースからの結果セットを1つのフォームまたはレポートに取り出すときに特に便利です。これが可能なのは、このパッケージによって、複数の異なる接続先にある複数のOracleデータベースに同時にアクセスできるからです。Open Client Adapter (OCA)を介してODBCデータ・ソースに接続することもできます。


新しいバッチ実行モジュール名

Procedure Builderの実行モジュール名が、PB20D32からDE60に(Microsoft Windows)、およびPB20DESからDEBLD60に(UNIX)変更されました。実行モジュールをコールするスクリプトを変更してください。


構文パレット

構文パレットは、PL/SQL言語要素とビルトイン・パッケージの構成体を表示でき、選択された構文をエディタにコピーできる、プログラミング・ツールです。このツールは、PL/SQL言語の構造に慣れていない初級プログラマが対象です。それと同時に、同じ構成体を、再入力せずに繰り返し使用する上級プログラマにも、効率的で便利な手段です。


複数のプログラム単位内でのテキストの検索および置換

「プログラム単位」ダイアログ・ボックスの「検索と置換」を使用すると、プログラム単位エディタの個別のインスタンスをオープンせずに、複数のプログラム単位でテキストを検索できます。見つかった検索文字列をすべて置換するか、一部のみを置換できます。


タイプ・ウィザード

Oracle8オブジェクトのサポートの一環として、Procedure Builderには、タイプ・ウィザードが含まれます。 タイプ・ウィザードは、新規オブジェクト・タイプ（属性とメソッドを含む）、表タイプ、または可変の配列型の作成に必要なステップを示します。Oracle8のユーザー定義データ型は、オブジェクト・ナビゲータの「タイプ」ノードの下に表示されます。


Oracle8のユーザー定義型の編集

ストアド・プログラム単位エディタは拡張され、Oracle8のユーザー定義データ型の型本体（メソッド）と型指定（属性）が編集できるようになりました。


改善された編集機能

プログラム単位エディタとストアド・プログラム単位エディタでは、次に示すとおり、Microsoft Windowsのあらゆる編集機能がサポートされています。

•	自動インデントおよびインデント解除 - エディタでコードを入力すると、PL/SQL構文の規則に従って行が自動的にインデントまたはインデント解除されます。

•	カラーによる構文のハイライト - キーワード、コメントおよび文字列は、別のカラーで示されます。

•	列と行の選択 - テキスト列やソース・コードの行を選択できます。

•	ドラッグ・アンド・ドロップによるテキストの操作 - ハイライト表示されたテキストは、ドラッグ・アンド・ドロップによってコピーまたは移動できます。

•	複数の分割ビュー - エディタで、現行のプログラム単位の別個のビューを最大4つ作成できます。

•	印刷 - 現行のプログラム単位を印刷できます。

•	無制限の元に戻す/再実行 - 最後に保存したときの状態まで、すべての編集操作を元に戻したり、再実行したりできます。


Procedure Builderの開始

Procedure Builderを初めて扱う場合は、マニュアル『Oracle Developerスタート・ガイド』を参照してください。

  このマニュアルは、Procedure Builderの基本概要を簡単に説明するチュートリアルです。このマニュアルにオンラインでアクセスするには、「ヘルプ」 [image] 「マニュアル」を選択し、「オンライン・マニュアル」で「スタート・ガイド」にナビゲートします。このマニュアルのHTMおよびPDFバージョンも、%ORACLE_HOME%の\TOOLS\のドキュメント・サブディレクトリ、%ORACLE_HOME%\TOOLS\DOCnn\<language>\PBGSnn\など（ここで、nnはバージョン番号、<language>は言語コード（US、JPなど）を示す）にインストールされています。


PL/SQLライブラリについて

  関連項目

PL/SQLライブラリは、ファイル・システムとデータベースのどちらにでも格納できるクライアント側のプログラム単位の集合です。PL/SQLライブラリによって、クライアント側プログラム単位の格納および複数のアプリケーション間の共有を行うための有益な方法が提供されます。

PL/SQLライブラリでは、ダイナミック・ロードがサポートされています。 つまり、ライブラリに格納されたプログラム単位は、プログラム単位の最初のコール時にアプリケーションにロードされ、その後すぐに使用できるようにロードされたままになります。ダイナミック・ロードは、実行時のメモリー所有量を著しく減らし、アプリケーションのパフォーマンスを向上させます。

PL/SQLライブラリに常駐しているプログラム単位は、Oracleデータベース・サーバー上で利用可能なストアド・サブプログラムと混同しないように注意してください。PL/SQLライブラリ内のプログラム単位は常にクライアント側のPL/SQLエンジン内でロードされ実行されますが、ストアド・サブプログラムは常にOracleデータベース・サーバー上に常駐して実行されます。


ライブラリ・プログラム単位の無効化について

  関連項目

別の連結ライブラリで定義され、現在ロードされているプログラム単位と同じ名前のプログラム単位が含まれるライブラリを連結すると、ロードされたプログラム単位は自動的に再定義されます。

その結果、以前にロードされたプログラム単位を参照するプログラム単位はすべて、コンパイル状態ではなくなります（その参照が解決できなくなるため）。

どのプログラム単位を再コンパイルしようとする場合でも、Procedure Builderによって、オブジェクト・ナビゲータ内のライブラリ・リストの上から下に、連結ライブラリ・リスト内の以前にロードされたプログラム単位が検索されます。それにより、そのプログラム単位で最初に検索されたインスタンスがロードされます。

そのため、連結ライブラリ・リストの順序は、ロード対象となるプログラム単位に影響します。

連結ライブラリを選択して、「連結ライブラリ」ノード内の新しい位置にドラッグすることによって、オブジェクト・ナビゲータ内の連結ライブラリの順序を変更できます。

注意: 「プログラム単位」ノードで定義され、現在ロードされているプログラム単位と同じ名前のプログラム単位が含まれるライブラリを連結すると、ロードされたプログラム単位は自動的には再定義されません。現行のセッションで、連結されたライブラリのプログラム単位を使用するには、「プログラム単位」ノードのロードされているプログラム単位を削除します。


ライブラリの作成

  関連項目

ライブラリを作成するには:

1	「PL/SQLライブラリ」ノードをクリックし、続いて [image] をクリックします。

ライブラリが作成され、ライブラリLIB_nnnという形式で、ランダムな一意の名前が割り当てられます。このライブラリは自動的にオープンするため、その内容の変更を開始できます。

2	ライブラリを、データベースまたはファイル・システムに保存します。


ファイル・システムへのライブラリの保存

  関連項目

ライブラリをファイル・システムへ保存するには:

1	保存するライブラリをクリックします。

2	をクリックします。

このライブラリを保存するのが初めてであるかまたはメニューから「別名保存」を選択した場合は、ライブラリの保存する名前と位置を入力する「ライブラリの保存」ダイアログ・ボックスが表示されます。デフォルトでは、ファイル拡張子.PLLが付けられます。

3	「ライブラリの保存」ダイアログ・ボックスで、「ファイル・システム」ラジオ・ボタンをクリックします。

4	「参照」をクリックし、ライブラリを保存するディレクトリを選択します。

5	「ライブラリ保存」ダイアログ・ボックスで、「OK」をクリックします。


データベースへのライブラリの保存

  関連項目

ライブラリをデータベースに保存するには:

1	データベースにまだ接続してない場合は、「ファイル」 [image] 「接続」を選択します。ヒント

2	データベースに保存するライブラリをクリックします。

3	をクリックします。

このライブラリを保存するのが初めてかまたはメニューから「別名保存」を選択した場合は、ライブラリの保存する名前と位置を入力する「ライブラリの保存」ダイアログ・ボックスが表示されます。

4	「ライブラリの保存」ダイアログ・ボックスで、「データベース」ラジオ・ボタンをクリックします。

5	必要に応じ、ライブラリの新規ファイル名を入力します。

6	「OK」をクリックします。

ライブラリが、現在接続されているデータベースに自動的に保存されます。


ライブラリのオープン

  関連項目

ライブラリをオープンするには:

1	オブジェクト・ナビゲータで「ファイル」 [image] 「オープン」を選択し、「オープン・ライブラリ」ダイアログ・ボックスを表示します。

2	「元」フィールドのいずれかのラジオ・ボタンをクリックし、ライブラリのソースの位置を示します。

3	「ライブラリ」フィールドでライブラリの位置と名前を入力するか、「参照」ボタンをクリックし、オペレーティング・システムのダイアログ・ボックスか「データベース・ライブラリ」ダイアログ・ボックスを表示します。

4	「OK」をクリックします。

選択されたライブラリは、ナビゲータ内の「PL/SQLライブラリ」ノードの下に表示されます。

連結ライブラリを持っているライブラリをオープンすると、Procedure Builderによって、連結ライブラリのタイムスタンプがチェックされます。1つ以上の連結ライブラリがオープン・ライブラリより新しい場合、オープン・ライブラリ内のすべてのプログラム単位は、コンパイル状態ではなくなります。


ライブラリへのプログラム単位の追加

  関連項目

ライブラリにプログラム単位を追加するには:

1	オープン・ライブラリのノードがまだ拡張されていない場合は、ノードをクリックして「プログラム単位」および「連結ライブラリ」サブノードを表示します。

2	「プログラム単位」ノードの最上位レベル（または別の位置）で、オープン・ライブラリに追加するプログラム単位をクリックします。

3	オープン・ライブラリの「プログラム単位」ノードの下のプログラム単位をドラッグします。

カーソルが進入禁止アイコン（スラッシュ付きの黒丸）から、最終的に小さな四角付きの矢印に変化することに注意してください。これは、プログラム単位のドロップが有効であることを示しています。カーソルが進入禁止アイコン（スラッシュ付きの黒丸）のままプログラム単位をドロップしても、何も起こりません。マウス・ボタンを放して、オープン・ライブラリ内にプログラム単位のコピーを挿入します。

注意: プログラム単位は、オープン・ライブラリ内に移動するのではありません。そのオブジェクトは、「プログラム単位」ノードの下に表示されます。


ライブラリからのプログラム単位の削除

  関連項目

ライブラリからプログラム単位を削除するには:

1	オブジェクト・ナビゲータで、オープン・ライブラリの「プログラム単位」ノード内のプログラム単位をクリックします。

2	ナビゲータのツールバーで、 [image] をクリックします。


ライブラリ・プログラム単位のコンパイル

  関連項目

ライブラリ内のすべての未コンパイル・プログラム単位をコンパイルするには:

1	オブジェクト・ナビゲータで、「PL/SQLライブラリ」ノードをクリックするか、またはオープンしているライブラリのサブノードをクリックします。

2	メニューから「プログラム」 [image] 「コンパイル」 [image] 「変更分」を選択します。

「コンパイル」ダイアログ・ボックスが表示され、コンパイル操作のステータスが示されます。検出されたエラーがリスト・ボックスに表示されます。エラーをクリックして、問題のプログラム単位内のエラーの場所へ移動します。

現行のコンパイル状態に関係なく、すべてのプログラム単位をコンパイルするには:

1	オブジェクト・ナビゲータで、「PL/SQLライブラリ」ノードをクリックするか、またはオープンしているライブラリのノードをクリックします。

2	メニューから「プログラム」 [image] 「コンパイル」 [image] 「すべて」を選択します。

「コンパイル」ダイアログ・ボックスが表示され、コンパイル操作のステータスが示されます。検出されたエラーがリスト・ボックスに表示されます。エラーをクリックして、問題のプログラム単位内のエラーの場所へ移動します。


ライブラリのクローズ

  関連項目

ライブラリをクローズするには:

1	オブジェクト・ナビゲータで、「PL/SQLライブラリ」ノードをクリックするか、またはオープンしているライブラリのノードをクリックします。

2	「ファイル」 [image] 「クローズ」 を選択します。

オブジェクト・ナビゲータからオープン・ライブラリをクローズする場合、保存されていない変更をすべて保存するよう要求されます。インタプリタからCLOSEコマンドを使用する場合、最後の保存以降に行った変更がすべて自動的に保存されます。


ライブラリの連結

  関連項目

ライブラリを連結するには:

1	「ファイル」 [image] 「連結ライブラリ」を選択し、「連結ライブラリ」ダイアログ・ボックスを表示します。

2	「元」フィールドのいずれかのラジオ・ボタンをクリックし、ライブラリをファイル・システムとデータベースのどちらかまたは両方に保存するかを示します。

3	「ライブラリ」フィールドでライブラリの位置と名前を入力するか、「参照」ボタンをクリックし、オペレーティング・システムのダイアログ・ボックスか「データベース・ライブラリ」ダイアログ・ボックスを表示します。

4	「連結」をクリックし、ダイアログ・ボックスをクローズします。

そのライブラリが、オブジェクト・ナビゲータ内の「連結ライブラリ」ノードの下に表示されます。

注意: 「連結ライブラリ」ノードが空の場合、これをダブルクリックし「連結ライブラリ」ダイアログ・ボックスを表示できます。

PL/SQLライブラリに格納されたプログラム単位を参照するには、まずライブラリを連結する必要があります。ライブラリは、現行のProcedure Builderセッションにも、別のライブラリにも連結できます。ライブラリを使用した後は、それを連結解除します。

連結ライブラリは編集できません。連結ライブラリの内容を変更する場合、まず連結解除してから連結ライブラリをオープンします。このようなことから、連結ライブラリは「読込み専用」またはライブラリの「ランタイム」コピーと考えることができます。


ライブラリの連結解除

  関連項目

ライブラリを連結解除するには:

1	オブジェクト・ナビゲータで、「連結ライブラリ」ノードの下のライブラリ・サブノードをクリックして反転表示させます。

2	ナビゲータのツールバーで、 [image] をクリックします。

ライブラリの連結解除は、ライブラリの削除とは異なります。連結解除は、指定されたライブラリを連結ライブラリの現行の設定から単に削除することです。


ライブラリからのプログラム単位のロード

  関連項目

ライブラリからプログラム単位をロードするには：

LOADコマンドを使用して、明示的にライブラリ・プログラム単位をロードします。 たとえば、次のように使用します。

PL/SQL> .LOAD PROCEDURE foo LIBRARY mylib

連結されたPL/SQLライブラリに常駐するプログラム単位は、コンパイル時または実行時に別のプログラム単位によって参照される場合にのみ、暗示的にロードされます。


ライブラリ情報の表示

  関連項目

ライブラリ情報を表示するには:

現行のProcedure Builderセッションに連結され、その中で現在オープンされているライブラリの情報を表示できます。

オブジェクト・ナビゲータには、現在「ライブラリ」ノードでオープンされ、「連結ライブラリ」ノードに連結されているライブラリのリストが表示されます。ノードを選択し、ナビゲータ・ツールバーの「すべて拡張」ボタンをクリックしてすべてのサブノードを表示します。

特定のライブラリ（そのノード、位置および内容を含む）の情報を表示するには、インタプリタのPL/SQL>プロンプトでDESCRIBEコマンドを入力します。

次に例を示します。

PL/SQL> .DESCRIBE LIB lib1
   Library:LIB1
   Mode:Open(READWRITE)
   Modified:YES
   External Location:lib1.pll
   Contents:
     Procedure Body BONUSES
     Procedure Body MAIN


ライブラリの改名

  関連項目

現在オープンされており、1度も保存されたことのないライブラリを改名するには:

1	メニューから「ファイル」 [image] 「別名保存」を選択し、「ライブラリの保存」ダイアログ・ボックスを表示します。

2	「ライブラリ」テキスト・ボックスでライブラリの新しい名前を入力するか、「参照」をクリックしファイル・システムを参照できるオペレーティング・システムのファイル・ダイアログ・ボックスを表示します。

3	ライブラリ・ファイルの新規ファイル名を入力します。

4	「OK」をクリックし、その新規ファイル名でライブラリ・ファイルを保存します。

すでにファイルに保存されているライブラリを改名するには:

ファイルの改名には、ご使用のオペレーティング・システムの機能を使用します。

データベースに格納されたライブラリを改名するには:

インタプリタのPL/SQL>プロンプトでRENAMEコマンドを入力します。次に例を示します。

PL/SQL> .RENAME LIB LIB35 TO scott_lib


ライブラリへのアクセス権限付与および取消し

  関連項目

ファイル・システムまたはデータベースに格納されたライブラリへのアクセスは、ライブラリへのアクセスの権限付与および取消しによって管理できます。

ファイル・システムに格納されたライブラリへのアクセス権限を付与および取り消すには、ご使用のオペレーティング・システムのファイル・アクセスの権限付与および取消しの機能を使用します。

データベースに格納されたライブラリへのアクセス権限を付与および取り消すには、まず次の条件が満たされていることを確認します。

•	自分がライブラリの所有者であるか、そのライブラリに対するアクセス権限が与えられています。

•	自分がアクセス権限を付与するユーザーは、現行のデータベース用の有効なユーザーIDを持っています。

•	現在データベースに接続されています。

ライブラリへのアクセス権限を付与および取り消すには:

1	オブジェクト・ナビゲータで、「データベース・オブジェクト」ノードの下にある、データベースのアクセス権を設定するライブラリ・サブノードをクリックします。

2	「ファイル」 [image] 「管理」 [image] 「権限の付与」を選択し、「アクセス権限リスト」ダイアログ・ボックスを表示します。

ユーザーにアクセス権限を付与するには、「ユーザー」フィールドに有効なデータベース・ユーザーIDを入力し、「追加」をクリックします。

ユーザーに付与したアクセス権限を取り消すには、リストからユーザーIDを選択し、「削除」をクリックします。

3	「OK」をクリックし、ダイアログ・ボックスをクローズします。


ライブラリの削除

  関連項目

ライブラリを含むファイルを削除するには:

ご使用のオペレーティング・システムの機能を使用します。

データベースに格納されたライブラリを削除するには:

1	オブジェクト・ナビゲータで、ライブラリ・ノードをクリックし反転表示します。

2	ナビゲータのツールバーで、 [image] をクリックします。


ロード・パスについて

ファイル・システム内のPL/SQLドキュメントの操作を行うコマンド（LOAD、INTERPRETなど）を起動する場合にドキュメントの位置（ディレクトリ・パス）を完全に指定しないと、Procedure Builderは、ロード・パスとして認識できる検索パスを探します。

ロード・パスは、ファイル・システム内の一連の場所、つまりディレクトリから構成されています。指定されたモジュールが検索されるまで、ディレクトリが検索されます。


ロード・パスの初期化

ロード・パスを初期化するには:

ORAPLSQLLOADPATH環境変数を設定して、1つ以上のディレクトリを含むロード・パスを初期化できます。パスの長さのようなプラットフォーム固有の規則に注意しながら、ベース・オペレーティング・システム上で他の環境変数を定義する場合と同じ方法でORAPLSQLLOADPATHを定義してください。Microsoft Windowsでは、レジストリを編集します。

UNIXでは、Cシェルから次のコマンドを入力することによって、ディレクトリ/usr/plsqlおよび/home/userへのロード・パスを初期化できます。

setenv ORAPLSQLLOADPATH /usr/plsql:/home/user


ロード・パスへのディレクトリの追加

  関連項目

ロード・パスへディレクトリを追加するには:

ロード・パスにディレクトリを追加する場合、まずリスト内の新規ディレクトリの挿入場所を考慮します。ディレクトリは、リストされている順序で検索されます。

環境変数の設定を直接編集したりまたはインタプリタ・コマンド・プロンプトからINSERT（ロード・パス）コマンドを入力したりすることによって、リストの最初または最後にパスを挿入できます。

たとえば、現行のロード・パスの最後にC:\librariesディレクトリを挿入するには、次のようにします。

PL/SQL> .INSERT LOADPATH DIRECTORY C:\libraries

現行のロード・パスの一番先頭にC:\librariesディレクトリを挿入するには、次のようにBEFOREキーワードを追加します。

PL/SQL> .INSERT LOADPATH DIRECTORY C:\libraries BEFORE


ロード・パスの表示

  関連項目

ロード・パスを表示するには:

現在ロード・パスに組み込まれているディレクトリを確認するには、ご使用のオペレーティング・システムの環境変数を表示する機能またはインタプリタのコマンド・プロンプトからDESCRIBE（ロード・パス）を使用できます。

PL/SQL> .DESCRIBE LOADPATH

ロード・パスに現在リストされているディレクトリが、検索順に表示されます。


ロード・パスの消去

  関連項目

ロード・パスを消去するには：

環境変数の設定を直接編集したり、インタプリタ・コマンド・プロンプトからDELETE（ロード・パス）コマンドを入力できます。

たとえば、現行のロード・パスからすべてのディレクトリを削除するには、次のようにします。

PL/SQL> .DELETE LOADPATH


スキーマにすでに接続されているかを確認するには、「データベース・オブジェクト」ノードをチェックします。このノードが拡張されているかプラス記号が付いている場合は、接続されています。


インタプリタ・スクリプトについて

インタプリタ・スクリプトは、PL/SQLのソース・コード、インタプリタ・コマンドおよびSQL文の任意の組合せを含むことができます。インタプリタ・スクリプトは、コマンド・ラインからバッチ・モードで実行するか、INTERPRETコマンドを使用してProcedure Builderにロードして実行できます。

Procedure Builderでは、インタフェースで提供されているメニューおよびダイアログ・ボックスを使用するか、インタプリタ・コマンドを使用すれば、ほとんどのアクションを実行できます。インタプリタ・スクリプトは、日常的なアクションを実行するために使用するインタプリタ・コマンドを記録し、保存するための有効な手段です。


スクリプト内のプログラム単位について

スクリプトからPL/SQLの任意のプログラム単位をコールする場合、次の基準を使用して最適な方法を選んでください。

•	スクリプト内で定義してから、プログラム単位をコールして実行します。プログラム単位は、コール時にコンパイルされます。

•	プログラム単位エディタでプログラム単位を定義し、デバッグした後、LOADコマンドを使用してスクリプトにそのプログラム単位をロードしてからコールします。プログラム単位は、ロード時にコンパイルされます。

•	プログラム単位エディタでプログラム単位を定義し、デバッグした後、そのプログラム単位をライブラリに追加します。ATTACHコマンドを使用してライブラリを連結し、次にプログラム単位をコールします。プログラム単位は、すでにコンパイルされています。


スクリプトの作成または編集

スクリプトを作成または編集するには:

インタプリタ・スクリプトは、ファイルをASCIIテキストとして保存できる任意のエディタを使用して作成および編集できます。インタプリタ・スクリプトのファイル名の標準の拡張子は、.pldです。


インタプリタでのスクリプトの実行

インタプリタでインタプリタ・スクリプトを実行するには:

1	メニューから「ファイル」 [image] 「インタプリタ」を選び、「インタプリタ・デバッグ・スクリプト」ダイアログ・ボックスを表示します。

2	「ファイル」テキスト・ボックスにインタプリタ・スクリプトの場所と名前を入力するか、「参照」をクリックしてご使用のオペレーティング・システムのファイル・ダイアログ・ボックスを表示し、ファイル・システムを参照します。

インタプリタ・スクリプトには、デフォルトで.pldのファイル拡張子が割り当てられています。

3	処理中のスクリプト･コマンドを画面に表示するには、「エコー」チェックボックスを選択します。

4	インタプリタに表示されるコマンドおよびエラー･メッセージを抑止するには、「サイレント」チェックボックスを選択します。

5	スクリプト処理に際して確認のメッセージ･ボックスの表示を抑止するには、「確認の抑止」チェックボックスを選択します。

6	設定を確認してインタプリタ･スクリプトを実行するには、「インタプリタ実行」をクリックします。

Procedure Builderのインタプリタ・ペインに、.INTERPRET FILE filenameコマンドが表示されます。インタプリタ・スクリプトが実行されます。

インタプリタ・スクリプトには、PL/SQLプログラム単位のソース、Procedure BuilderのコマンドおよびSQL文を組み合わせて入れることができます。


バッチ・モードでのスクリプトの実行

  例

バッチ・モードでスクリプトを実行するには（Microsoft Windows）:

  Windowsのタスクバーから「スタート」 [image] 「ファイル名を指定して実行」を選択し、次の構文を入力します。

  det60 FILE={scriptname.pld}

注意:

•	DOSプロンプトからのバッチ・モードでのスクリプトの実行はサポートされていません。

•	Microsoft Windows上で、スクリプトをライン・モードで実行するには、Windowsのタスクバーから「スタート」 [image] 「プログラム」 [image] 「Forms Developer6i」 [image] 「Procedure Builder -ライン・モード」を選択します。

バッチ・モードでスクリプトを実行するには（UNIX）:

  次の構文を入力します。

  debld60 MODE={batch | line} FILE={scriptname.pld}

バックグラウンドでスクリプトを実行する場合は、MODE=batchを使用します。ライン・モードでスクリプトを実行する場合は、MODE=lineを使用します。


例: バッチ・モードでのスクリプトの実行

/* If you want a permanent record of the script run, use the
** LOG command within your script.For example:
*/

.LOG FILE logfile
...
...
.LOG OFF
.QUIT NOCONFIRM


データベース・トリガーの作成

  関連項目

データベース・トリガーを作成するには:

1	「プログラム」 [image] 「データベース・トリガー・エディタ」を選択して、データベース・トリガー・エディタを表示します。

2	「表所有者」ドロップダウン・リストからユーザー名（スキーマ）を選択します。

3	「表」または「ビュー」を選択します（「ビュー」を選択できるのは、Oracle8データベースに接続している場合のみです）。

4	「表」または「ビュー」ドロップダウン・リストから、表またはビューの名前を選択します。

5	「新規」をクリックして、新しいデータベース・トリガーを作成します。

「名前」ドロップダウン・リストで、新しいトリガーに一意のトリガー名（同じスキーマ内の他のトリガーに対して）が自動的に割り当てられます。トリガー名は変更できます。

6	「実行タイミング」オプションを指定します。

•	トリガーを実行するステートメントの実行前にトリガーを起動するように指定するには、「Before」をクリックします。このオプションは、表に対してのみ有効です。

•	トリガーを実行するステートメントの実行後にトリガーを起動するように指定するには、「After」をクリックします。このオプションは、表に対してのみ有効です。

•	トリガーを実行するステートメントの実行の代わりに、トリガーを起動するように指定するには、「Instead Of」をクリックします。このオプションは、ビューに対してのみ有効です。INSTEAD OFトリガーによって、更新、挿入または削除といった操作がビューの実表に対して直接行われます。

7	トリガーを起動するSQL文を指定します（ここでは、SQL文を複数指定できます）。

•	UPDATE-UPDATE文によって「列」リスト・ボックスで指定された列の値が変更されるたびに、トリガーが起動されるようにするには、このチェック・ボックスをチェックします。

•	INSERT-INSERT文によって表に行が追加されるたびに、トリガーが起動されるようにするには、このチェックボックスをチェックします。

•	DELETE-DELETE文によって表から行が削除されるたびに、トリガーが起動されるようにするには、このチェックボックスをチェックします。

8	トリガーを実行するイベントとしてUPDATEを選択すると、トリガーを実行する文にオプションの「列」リストを含めるように指定できます。

「列」リスト・ボックスには、トリガーが定義されている表の列名のリストが表示されます。列を1つ以上クリックすることにより、選択した列のどれか1つが更新されたときにのみトリガーが起動するように指定できます。

表の任意の列が更新されたときにトリガーを起動する場合は、リスト・ボックスの列名をクリックしないでください。

INSTEAD OFトリガーを選択した場合は、「列」リスト・ボックスは使用できません。Oracleでは、UPDATE文によってビューの任意の列に含まれる値が変更されるたびに、INSTEAD OFトリガーを起動します。

9	BEFOREおよびAFTERトリガーについて、トリガーを各文または行に対して起動するかどうかを指定します。

•	「文」をクリックすると、「When」テキスト・ボックスのオプションのSQL式が満たされている場合、トリガー文の発行時に1度のみトリガーが実行します（トリガー文の対象となる行の数に関係なく）。

•	「行」をクリックすると、トリガー文の対象となる行が、「When」テキスト・ボックスのオプションのSQL式によって定義された条件を満たしている場合、それらの行に対して1度のみトリガーが実行します。

10	行トリガーについては、次のように相関名を指定できます。

•	相関名とOldという名前の表で名前が競合しないように、「OLDの相関名」テキスト・ボックスに相関名を入力します。

•	相関名とNewという名前の表で名前が競合しないように、「NEWの相関名」テキスト・ボックスに相関名を入力します。

11	「When」テキスト・ボックスにブールSQL式を指定すると、行トリガーに対してトリガー制限を含めることができます。

トリガー制限が指定されている場合、SQL式がTRUEに評価されたときにのみ、トリガーが起動されます。SQL式には、現行の行の古い値と新しい値を明確に参照するための相関名を含めることができます。SQL式には、副問合せまたはPL/SQL式を含めることはできません。

12	「トリガー本体」テキスト・ボックスに、PL/SQL文とSQL文を入力します。

トリガー本体はPL/SQLブロックです。 これは、トリガーを起動するSQL文が発行され、オプションのトリガー制限（「When」テキスト・ボックスで定義されている）がTRUEと評価された場合に実行されます。トリガー本体にはBEGINキーワードとENDキーワードが必要で、ストアド・プロシージャに似ています。トリガーにはSQL文とPL/SQL文を入れることができ、他のストアド・プロシージャを呼び出すことができます。トリガーには、COMMITやROLLBACKなどのトランザクション制御SQL文を含めることはできません。

行トリガーについては、現行の行の古い値と新しい値を明確に参照するために、トリガー本体に相関名を含めることができます。トリガーを起動する複数SQL文が行（ROW）に1度ずつトリガーを起動する場合は、条件述語のINSERTING、DELETING、UPDATINGを使用して、トリガー本体のコードの特定のブロックを実行することもできます。

13	「保存」をクリックしてトリガーをコンパイルし、データベースに保存します。

メッセージ・ボックスにエラー・メッセージが表示された場合は、「OK」をクリックしてボックスをクローズします。次にトリガーを編集し、再コンパイルします。


データベース・トリガーの編集

  関連項目

データベース・トリガーを編集するには:

1	「プログラム」 [image] 「データベース・トリガー・エディタ」を選択して、データベース・トリガー・エディタを表示します。

2	「表所有者」、「表」または「ビュー」、および「名前」ドロップダウン・リストを使用して、データベース・トリガーの場所と名前を選びます。

3	データベース・トリガーの内容とプロパティを編集します。

4	「保存」をクリックして、トリガーに対する変更を保存します。

メッセージ・ボックスにエラー・メッセージが表示された場合は、「OK」をクリックしてボックスをクローズします。次にトリガーを編集し、再コンパイルします。


データベース・トリガーを使用不可にする

データベース・トリガーを使用不可にするには:

1	オブジェクト・ナビゲータで、データベース・トリガーをクリックします。

2	ポップアップ・メニューから「使用不可」を選ぶか、メニューから「ナビゲータ」 [image] 「使用不可」を選び、選択されているトリガーを一時的に使用不可にします。

オブジェクト・ナビゲータでデータベース・トリガー名の隣にアスタリスクが現れ、そのトリガーが使用不可になったことを示すことに注意してください。


データベース・トリガーを使用可能にする

データベース・トリガーを使用可能にするには:

1	オブジェクト・ナビゲータで、データベース・トリガーをクリックします。

2	ポップアップ・メニューから「使用可能」を選ぶか、メニューから「ナビゲータ」 [image] 「使用可能」を選び、使用不可のデータベース・トリガーを使用可能にします。

オブジェクト・ナビゲータでデータベース・トリガー名の隣のアスタリスクが消え、そのトリガーが再び使用可能になったことを示すことに注意してください。


データベース・トリガーの削除

データベース・トリガーを削除するには:

1	「プログラム」 [image] 「データベース・トリガー・エディタ」を選択して、データベース・トリガー・エディタを表示します。

2	「表所有者」、「表」または「ビュー」および「名前」ドロップダウン・リストを使用して、データベース・トリガーを選択します。

3	「削除」をクリックして、データベースからデータベース・トリガーを削除します。


ダイナミック・ライブラリについて

3GLライブラリは、そのライブラリ内でファンクションを起動するため、通常1つの実行プログラムにリンクする必要があります。しかし、ライブラリが、ダイナミックである場合には、実行プログラムが参照できるスタンドアロン・ファイルとして存在できます。プラットフォームの種類によって、これらのライブラリ名は異なります。たとえば、Microsoft Windowsでは、「DLL」（ダイナミック・リンク・ライブラリ）と呼ばれており、UNIXシステムの場合はたいてい、「共有ライブラリ」と呼ばれています。

Procedure Builderによって、PL/SQL内からダイナミック・ライブラリのファンクションを起動できます。


外部ファンクション・インタフェースについて

  関連項目

ダイナミック・ライブラリ内の3GLルーチンは、初めはPL/SQLに認識されていないため、外部ファンクションと呼ばれています。Procedure Builderによって、外部ファンクションを起動するPL/SQLインタフェースが提供されています。この外部ファンクション・インタフェースが、ORA_FFI PL/SQLパッケージです。

ORA_FFIパッケージには、次のPL/SQL構成体が含まれています。

サブプログラム	起動するファンクションの位置および定義の情報をアプリケーションに提供します。
データ型	定義されたファンクションの状態および構造体についての情報を保持します。
定数	ORA_FFIパッケージ内でサブプログラムへの引数として使用されます。
注意:	外部ファンクション・インタフェースでは、CまたはPASCALの呼出し基準を使用したダイナミック・ライブラリがサポートされています。浮動小数点数引数は倍精度に変換する必要があることに注意してください。ANSI宣言を使用する必要がある場合は、コード内では倍精度浮動小数点数のみを使用します。詳細は、使用しているコンパイラのマニュアルを参照してください。


外部ファンクションの初期化

  例 	  関連項目

外部ファンクションを初期化するには:

1	ライブラリをロードします。

2	外部ファンクションを登録します。

3	パラメータを登録します。 （必要な場合）

4	戻り値の型を登録します。 （必要な場合）


ライブラリのロード

  例      [image]  次のステップ

ライブラリをロードするには:

 ダイナミック・ライブラリ内のファンクションを起動する前に、アプリケーションにライブラリをロードする必要があります。それには、Ora_Ffi.Load_Libraryファンクションを使用します。

たとえば、次の文では、ディレクトリC:\utils\libsにあるライブラリmylib.dllがロードされます。

lib_handle := Ora_Ffi.Load_Library('C:\utils\libs\',
                                   'mylib.dll');

注意:	Microsoft Windowsでライブラリの場所を指定する場合は、ディレクトリ名の末尾に円記号を付ける必要があることに注意します。UNIXプラットフォームでは、ディレクトリ・パスの末尾にスラッシュを付ける必要があります。

Ora_Ffi.Load_Libraryは、指定したライブラリにハンドル（つまり、ポインタ）を返すファンクションです。このハンドルのデータ型は、Ora_Ffi.Libhandletypeです。この後、そのライブラリを一意に識別するために、このハンドルをその他のORA_FFI構成体で使用できます。


外部ファンクションの登録

  例	   次のステップ

外部ファンクションを登録するには:

 ライブラリをロードした後、起動するライブラリの各ファンクションを登録する必要があります。これにより、アプリケーションでコールされるファンクションが定義されているライブラリ、およびそのファンクションが使用するコール基準（CまたはPASCAL）を認識できます。Ora_Ffi.Register_Functionファンクションを使用して、この情報を提供します。

たとえば、次の文では、lib_handleによって指定されたライブラリに定義されている、外部ファンクションmyfuncが登録されます。

ff_handle := Ora_Ffi.Register_Function(lib_handle,
                                       'myfunc');

Ora_Ffi.Register_Functionは、指定した外部ファンクションにハンドル（つまり、ポインタ）を返すファンクションです。このハンドルのデータ型は、Ora_Ffi.Funchandletypeです。この後、その外部ファンクションを一意に識別するために、このハンドルをその他のORA_FFI構成体で使用できます。


パラメータの登録

  例      [image]   次のステップ

パラメータを登録するには:

外部ファンクションが引数を受け入れる場合、アプリケーションにこれらの引数を登録する必要があります。これにより、アプリケーションで各引数のPL/SQLのデータ型をCのデータ型にマップできます。Ora_Ffi.Register_Parameterプロシージャを使用して、この情報を提供します。

引数の登録順序は、Cのファンクション定義にリストされている順序と一致する必要があります。

たとえば、次のようなCのファンクション定義を考えてみます。

void show_error(int errnum, char *errmsg)

変数ff_handleが、この登録済みの外部ファンクションへのハンドルであると想定すると、次の文によってファンクションの2つの引数が登録されます。

Ora_Ffi.Register_Parameter(ff_handle, Ora_Ffi.C_Int);
Ora_Ffi.Register_Parameter(ff_handle, Ora_Ffi.C_Char_Ptr);


戻り値の登録

  例

戻り値を登録するには:

 外部ファンクションの戻り値の型がCのvoid型以外のすべての場合、アプリケーションで戻り値の型を登録する必要があります。Ora_Ffi.Register_Returnプロシージャを使用して、この情報を提供します。

たとえば、次のようなCのファンクション定義を考えてみます。

int to_power(int x, float y)

変数ff_handleが、この登録済みの外部ファンクションへのハンドルであると想定すると、次の文によってファンクションの戻り値の型が登録されます。

Ora_Ffi.Register_Return(ff_handle, Ora_Ffi.C_Int);


外部ファンクションへのPL/SQLインタフェースの作成

  例 	  関連項目

外部ファンクションへのPL/SQLインタフェースを作成するには:

1	外部ファンクションとサブプログラムを関連付けます。

2	サブプログラム仕様内の外部ファンクション定義を疑似実行します。

PL/SQLプログラム単位内では、その他のPL/SQL構成体のみを起動できます。そのため、ダイナミック・ライブラリとの連絡方法を認識しているPL/SQLサブプログラムを作成する必要があります。外部ファンクションを起動する場合は、かわりにこのサブプログラムを起動します。


サブプログラムの外部ファンクションへの関連付け

  例      [image]   次のステップ

サブプログラムを外部ファンクションへ関連付けるには:

 外部ファンクションをコールするサブプログラムは、少なくとも1つのパラメータを持っている必要があり、最初のパラメータはその外部ファンクションへのハンドルである必要があります。次のORA_FFIファンクションを使用して、外部ファンクションへのハンドルを取得します。

•	Ora_Ffi.Find_Function

•	Ora_Ffi.Register_Function

次の例は、外部ファンクションを起動するPL/SQLサブプログラムの例です。

PROCEDURE sp_name(ff_handle Ora_Ffi.Funchandletype);
  PRAGMA interface(C, sp_name, 11265);

この例では、ff_handleは外部ファンクションへのハンドルを示し、sp_nameはサブプログラムの名前を示します。このプロシージャをコールすると、PRAGMA文によって、ダイナミック・ライブラリとの連絡方法を認識しているOracle製品内のメモリー位置へ制御が渡されます。

重要事項：	サブプログラム名を除いて、PRAGMA文は、さきほど指定したようにサブプログラムの本体に指定する必要があります。Ora_Ffiの例1Aでは、サブプログラムmathlibを定義しています。サブプログラムmathlibには、C関数powをコールするためのPRAGMAが含まれています。 このファンクションは、指定された数で数値を累乗します。

注意:	Ora_Ffi.Generate_Foreignファンクションは、必要なすべてのPRAGMAディレクティブを含めて、指定されたダイナミック・ライブラリで定義されているすべての外部ファンクションをコールするためのPL/SQLコードのパッケージを自動的に生成します。Ora_Ffiの例1Bでは、PRAGMAのかわりにOra_Ffi.Generate_Foreignファンクションを使用してサブプログラムmathlibを定義しています。 このサブプログラムは、C関数powをコールして、指定された数で数値を累乗しています。


外部ファンクション定義の疑似実行

  例      [image]  関連項目

外部ファンクション定義を疑似実行するには:

 定義したサブプログラムは、外部ファンクションに直接対応するため、そのファンクションの定義を疑似実行する必要があります。たとえば、次のようなダイナミック・ライブラリ内のC関数の定義を考えてみます。

float tax(float amt, float rate)

この外部ファンクションをPL/SQLサブプログラムにマップするには、2つのNUMBERパラメータおよびNUMBER戻り値の型を持つPL/SQLファンクションを作成する必要があります。

FUNCTION ffi_tax(ff_handle Ora_Ffi.FUNCHANDLETYPE,
                 x NUMBER, y NUMBER)
  RETURN NUMBER;
  PRAGMA interface(C, ffi_tax, tax, 11265);

また、別の例として、次のようなCのファンクション定義を考えてみます。

void show_message(char *msg)

このC関数は値を戻さないため、1つのVARCHAR2パラメータを受け入れるPL/SQLプロシージャと関連付ける必要があります。

PROCEDURE ffi_show_message(ff_handle Ora_Ffi.FUNCHANDLETYPE,
                           msg IN OUT VARCHAR2);
  PRAGMA interface(C, ffi_show_message, show_message, 11265);

外部ファンクションへのハンドルは、サブプログラムに渡す最初のパラメータである必要があります。


CからPL/SQLへの型の変換

CからPL/SQLに型を変換するには:

 PL/SQLサブプログラム内のパラメータ定義または戻り値の型は、対応するCのデータ型に依存します。次の表には、Cのデータ型とそれに必要なPL/SQLパラメータ定義または戻り値の型との関係が示されています。

Cのデータ型	PL/SQLパラメータ	PL/SQL戻り値の型
Char	IN VARCHAR2	VARCHAR2
char *	IN OUT VARCHAR2	VARCHAR2
double	IN NUMBER	NUMBER
double *	IN OUT NUMBER	NUMBER
float	IN NUMBER	NUMBER
float *	IN OUT NUMBER	NUMBER
int	IN PLS_INTEGER	PLS_INTEGER
int *	IN OUT PLS_INTEGER	PLS_INTEGER
long int	IN PLS_INTEGER	PLS_INTEGER
long int *	IN OUT PLS_INTEGER	PLS_INTEGER
short	IN PLS_INTEGER	PLS_INTEGER
short *	IN OUT PLS_INTEGER	PLS_INTEGER
void *	IN OUT Ora_Ffi.Pointertype	Ora_Ffi.Pointertype


Ora_Ffiの例1A

  関連項目

ここでは、mathlibダイナミック・ライブラリからのC関数の呼び出し、およびProcedure Builderでファンクションの起動に使用されるPL/SQL構成体の例を説明します。

注意:	外部ファンクションの登録および管理を簡略化するために、1つのライブラリに関係するすべてのPL/SQL構成体を1つのPL/SQLパッケージ内に配置することをお薦めします。これによって、コールのたびに外部ファンクションにその外部ファンクション・ハンドルを渡す必要のない、簡単なサブプログラムを作成できます。

Microsoft Windowsのランタイム・ライブラリC:\windows\system\msvcrt.dllにあるC関数powのためのインタフェースを作成する場合を考えます（powファンクションは、xをy乗します）。

int pow(int x, int y)

まず、ライブラリを表すパッケージ仕様を作成し、起動するPL/SQL関数を定義します。

PACKAGE mathlib IS
   FUNCTION pow(x NUMBER, y NUMBER)
     RETURN NUMBER;
END;

さきほど定義した、PL/SQL関数mathlib.powをコールし、ダイナミック・ライブラリmsvcrt.dllからの外部ファンクションpowを起動します。

このサブプログラムは、ライブラリまたは外部ファンクションへのハンドルを必要としないことに注意してください。便宜を図るために、さまざまな登録は下記で定義するパッケージ本体で処理されます。

注意:	この例はPRAGMAコンパイラ・ディレクティブを使用して、ファンクションff_to_powerがPL/SQL関数ではなく、実際にはC関数としてコンパイルされることをPL/SQLコンパイラに伝えます。Ora_Ffiの例1Bでは、Ora_Ffi.Generate_Foreignファンクションを使用してPL/SQLのmathlibパッケージを生成し、同じ結果を得る方法を示します。例1Bでは、PRAGMAディレクティブは、Ora_Ffi.Generate_Foreignファンクションによって自動的に処理されます。

PACKAGE BODY mathlib IS
  /* Declare the library and function handles.*/
  mathlib_lhandle   Ora_Ffi.Libhandletype;
  to_power_fhandle  Ora_Ffi.Funchandletype;

  /* Create the PL/SQL function that will actually */
  /* invoke the foreign function.                  */
  FUNCTION ff_to_power(fhandle Ora_Ffi.Funchandletype,
         x NUMBER, y NUMBER)RETURN NUMBER;
  PRAGMA interface(C, ff_to_power, 11265);

  /* Create the PL/SQL function that is defined in */
  /* the package spec.This function simply       */
  /* passes along the arguments it receives to     */
  /* ff_to_power (defined above), prepending the   */
  /* foreign function handle to the argument List.*/
  FUNCTION pow(x NUMBER, y NUMBER) RETURN NUMBER IS
  BEGIN
    RETURN(ff_to_power(to_power_fhandle, x, y));
  END pow;

/* Define the body of package mathlib */
BEGIN

  /* Load the library.*/
  mathlib_lhandle := Ora_Ffi.Load_Library
         ('C:\WINDOWS\SYSTEM\', 'msvcrt.dll');

  /* Register the foreign function.*/
  to_power_fhandle := Ora_Ffi.Register_Function
         (mathlib_lhandle, 'pow', Ora_Ffi.C_Std);

  /* Register both parameters of function to_power.*/
  Ora_Ffi.Register_Parameter(to_power_fhandle,
                             Ora_Ffi.C_DOUBLE);
  Ora_Ffi.Register_Parameter(to_power_fhandle,
                             Ora_Ffi.C_DOUBLE);

  /* Register the return type.*/
  Ora_Ffi.Register_Return(to_power_fhandle, Ora_Ffi.C_DOUBLE);

END;  /* Package Body Mathlib */

mscvrt.dllからのC関数powを起動するには、次の例のように、mathlibパッケージ仕様部に定義されたPL/SQL関数powをコールします。次に例を示します。

PL/SQL>

PROCEDURE raise_to_power (a in number, b in number) IS
   BEGIN
      text_io.put_line(mathlib.pow(a,b));
   END;

PL/SQL> raise_to_power(2,9);

512


Ora_Ffiの例1B

  関連項目

次に示すのは、Ora_Ffiの例1Aで示したC関数powを実装する別の方法です。この例では、Ora_Ffi.Generate_Foreignファンクションを使用してPL/SQLパッケージを生成します。外部C関数のコンパイルに必要なPRAGMAコンパイラ・ディレクティブは、生成されるパッケージに自動的に組み込まれるために、このパッケージ本体では使用されていません。

/* Create package mathlib that will generate a PL/SQL
package using a foreign file C function to raise a
number to a power.he parameter, pkg_name, lets you
specify the name of the generated package.*/
PACKAGE mathgen IS
   PROCEDURE gen(pkg_name IN VARCHAR2);
END;

PACKAGE BODY mathgen IS
   /* Define the 'gen' procedure that will generate the
      foreign file package.*/
   PROCEDURE gen(pkg_name IN VARCHAR2) IS
      /* Declare the library and function handles.*/
      mathlib_lhandle   Ora_Ffi.Libhandletype ;
      to_power_fhandle  Ora_Ffi.Funchandletype ;

   BEGIN   /* package body mathlib */
      /* Load the library.*/
      mathlib_lhandle := Ora_Ffi.Load_Library
         ('C:\WINDOWS\SYSTEM\', 'msvcrt.dll');

      /* Register the foreign function.*/
      to_power_fhandle := Ora_Ffi.Register_Function
         (mathlib_lhandle, 'pow', Ora_Ffi.C_Std);

      /* Register both parameters of the foreign function.*/
      Ora_Ffi.Register_Parameter (to_power_fhandle,
                             Ora_Ffi.C_DOUBLE);
      Ora_Ffi.Register_Parameter(to_power_fhandle,
                             Ora_Ffi.C_DOUBLE);

      /* Register the return type of the foreign function.*/
      Ora_Ffi.Register_Return (to_power_fhandle, Ora_Ffi.C_DOUBLE);

      /* Generate a PL/SQL package containing the foreign C function,
         'pow.'You can name the new package by specifying a value
          for the parameter, pkg_name, when you generate the package.*/
      Ora_Ffi.generate_foreign(mathlib_lhandle, pkg_name);

   END; /* Procedure gen */
END; /* Package Body mathgen */

このメソッドを使用して、数値を累乗するには、最初にパッケージmathgenとプロシージャgen.を使用してPL/SQLパッケージを生成します。たとえば、生成されたPL/SQL累乗パッケージをmathlibと呼ぶ場合、次のようにそのパッケージを生成します。

PL/SQL> mathgen.gen('mathlib');

次に、パッケージmethlibから累乗ファンクションを起動するには、次のようなプロシージャを記述します。

PROCEDURE raise_to_power (a in number, b in number) IS
   BEGIN
      text_io.put_line(mathlib.pow(a,b));
   END;

PL/SQL> raise_to_power(5,2);

25


Ora_Ffiの例2

  関連項目

ここでは、イメージ・ダイナミック・ライブラリからのイメージを表示するC関数の呼び出しおよびProcedure Builderでファンクションの起動に使用されるPL/SQL構成体の例を説明します。

注意:	外部ファンクションの登録および管理を簡略化するために、1つのライブラリに関係するすべてのPL/SQL構成体を1つのPL/SQLパッケージ内に配置することをお薦めします。これによって、コールのたびに外部ファンクションにその外部ファンクション・ハンドルを渡す必要のない、簡単なサブプログラムを作成できます。

ライブラリC:\oralibs\imglib.dll内にある、次のC関数へのインタフェースを作成するとします。

void *get_image(char *imgkey)
void show_image(void *binimage, float iscale)

get_imageファンクションはキーワード引数を使用して画像データをロードし、次にそのバイナリ・データを指す汎用ポインタ（型指定のないポインタ）を戻します。次に、画像を画面に表示するshow_imageにそのポインタと拡大係数を渡します。

まず、ライブラリを表現するパッケージ仕様部を作成し、起動するPL/SQL関数を定義します。

PACKAGE imglib IS
  FUNCTION get_image(ikey IN OUT VARCHAR2)
    RETURN Ora_Ffi.Pointertype;

  PROCEDURE show_image(idata IN OUT Ora_Ffi.POINTERTYPE,
                       iscale NUMBER);
END;   /* package imglib */

パッケージ本体は、次のように定義されます。

PACKAGE BODY imglib IS
  /* Declare the library and function handles.*/
  imglib_lhandle      Ora_Ffi.Libhandletype;
  get_image_fhandle   Ora_Ffi.Funchandletype;
  show_image_fhandle  Ora_Ffi.Funchandletype;

  /* Create the PL/SQL function that will actually  */
  /* invoke the 'get_image' foreign function.       */
  FUNCTION ff_get_image(fhandle Ora_Ffi.FUNCHANDLETYPE,
                        ikey IN OUT VARCHAR2)
    RETURN Ora_Ffi.Pointertype;
    PRAGMA interface(C, ff_get_image, 11265);

  /* Create the 'get_image' PL/SQL function that is */
  /* defined in the package spec.                   */
  FUNCTION get_image(ikey IN OUT VARCHAR2)
    RETURN Ora_Ffi.Pointertype IS
  BEGIN
    RETURN(ff_get_image(get_image_fhandle, ikey));
  END;   /* function get_image */

  /* Create the PL/SQL procedure that will actually */
  /* invoke the 'show_image' foreign function.      */
  PROCEDURE ff_show_image(fhandle Ora_Ffi.FUNCHANDLETYPE,
                          idata IN OUT Ora_Ffi.POINTERTYPE,
                          iscale NUMBER);
    PRAGMA interface(C, ff_show_image, 11265);

  /* Create the 'show_image' PL/SQL procedure that is */
  /* defined in the package spec.                     */
  PROCEDURE show_image(idata IN OUT Ora_Ffi.POINTERTYPE,
                       iscale NUMBER) IS
  BEGIN
    ff_show_image(show_image_fhandle, idata, iscale);
  END;   /* procedure show_image */

BEGIN   /* package body imglib */

  /* Load the library.*/
  imglib_lhandle := Ora_Ffi.Load_Library
         ('C:\oralibs\', 'imglib.dll');

  /* Register the foreign functions.*/
  get_image_fhandle := Ora_Ffi.Register_Function
         (imglib_lhandle, 'get_image', Ora_Ffi.C_Std);
  show_image_fhandle := Ora_Ffi.Register_Function
         (imglib_lhandle, 'show_image', Ora_Ffi.C_Std);

  /* Register the parameters.*/
  Ora_Ffi.Register_Parameter(get_image_fhandle,
                             Ora_Ffi.C_Char_Ptr);

  Ora_Ffi.Register_Parameter(show_image_fhandle,
                             Ora_Ffi.C_Void_Ptr);
  Ora_Ffi.Register_Parameter(show_image_fhandle,
                             Ora_Ffi.C_Float);

  /* Register the return type ('get_image' only).*/
  Ora_Ffi.Register_Return(get_image_fhandle,
                          Ora_Ffi.C_Void_Ptr);

END;   /* package body imglib */

外部ファンクションを起動するには、次の例のように、パッケージ仕様部で定義されたPL/SQLプロシージャをコールします。

PROCEDURE display_image(keywrd IN OUT VARCHAR2) IS
  img_ptr  Ora_Ffi.Pointertype;
BEGIN
  img_ptr := imglib.get_image(keywrd);
  imglib.show_image(img_ptr, 2);
END;   /* procedure display_image */


ORA_FFI例

1.  mathlibダイナミック・ライブラリからのC関数のコール

•	PRAGMAコンパイラ・ディレクティブの明示的な使用

•	Ora_Ffi.Generate_Foreignファンクションの使用

2.  イメージ表示ダイナミック・ライブラリからのC関数のコール


ロギングについて

  関連項目

Procedure Builderを使用すれば、インタプリタの入力および出力を記録できます。ロギングを使用可能にすると、ロギングを中断または終了しない限り、インタプリタに入力したコマンドおよびインタプリタによるすべての出力メッセージがログ・ファイルに追加されるか、または書き込まれます。

対策	ダイアログ・ボックス	アクセス方法
新しいログ・ファイルの開始	「ログ・インタプリタ」	「ファイル」 [image] 「ログ」
ログ・ファイルへの追加	「ログ・インタプリタ」	「ファイル」 [image] 「ログ」
ロギングを使用不可にする	「ログ・インタプリタ」または 「PL/SQLインタプリタ・ログ」	「ファイル」 [image] 「ログ」または 「表示」 [image] 「インタプリタ・ログ」
ロギングを使用可能にする	「ログ・インタプリタ」または 「PL/SQLインタプリタ・ログ」	「ファイル」 [image] 「ログ」または 「表示」 [image] 「インタプリタ・ログ」
ロギングの停止	「PL/SQLインタプリタ・ログ」	「表示」 [image] 「インタプリタ・ログ」
ログ・ファイルの表示	「PL/SQLインタプリタ・ログ」	「表示」 [image] 「インタプリタ・ログ」


新しいログ・ファイルの開始

  関連項目

新しいログ・ファイルを開始するには:

1	「ファイル」 [image] 「ログ」を選択して、「ログ・インタプリタ」ダイアログ・ボックスを表示します。

2	「ファイル」テキスト・ボックスにディレクトリ・パスおよびファイル名を入力するか、「参照」をクリックしてご使用のオペレーティング・システムのファイル選択ダイアログ・ボックスを表示して、参照します。

インタプリタ・ログ・ファイルには、デフォルトで.logのファイル拡張子が割り当てられています。

3	「OK」をクリックして、選択されたログ・ファイルへのインタプリタの入力および出力の書込みを開始します。

次のコマンドは、インタプリタに表示されます。

PL/SQL > .LOG FILE filename
Log output file set to filename
PL/SQL>


既存のファイルへのロギングの追加

  関連項目

既存のファイルにロギングを追加するには:

1	「ファイル」 [image] 「ログ」を選択して、「ログ・インタプリタ」ダイアログ・ボックスを表示します。

2	「ファイル」テキスト・ボックスに既存のログ・ファイルのディレクトリ・パスおよびファイル名を入力するか、「参照」をクリックしてご使用のオペレーティング・システムのファイル選択ダイアログ・ボックスを表示して、参照します。

3	「追加」チェックボックスをチェックします。

4	「OK」をクリックして、変更を適用し、「ログ・インタプリタ」ダイアログ・ボックスをクローズします。

次のコマンドは、インタプリタに表示されます。

PL/SQL > .LOG FILE filename APPEND
Log output file set to filename
PL/SQL>


ロギングを使用不可にする

  関連項目

ロギングを使用不可にするには:

1	「ファイル」 [image] 「ログ」を選択して、「ログ・インタプリタ」ダイアログ・ボックスを表示します。

2	「使用不可」チェックボックスをチェックします。

3	「OK」をクリックして、変更を適用し、「ログ・インタプリタ」ダイアログ・ボックスをクローズします。

次のコマンドは、インタプリタに表示されます。

PL/SQL > .DISABLE LOGGING
Logging disabled.
PL/SQL>


ロギングを使用可能にする

  関連項目

ロギングを使用可能にするには:

1	「ファイル」 [image] 「ログ」を選択して、「ログ・インタプリタ」ダイアログ・ボックスを表示します。

2	「使用不可」チェックボックスをチェックなしにします。

3	「OK」をクリックして、変更を適用し、「ログ・インタプリタ」ダイアログ・ボックスをクローズします。

次のコマンドは、インタプリタに表示されます。

PL/SQL > .ENABLE LOGGING
Logging disabled.
PL/SQL>


ログ・ファイルの表示

ログ・ファイルを表示するには:

1	「表示」メニューが表示されない場合は、「インタプリタ」ウィンドウをクリックしてアクティブにします。

2	「表示」 [image] 「インタプリタ・ログ」を選択して、「PL/SQLインタプリタ・ログ」ダイアログ・ボックスを表示します。

このダイアログ・ボックスから、現行のログ・ファイルの内容を表示したり、ロギングをオフにしたり、ロギングを一時的に使用不可にしたり、ロギングを使用可能にしたりすることができます。


ロギングの終了

ロギングを終了するには:

1	「表示」メニューが表示されない場合は、「インタプリタ」ウィンドウをクリックしてアクティブにします。

2	「表示」 [image] 「インタプリタ・ログ」を選択して、「PL/SQLインタプリタ・ログ」ダイアログ・ボックスを表示します。

3	「オフ」をクリックして、現行のログ・ファイルへのロギングを終了し、ダイアログ・ボックスをクローズします。

次のコマンドは、インタプリタに表示されます。

PL/SQL > .LOG OFF
Logging has been turned off.
PL/SQL>


デバッグ・アクションについて

コンパイルされたプログラム単位でデバッグ・アクションを作成すれば、ランタイム・エラーの場所を見つけて、それに対処できます。デバッグ作業のほとんどは、PL/SQLインタプリタとオブジェクト・ナビゲータで発生します。

デバッグ・アクションには、次の2つの基本的なタイプがあります。

•	ブレークポイント

•	デバッグ・トリガー

また、デバッグについて説明する場合、次の用語が使用されます。

•	実行可能なソース行

•	ソース位置

•	現行の有効範囲の位置

•	現行の実行位置


ブレークポイントについて

  関連項目

最も多いデバッグ・アクションのタイプは、ブレークポイントです。ブレークポイントを含むプログラム単位を実行すると、ブレークポイントを含む行の開始点で実行が停止されます。プログラム単位が停止されると、制御はただちにインタプリタに渡されます。ここで、プログラム単位の残りのコードを段階的に実行したり、実行しながらローカル変数の値を調べたり、変更できます。

ブレークポイントに対して「ブレーク・トリガー」を定義することもできます。ブレーク・トリガーは、ブレークポイントに到達するたびに実行するPL/SQLブロックです。ブレーク・トリガー中で使用するためのビルトイン・パッケージが、いくつか提供されています。


デバッグ・トリガーについて

  例

デバッグ・トリガーは、デバッグ・アクションのより一般的な形式です。デバッグ・トリガーは、任意のPL/SQLコードのブロックを、プログラム単位中の特定の実行可能なソース行に関連付けます。デバッグ・トリガーは、非常に負荷が高くなることがあるため、ときどき使用してください。

Procedure Builderは、デバッグ・トリガーが指定されている行に到達する直前にデバッグ・トリガーを実行します。次のいずれかの位置で起動するように、デバッグ・トリガーを割り当てることができます。

•	プログラム単位の1つの行（たとえば、現行のソース位置、5行目、23行目など）に到達したとき。

•	インタプリタに制御が移るたび（つまり、ブレークポイント、プログラムのステップ実行などのために、インタプリタがプログラムの実行を停止するたび）。

•	実行中のすべてのPL/SQLのソース行。

デバッグ・トリガーは、条件付きブレークポイントとして特に便利です。トリガー本体の複雑な制御ロジック内から、例外Debug.Breakを呼び出せます。たとえば、次に示すデバッグ・トリガーは、my_procの10行目に条件付きブレークポイントを設定します。 このブレークポイントは、ローカルなNUMBER変数my_salが5000を超えた場合にのみ到達します。

PL/SQL > .TRIGGER PROC my_proc LINE 10 IS
     +> IF Debug.Getn('my_sal') > 5000 THEN
     +>   RAISE Debug.Break;
     +> END IF;


実行可能なソース行について

デバッグ・アクションは、プログラム単位の「実行可能な」ソース行に付加する必要があります。ソース行は、PL/SQLコンパイラで生成されたコードを1つ以上含む場合に実行可能であると見なされます。たとえば、代入文およびプロシージャ・コールを含むソース行は実行可能ですが、コメントまたは空白行、宣言、NULL文を含むソース行は実行可能ではありません。


ソース位置について

ソース位置は、インタプリタのソース・ペインでの現行のカーソル位置に対応しています。Procedure Builderの多くのコマンドでは、現行のソース位置をコマンドのターゲットとして指定できます。コマンドの構文では、現行のソース位置はドット、つまりピリオドのキーワード（.）で示されます。

たとえば、次のコマンドでは、現行のソース位置にブレークポイントを作成します。

PL/SQL > .BREAK .


コール・スタックについて

コール・スタックは、初期のエントリ・ポイントから現在実行中のサブプログラムに至る、サブプログラム・コールの連鎖を表します。たとえば、プロシージャAがプロシージャBを、プロシージャBがプロシージャCをコールし、現在プロシージャCの文を実行中の場合、現行の呼出し連鎖は次のように表示されます。

[0] Procedure Body A Line n[1] Procedure Body B Line n[2] Procedure Body C Line n

各サブプログラム・コールは、コール・スタックのフレームによって表されます。フレームには、対応するサブプログラム・コールに関する情報（サブプログラム名、実際のパラメータの値、ローカル変数の値、および次に実行される文）が含まれます。

Procedure Builderでは、下方にスタックする標準的なデバッグ・モデルを使用しており、新しく開始されたサブプログラムは、スタックの一番下に追加されます。したがって、初期のプログラム・エントリ・ポイントに対応する最初のフレームがスタックの一番上にあり、最も深くネストされたサブプログラム呼出しに関係付けられた最後のフレームがスタックの一番下にあります。

スタック・フレームには0～Nの番号が付けられており、0番目のフレームはスタックの一番上にあり、N番目のフレームは一番下にあります。したがって、0番目のフレームは元のエントリ・ポイントに、N番目のフレームは現在実行中のサブプログラムに対応します。

実行中のプログラム単位がデバッグ・アクションによって停止されると、オブジェクト・ナビゲータの「スタック」ノードが自動的に拡張されます。「スタック」ノードの下の各サブノードは、コール・スタックのフレームに対応し、スタック・フレームと同様に番号が付けられています。


現行の有効範囲の位置について

現行の有効範囲の位置によって、Procedure Builderがローカル変数およびパラメータをどこで探すかが示されます。これは、コール・スタック上のPL/SQLサブプログラムの現行の実行位置に対応します。

プログラム単位の実行が（たとえば、デバッグ・アクションによって）中断されるたびに、有効範囲の位置は、コール・スタックの一番下のサブプログラムの実行位置に初期化されます。実行が中断されると、現行の有効範囲の位置をコール・スタック上の別のフレームに変更できます。これによって、コール・スタック上の別のサブプログラム中のローカル変数を表示できます。


デバッグ・レベルについて

デバッグ・アクションがプログラムの実行に割り込むと、インタプリタに制御が移り、デバッグ・レベルと呼ばれるものが設定されます。デバッグ・レベルでは、コマンドおよびPL/SQL文を入力して、割り込まれたプログラム単位の状態を検査および変更したり、実行を再開できます。

デバッグ・レベルで対話形式によって入力したコード、または検出したコード自体も、すべて（たとえば、別のブレークポイントを検出することによって）停止できるので、デバッグ・レベルはネストする場合があります。デバッグ・レベル同士を区別しやすくするため、デバッグ・レベルには番号が付けられています。最も深くネストされたレベルには、最も大きな番号が割り当てられます。番号は最も外側のレベルから、0（ゼロ）で始まります。

0番目、つまり最も外側のレベルは、通常、トップ・レベルと呼ばれ、明示的に番号は付けられていません。トップ・レベルは、プログラム単位が最初に呼び出された最も外側のレベルなので、このレベルに関係付けられたプログラム状態はありません。トップ・レベルから呼び出されたコードが中断されると、デバッグ・レベル1が設定されます。同様に、デバッグ・レベル1から呼び出されたコードが中断されると、デバッグ・レベル2が設定されます。

インタプリタのコマンド・プロンプトには、現行のデバッグ・レベルが表示されます。インタプリタがトップ・レベルの下のレベルに入ると、プロンプトには、現行のデバッグ・レベル番号を含む接頭辞が付きます。たとえば、デバッグ・レベル1では、インタプリタのコマンド・プロンプトは次のように表示されます。

(Debug 1)PL/SQL>


現行の実行位置について

現行の実行位置は、次に実行されるPL/SQLのソース行を示します。これは、通常プログラム・カウンタ（PC）と呼ばれているものに相当します。プログラムの実行中に制御がインタプリタに渡された場合（たとえば、ブレークポイントを検出するか、ステップ実行操作を続ける場合）、現行の実行位置はソース・ペインで=>記号によって示されます。


Procedure Builderでのデバッグ・プロセスについて

PL/SQLインタプリタは、Procedure Builderの集中デバッグ作業領域です。デバッグ・プロセスは、次の手順から構成されています。

•	インタプリタにプログラム単位のソースを表示します。

•	次のデバッグ・アクションを作成します。

ブレークポイント

デバッグ・トリガー

•	プログラム単位を実行します。

•	ローカル変数の値を検査し、変更します。

•	次のようにして、プログラム単位の実行を制御します。

コードをステップ実行します。

プログラム単位の実行を再開します。

現行のデバッグ・レベルを終了します。

Procedure Builderを終了すると、デバッグ・アクションは廃棄されることに注意してください。


インタプリタへのプログラム単位のソースの表示

  次のステップ      [image]  関連項目

インタプリタにプログラム単位のソースを表示するには:注意

1	PL/SQLインタプリタがまだオープンしていない場合は、「プログラム」 [image] 「PL/SQLインタプリタ」を選択して、表示します。

2	PL/SQLインタプリタとオブジェクト・ナビゲータの両方が見えるように、デスクトップを整理します。

3	オブジェクト・ナビゲータで、表示したいソースを含むプログラム単位をクリックします。

PL/SQLインタプリタのソース・ペインに、プログラム単位の読込み専用のコピーが（行番号付きで）表示されます。

ソース・ペインは、デバッグ中に中断したプログラム単位の現行の実行位置を探すときに使用します。プログラム単位のソースを表示すると、デバッグ・アクションを作成する位置を決めることができます。

デフォルトでは、現行のソース行はペインの最初の文になります。LISTコマンドを使用して、現行のソース位置にする行番号を指定します。


このプロセスは、サーバー側のプログラム単位でも同じです。


単純なブレークポイントの作成

  次のステップ	  関連項目

単純なブレークポイントを作成するには:注意

1	オブジェクト・ナビゲータで、ブレークポイントを作成するプログラム単位をクリックし、それをPL/SQLインタプリタのソース・ペインに表示します。

2	PL/SQLインタプリタのソース・ペインで、ブレークポイントを作成する実行可能なソース行をダブルクリックします。

ブレークポイントを作成して、一意の数値のIDを割り当てます。  このIDを使用して、Procedure BuilderコマンドまたはDEBUGパッケージの使用時にブレークポイントを参照します。


トリガー付きブレークポイントの作成

  例	  次のステップ	  関連項目

トリガー付きブレークポイントを作成するには:注意

1	オブジェクト・ナビゲータで、プログラム単位をクリックし、それをPL/SQLインタプリタのソース・ペインに表示します。

2	PL/SQLインタプリタのソース・ペインで、ブレークポイントを作成する実行可能なソース行をクリックします。

3	ソース・ペインのポップアップ・メニュー（Windowsでは右クリック）から「ブレーク」を選択して、「PL/SQLブレークポイント」ダイアログ・ボックスを表示します。

4	ブレーク・トリガーの本体を「トリガー」テキスト・ボックスに入力します。

BEGINキーワードおよびENDキーワードは不要であることに注意してください。

5	「OK」をクリックして、ブレーク・トリガーをコンパイルし、ブレークポイントを作成します。

ブレークポイントを作成して、一意の数値のIDを割り当てます。  このIDを使用して、Procedure BuilderコマンドまたはDEBUGパッケージの使用時にブレークポイントを参照します。

プログラム実行がブレークポイントに到達するたびに、トリガーが起動されます。


例:  トリガー付きブレークポイント

次の例では、ブレークポイントに到達するたびにトリガーを起動するブレークポイントを作成します。

PL/SQL> .break proc my_proc line 10 trigger
     +> DEBUG.INTERPRET('.SHOW LOCALS');


デバッグ・トリガーの作成

  例	  次のステップ	  関連項目

デバッグ・トリガーを作成するには:注意

1	オブジェクト・ナビゲータで、プログラム単位をクリックし、それをPL/SQLインタプリタのソース・ペインに表示します。

2	PL/SQLインタプリタのソース・ペインで、デバッグ・トリガーを作成する実行可能なソース行をクリックします。

3	ソース・ペインのポップアップ・メニュー（Windowsでは右クリック）から「トリガー」を選択して、「PL/SQLトリガー」ダイアログ・ボックスを表示します。

4	「場所」ドロップダウン・リストから場所を選択するか、デフォルトの場所（現行のプログラム単位のみ）を受け入れます。

場所の設定は、どこでデバッグ・トリガーを起動するかを示します。

5	「トリガー本体」フィールドに、デバッグ・トリガーを入力します。

BEGINキーワードおよびENDキーワードは不要であることに注意してください。

6	「OK」をクリックして、トリガーをコンパイルし、デバッグ・トリガーを作成します。

トリガーを作成して、一意の数値のIDを割り当てます。  このIDを使用して、Procedure BuilderコマンドまたはDEBUGパッケージの使用時にトリガーを参照します。

他のセッションで使用するためにデバッグ・トリガーを保存する場合は、無名ブロックをテキスト・ファイルに保存し、それを後でロードしたり、無名ブロックをライブラリに移動したりできます。

デバッグ・トリガーを使用して、指定したデバッグ・アクションをいつ発生させるかという条件を指定します。Procedure Builderが提供するいずれのパッケージを使用しても、デバッグ・アクションを定義できます。


例:  デバッグ・トリガー

  関連項目

次の例は、DEBUGパッケージを使用したデバッグ・トリガーの使用例について示しています。

例1

サブプログラムbarをコールするプログラム単位fooがあるとします。このサブプログラム（bar）は、他の多くのプログラム単位からもコールされます。ここではbarにブレークポイントを作成しますが、サブプログラムがfooからコールされたときにのみブレークポイントが使用可能になり、それ以外のプログラム単位からコールされたときは使用可能にならないようにします。

このためには、次のステップを実行する必要があります。

1	プロシージャbarで、実行を停止する位置にブレークポイントを作成します。

2	作成したブレークポイントを使用不可にします。

ステップ1と2は、どちらも「ブレークポイント」ダイアログ・ボックスの中で実行できます。プロシージャfooに、プロシージャbarに作成した最初のブレークポイントを使用可能にするブレークポイント・トリガー付きのブレークポイントを作成します。次に例を示します。

PL/SQL >.BREAK PROC foo LINE 6 TRIGGER
>BEGIN
>  Debug.Interpret('.enable break 1');
>  Debug.Interpret('.go');
>END;

例2

同じ状況で、プロシージャbarが、それをコールする多数のプロシージャから引数'message'を受け入れる場合を考えてみます。プロシージャfooは、'hello world'という一意の引数をbarに渡します。この場合、fooがその引数を渡すときにのみブレークポイントをコールするトリガーを次のようにプロシージャbarに定義できます。

PL/SQL > .TRIGGER PROC bar LINE 3 IS
+>BEGIN
>  IF Debug.Getn('message') = 'hello world' THEN
>    RAISE Debug.Break;
>  END IF;
>END;


プログラム単位の実行

  関連項目

プログラム単位を実行するには:注意

一度デバッグ・アクションを作成すれば、プログラム単位を実行して、実行を停止できます。

PL/SQLインタプリタのPL/SQL>プロンプトで、プログラム単位の名前とその後ろにセミコロン（;）を入力します。[Enter]キーまたは[Return]キーを押して、プログラム単位を実行します。

コールはセミコロン（;）で終了し、必要なパラメータをカッコで囲んで指定するようにしてください。プログラム単位の名前をミスタイプした場合は、インタプリタ・ペインのポップアップ・メニュー（Windowsでは右クリック）から「新規プロンプト」を選択して、新規プロンプトを表示させます。

デバッグ・アクションを検出すると、次の表示と似た（デバッグ・アクションによって異なる）出力が、インタプリタに表示されます。

>>Entering BREAKPOINT #n line n of programunit
(Debug1)PL/SQL>

停止されたプログラム単位の現行の実行位置は、ソース・ペインの=>記号で示されます。この位置は、コードをステップ実行するとともに変わります。


単純な変数およびパラメータの検査および変更

  関連項目

単純な変数およびパラメータを検査または変更するには:

1	オブジェクト・ナビゲータで「スタック」ノードをクリックします。

2	ツールバーの [image] をクリックして、すべてのサブノードを拡張します。

コール・スタックで、各フレームの変数とパラメータおよびその現在の値が、サブノードとして表示されます。

3	値を編集する場合は、変数またはパラメータをクリックして選択します。

4	編集する値を、もう一度クリックします。

カーソルが、テキスト・エディタのカーソルに変わります。

5	値を編集してから、[Enter]または[Return]キーを押して、変更を保存します。

次のコマンドは、インタプリタに表示されます。

Debug.Setc ('variable_name', 'new_value';)


複雑な変数の検査および変更

  関連項目

レコード表を検査または変更するには:

1	オブジェクト・ナビゲータで「スタック」ノードをクリックします。

2	検査する表のノードを選択します。

3	その表が50以上の行からなる場合は、「PL/SQL行」選択ダイアログ・ボックスが自動的に起動されます。検査する表が50未満の行からなる場合は、ご使用のプラットフォームに応じて、正しい[Shift]キーを押しながらクリック（たとえば、Windowsの場合は、マウスの右ボタンでクリック）します。「PL/SQL行」選択ダイアログ・ボックスが現れ、表中のすべてのレコードに対する索引のリストが表示されます。デフォルトでは、すべて選択されています。

4	検査しないすべてのレコードを選択解除します。「OK」をクリックして、「PL/SQL行」選択ダイアログ・ボックスをクローズします。

オブジェクト・ナビゲータでは、ダイアログ・ボックスで選択したレコードのみが拡張されます。


停止されたプログラム単位の実行の制御

  関連項目

停止されたプログラム単位の実行を制御するには:注意

プログラム単位の実行が停止された後で、プログラムの状態を任意に検査または変更するか、あるいはその両方を行った場合は、次のアクションを実行できます。

1	コードをステップ実行します。

2	プログラム単位の実行を再開します。

3	現行のデバッグ・レベルを終了します。

中断されたプログラムの実行を一時的に再開し、実質的にコードを段階的に実行していけば、実行すると同時にプログラムの状態を検査できます。制御は、指定した一連の文が実行されると、インタプリタに戻ります。


コードのステップ実行

  次のステップ	  関連項目

コードをステップ実行するには:注意

Procedure Builderは、プログラム単位を段階的に実行するために次のオプションを提供しています。最初の3つのオプションは、プログラム単位にサブプログラム・コールが含まれていない限り、同じ効果があります。

行う操作	オプション
次の文を実行する。	ステップ・イン
現行のプログラム単位内に限り、次の文を実行する（ネストされたサブプログラム・コールは実行される）。	ステップ・オーバー
元のプログラム単位内の次の実行可能文の実行を再開する（ネストされたサブプログラム・コールは完了される）。	ステップ・アウト
指定したソースの位置まで、実行を継続する。	指定先へ
次の方法を使用して、プログラムの実行を制御できます。

インタプリタのツールバーで、「ステップ・イン」、「ステップ・オーバー」、「ステップ・アウト」のいずれかのボタンをクリックする。

または

「デバッグ」 [image] 「ステップ」を選択して、「PL/SQLステップ」ダイアログ・ボックスを表示します。

注意:	「指定先へ」オプションは、インタプリタのツールバーでは使用できません。

「デバッグ」メニューから「ステップ」を選択すると、「PL/SQLステップ」ダイアログ・ボックスが表示されます。このダイアログ・ボックスを使用し、「モード」フィールドのラジオ・ボタンのいずれかを選択して、ステップ・オプションを指定できます。


プログラム単位の実行の再開

  関連項目

プログラムの実行を再開するには:注意

インタプリタのツールバーの「実行」ボタンをクリックします。

STEPコマンドとは異なり、GOはFORループを完全に実行します。プログラム単位の実行は、無期限に（つまり、現在実行中の実行スレッドが終了するまで、またはデバッグ・アクションのために再び中断されるまで）再開された状態になります。


現行のデバッグ・レベルの終了

  関連項目

現行のデバッグ・レベルを終了するには:   注意

インタプリタのツールバーの「リセット」ボタンをクリックします。

コマンド・ラインでRESETコマンドを使用すると、以前のデバッグ・レベルに、実行を明示的にリセットできます。デフォルトでは、トップ・レベルのデバッグにリセットします。これにより、現行のデバッグ・レベルで実行を継続することなく、外側のデバッグ・レベルに制御が戻ります（現行あるいは現行より高いデバッグ・レベルで、実行を完全に中止します）。


現行のデバッグ・アクションの表示

  関連項目

現行のデバッグ・アクションを表示するには:

オブジェクト・ナビゲータで「デバッグ・アクション」ノードを拡張します。

現在定義されている各デバッグ・アクションが、サブノードとして表示されます。次に例を示します。

(Breakpoint:Procedure Body FOO line 3)

デバッグ・アクションが使用不可になっている場合は、次のようにアスタリスク（*）付きで表示されます。

* (Breakpoint:Procedure Body FOO line 3)


デバッグ・アクションを使用不可にする

  関連項目

デバッグ・アクションを使用不可にするには:

1	オブジェクト・ナビゲータで、デバッグ・アクションのアイコンをクリックします。

2	ポップアップ・メニュー（Windowsでは右クリック）から、「使用不可」を選択します。

オブジェクト・ナビゲータで、ブレークポイントIDの後にアスタリスクが表示され、デバッグ・アクションが一時的に使用不可になったことを示します。特定のデバッグ・アクションを一時的に停止して、後で必要な場合にそれを復元できます。


デバッグ・アクションを使用可能にする

  関連項目

デバッグ・アクションを使用可能にするには:

1	オブジェクト・ナビゲータで、デバッグ・アクションのアイコンをクリックします。

2	ポップアップ・メニュー（Windowsでは右クリック）から、「使用可能」を選択します。

オブジェクト・ナビゲータで、ブレークポイントIDからアスタリスクが消えて、デバッグ・アクションが再びアクティブになったことを示します。


デバッグ・アクションの削除

  関連項目

デバッグ・アクションを削除するには:

1	オブジェクト・ナビゲータで、デバッグ・アクションのアイコンをクリックします。

2	ナビゲータのツールバーで、 [image] をクリックします。


特定のソース位置の設定

  関連項目

特定のソース位置を設定するには:注意

LISTコマンドを使用すれば、プログラム単位のソースを表示する他に、LINEキーワードによって現行のソース位置を設定できます。

たとえば、インタプリタで次のコマンドを入力すると、プロシージャbonusesのソース・テキストがリストされ、現行のソース位置を3行目に設定します。

PL/SQL > .LIST PROC bonuses LINE 3

ソース・ペインには次のように表示され、カーソルは、3行目の開始点に位置付けられます。

00001  PROCEDURE bonuses (my_ename IN CHAR) IS
00002   CURSOR c1 IS
00003 |   SELECT ename, sal*0.15 bonus FROM emp;
00004  BEGIN
00005   FOR c1rec IN c1 LOOP
00006    Text_IO.Putf('%s %s %s %s', 'Employee:',
00007     c1rec.ename, 'Bonus:', TO_CHAR(c1rec.bonus));
00008    Text_IO.New_Line;
00009   END LOOP;
00010  END;


DEBUGパッケージによる変数の検査および変更

  関連項目

DEBUGパッケージによって変数を検査または変更するには:注意

DEBUGパッケージでは、デバッグ・トリガー用に作られた多数のプロシージャおよびファンクションを提供しています。このようなビルトイン・サブプログラムの中で、次の2つを使用すれば、デバッグ・トリガーの本体のローカル変数およびパラメータの値の取り出しおよび変更ができます。

•	GETxファンクション

•	SETxプロシージャ

GETxファンクションを使用すれば、現行の有効範囲の位置にあるサブプログラムからローカルな変数またはパラメータの値を取り出すことができます。 ここでxは、変数のデータ型（NUMBERの場合はn、CHARの場合はcなど）を表します。

SETxプロシージャを使用すれば、現行の有効範囲の位置にあるサブプログラムにローカルな変数またはパラメータの値を設定できます。


現行の有効範囲の位置の変更

  関連項目

現行の有効範囲の位置を変更するには:

オブジェクト・ナビゲータで、「スタック」ノードの下のフレームをクリックします。

または

インタプリタのコマンド・ライン・プロンプトで、SET SCOPEコマンドを入力します。

SETコマンドを使用すれば、現行のスタック・フレームから任意の別のフレームへの相対的な動作を指定したり、コール・スタック上の特定のサブプログラムに移動したりできます。


サーバー・サイド・デバッグについて

Oracle7バージョン7.3.4以降、およびOracle8バージョン8.0.4以降では、サーバー・サイド・デバッグがサポートされています。つまり、ブレークポイントやデバッグ・トリガーの作成、コードのステップ実行、ローカル変数値の検査や変更などのデバッグ・アクションは、すべてストアド・プログラム単位上で直接実行できます。

クライアント・プロシージャが依存するストアド・プロシージャがリフレッシュされるたびに、そのクライアント・プロシージャを再コンパイルせずに済むように、サーバー・サイド・デバッグにはALTER SESSION権限が必要になります。また、セッションをタイムスタンプ・モードではなく署名モードにするためにも、ALTER SESSION権限が必要になります。

Oracle8バージョン8.0.3、およびバージョン7.3.4より前のOracle7では、ストアド・プログラム単位をクライアント側にドラッグしてデバッグします。デバッグが終了したら、プログラム単位をサーバー側に戻します。

また、DBMS_OUTPUTパッケージを使用してストアド・プログラム単位とデータベース・トリガーをデバッグすることもできます。このパッケージには、変数と式の値を出力するPUTプロシージャとPUT_LINEプロシージャが備わっています。DMBS_OUTPUTパッケージやその他のデータベース・パッケージの詳細については、『Oracle7 Severアプリケーション開発者ガイド』または『Oracle8 Severアプリケーション開発者ガイド』を参照してください。


PL/SQLプログラム単位について

  関連項目

プログラム単位とは、PL/SQLコンパイラによって独立して認識および処理できるPL/SQL構成体です。PL/SQLプログラム単位には、次のものが含まれます。

•	無名ブロック

•	サブプログラム

•	パッケージ


無名ブロックについて

  例 	  関連項目

無名ブロックとは、アクションの無名の順序です。無名ブロックとは、名前がなく、実行可能文を囲むBEGINおよびENDキーワードが必要ないPL/SQLプログラム単位です。これらの予約語には名前が付いていないため、その他のプログラム単位は無名ブロックを参照できません。

無名ブロックは、オプションの宣言部、実行部および1つ以上のオプションの例外ハンドラで構成されます。

宣言部は、PS/SQL変数、例外およびカーソルを宣言します。実行部は、PS/SQLコードおよびSQL文を含み、さらにネスト・ブロックを含むことができます。例外ハンドラには、例外の発生時にコールされるコードが含まれます。

無名ブロックは、一般に、その他の名前付きのプログラム単位を相互に起動する手段としてインタプリタで使用されます。たとえば、次の無名ブロックを入力すると、Text_IOパッケージ内のPut_Lineプロシージャがコールされます。

Text_IO.Put_Line('Hello');


無名ブロックの例

次のPL/SQL無名ブロックは、DBMS_OUTPUTパッケージを使用して、表emp_tabにおける部門20のすべての従業員名を印刷します。

DECLARE
   emp_name  VARCHAR2(10);
   cursor    c1 IS SELECT ename FROM emp_tab
                     WHERE deptno = 20;
BEGIN
   OPEN c1;
   LOOP
      FETCH c1 INTO emp_name;
      EXIT WHEN c1%NOTFOUND;
      DBMS_OUTPUT.PUT_LINE(emp_name);
   END LOOP;
END;


サブプログラムについて

  関連項目

サブプログラムは、名前付きのPL/SQLブロックで、パラメータを付けて起動させる（コールする）ことができます。サブプログラムは、その他のプログラム単位に参照されることがあります。

PL/SQLには、プロシージャおよびファンクションと呼ばれる2つのタイプのサブプログラムがあります。通常は、プロシージャでアクションを実行し、ファンクションで値を計算します。

サブプログラムには拡張性があります。つまり、必要に応じてPL/SQL言語を調整することができます。たとえば、新しい部門を作成するプロシージャが必要な場合、次のように簡単に作成することができます。

PROCEDURE create_dept (new_dname VARCHAR2, new_loc VARCHAR2) IS
BEGIN
  INSERT INTO dept
     VALUES (deptno_seq.NEXTVAL, new_dname, new_loc);
END create_dept;

サブプログラムにはモジュール性もあります。つまり、プログラムを、管理しやすい正しく定義されたロジック・モジュールに分割することができます。これにより、トップダウン設計と問題解決のための段階的詳細化アプローチをサポートします。

さらに、サブプログラムによって、再利用性およびメンテナンス性が促進されます。サブプログラムは妥当性チェックされると、任意の数のアプリケーションで確実に使用できます。その定義を変更すると、サブプログラムのみに影響があります。これにより、メインテナンスと拡張が簡単に行えるようになります。

最後に、サブプログラムは、抽象化、つまり特定項目からのメンタル分離を支援します。サブプログラムを使用するためには、サブプログラムがどのように作用するかではなく、何を行うかを知る必要があります。したがって、実際の処理について気にしなくても、トップダウンからアプリケーションを設計できます。ダミー・サブプログラム（スタブ）により、メイン・プログラムをテストおよびデバッグするまで、プロシージャおよびファンクションの定義を遅らせることができます。


プロシージャについて

  制限 	  例	  関連項目

プロシージャは、特定のアクションを実行するサブプログラムです。次の文を使用してプロシージャを作成します。

PROCEDURE name [(parameter[, parameter, ...])]IS
   [local declarations]
BEGIN
   executable statements
[EXCEPTION
   exception handlers]
END [name];

ここでparameterは次の構文を表します。

parameter_name [IN | OUT [NOCOPY] | IN OUT [NOCOPY]] datatype_name
   [{:= | DEFAULT} expression]

プロシージャには、次の2つの部分があります。

•	仕様部（短縮形ではspec）

•	本体

仕様部  プロシージャ仕様部は、キーワードPROCEDUREで始まり、プロシージャ名またはパラメータ・リストで終わります。パラメータ宣言はオプションです。パラメータを取らないプロシージャはカッコなしで記述されています。たとえば、プロシージャの仕様部proc1は、次のように表示されます。

PROCEDURE proc1 (param CHAR);

本体  プロシージャ本体は、キーワードISで始まり、オプションのプロシージャ名が後に続くキーワードENDで終わります。プロシージャ本体には3つの部分があります。つまり、宣言部、実行部およびオプションの例外処理部です。

宣言部にはローカルの宣言が含まれ、キーワードISとBEGINの間に配置されます。キーワードDECLAREは、無名PL/SQLブロックでの宣言を説明するもので、使用されません。

実行部には文が含まれ、キーワードBEGINとEXCEPTION（またはEND）の間に配置されます。少なくとも1文がプロシージャの実行部に表示されなければなりません。NULL文はこの要件を満たします。

例外処理部には例外ハンドラが含まれ、キーワードEXCEPTIONとENDの間に配置されます。

たとえば、プロシージャの本体proc1は、次のように表示されます。

PROCEDURE proc1 (param CHAR) IS
BEGIN
  Text_IO.Put_Line('Hello from PROC1');
END;

プロシージャはPL/SQL文としてコールされます。たとえば、プロシージャraise_salaryは次のようにしてコールします。

DECLARE
   emp_id NUMBER;
   amount REAL;
BEGIN
   ...
   raise_salary(emp_id, amount);


パラメータの制約

パラメータのデータ型は（NOT NULLなどを使用して）制限できません。たとえば、次のacct_id宣言は、データ型CHARがサイズ制限されているため、無効になります。

PROCEDURE reconcile (acct_id CHAR(5)) IS ...-- illegal

ただし、次の次善策により、パラメータ・タイプを間接的にサイズ制限できます。

DECLARE
   temp CHAR(5);
   SUBTYPE Char5 IS temp%TYPE;
   PROCEDURE reconcile (acct_id Char5) IS ...


プロシージャの例

指定した金額で従業員の給与を増やす、次のプロシージャraise_salaryについて考えてみます。

PROCEDURE raise_salary (emp_id INTEGER, amount REAL) IS
   current_salary REAL;
   salary_missing EXCEPTION;
BEGIN
   SELECT sal INTO current_salary FROM emp
     WHERE empno = emp_id;
   IF current_salary IS NULL THEN
      RAISE salary_missing;
   ELSE
      UPDATE emp SET sal = sal + amount
        WHERE empno = emp_id;
   END IF;
EXCEPTION
   WHEN NO_DATA_FOUND THEN
      INSERT INTO emp_audit VALUES (emp_id, 'No such number');
   WHEN salary_missing THEN
      INSERT INTO emp_audit VALUES (emp_id, 'Salary is null');
END raise_salary;

このプロシージャがコールされると、従業員番号と給与の増加金額が受け入れられます。従業員番号を使用して、empデータベース表から現在の給与を選択します。従業員番号が見当たらない場合や、現在の給与がNULLの場合、例外が発生します。このような場合を除き、給与は更新されます。


ファンクションについて

  例	  関連項目

ファンクションは、値を計算するサブプログラムです。ファンクションとプロシージャは、同じような構造ですが、ファンクションにはRETURN句があるという点が異なります。次の構文を使用してファンクションを作成します。

FUNCTION name [(parameter[, parameter, ...])]RETURN datatype IS
   [local declarations]
BEGIN
   executable statements
[EXCEPTION
   exception handlers]
END [name];

ここでparameterは次の構文を表します。

parameter_name [IN | OUT [NOCOPY] | IN OUT [NOCOPY]] datatype_name
   [{:= | DEFAULT} expression]

プロシージャのように、ファンクションには2つの部分があります。

•	仕様部（短縮形ではspec）

•	本体

仕様部  ファンクション仕様部は、キーワードFUNCTIONで始まり、結果の値のデータ型を指定するRETURN句で終わります。パラメータ宣言はオプションです。パラメータを取らないファンクションはカッコなしで指定します。

本体  ファンクション本体はキーワードISで始まり、オプションとしてファンクション名を続けられるキーワードENDで終わります。ファンクション本体には3つの部分があります。つまり、宣言部、実行部およびオプションの例外処理部です。

宣言部にはローカルの宣言が含まれ、キーワードISとBEGINとの間に配置されます。キーワードDECLAREは使用されません。

実行部には文が含まれ、キーワードBEGINとEXCEPTION（またはEND）との間に配置されます。1つ以上のRETURN文は、ファンクションの実行部に表示する必要があります。

例外処理部には例外ハンドラが含まれ、キーワードEXCEPTIONとENDとのに配置されます。

パラメータまたはファンクション結果のデータ型は（NOT NULLなどを使用して）制限できません。ただし、次善策によりそれらを間接的にサイズ制限することができます。「パラメータの制約」を参照してください。

ファンクションは式の一部としてコールされます。たとえば、ファンクションsal_okは次のようにしてコールされます。

DECLARE
   new_sal REAL;
   new_title VARCHAR2(15);
BEGIN
   ...
   IF sal_ok(new_sal, new_title) THEN ...

ファンクション識別子sal_okは、渡されたパラメータに値が依存する変数のように動作します。

このように、プロシージャ・コールが単なる文であるのに対し、ファンクション・コールは式なので、式が使用可能な箇所にのみ使用できます。たとえば、TO_CHARファンクションは、代入文(charvar := to_char(100);)の右側に使用できます。


ファンクションの例

従業員の給与が範囲外かどうかを決定するファンクションsal_okについて考えてみます。

FUNCTION sal_ok (salary REAL, title REAL) RETURN BOOLEAN IS
   min_sal REAL;
   max_sal REAL;
BEGIN
   SELECT losal, hisal INTO min_sal, max_sal
     FROM sals
     WHERE job = title;
   RETURN (salary >= min_sal) AND (salary <= max_sal);
END sal_ok;

このファンクションをコールすると、従業員の給与と役職が受け入れられます。この役職を使用して、salsデータベース表から範囲制限を選択します。ファンクション識別子sal_okは、RETURN文によって、ブール値に設定されます。給与が範囲外である場合、sal_okはFALSEに設定されますが、範囲内であれば、sal_okはTRUEに設定されます。


パッケージについて

  例	  関連項目

パッケージは、論理的に関連するサブプログラム（プロシージャおよびファンクション）、タイプ、変数およびカーソルのコレクションを定義します。パッケージには、通常次の2つの部分があります。

•	仕様部（必須。短縮形ではspec）

•	本体（オプション）

仕様部  仕様部は、パッケージ、つまり、その他のプログラム単位で参照できるタイプ、定数、変数、例外、カーソルおよびサブプログラムとのパブリック・インタフェースを宣言します

本体  本体には、パッケージの実際の処理部分となる、プライベート・サブプログラム、変数およびデータ型が含まれています。パッケージ本体に対する仕様部を変更せずに、パッケージ本体のデバッグ、拡張または置換ができます。パッケージが宣言のみで構成されている場合（たとえば、パッケージには、一連のデータ型の定義のみが含まれることがあります）、本体はオプションです。

パッケージ仕様部の宣言のみ参照したりアプリケーションへアクセスすることができます。パッケージ本体の実際の処理部分は、非表示でアクセスできません。したがって、本体（実装）はコール・プログラムを再コンパイルせずに変更できます。

パッケージは、Oracleデータベースでコンパイルおよび格納でき、データベースでは、その内容を多くのアプリケーションで共有できます。パッケージ化されたサブプログラムが最初にコールされるとき、パッケージ全体がメモリにロードされます。パッケージ内の関連サブプログラムの次のコールに、ディスクI/Oは必要ありません。

パッケージ仕様部で宣言されたタイプ、項目およびサブプログラムを参照するには、ドット表記法を使用します。次に例を示します。

package_name.type_name

package_name.item_name

package_name.subprogram_name

Procedure Builderによって、PL/SQLプログラム単位で使用可能なクライアント側のビルトイン・パッケージが多数提供されています。「Developerビルトイン・パッケージ」を参照してください。


パッケージの例

次の例では、2つの従業員プロシージャをパッケージしています。

CREATE PACKAGE emp_actions AS     -- package specification
   PROCEDURE hire_emp (empno NUMBER, ename CHAR);
   PROCEDURE fire_emp (emp_id NUMBER);
END emp_actions;

CREATE PACKAGE BODY emp_actions AS     -- package body
   PROCEDURE hire_emp (empno NUMBER, ename CHAR) IS
   BEGIN
      INSERT INTO emp VALUES (empno, ename);
   END hire_emp;
   PROCEDURE fire_emp (emp_id NUMBER) IS
   BEGIN
      DELETE FROM emp WHERE empno = emp_id;
   END fire_emp;
END emp_actions;


プログラム単位のコンパイルについて

  関連項目

プログラム単位の初めには、ソース・コードと呼ばれるテキスト形式の内容があります。プログラム単位をコンパイルすると、次のものがソースに追加されます。

PCODE	実行可能なランタイム・コード
DIANA	コンパイル後のプログラム単位の状態についての詳細情報で、クロス・リファレンス情報が含まれています。
記憶域のサイズに関する考慮点  コンパイル時に生成された追加情報によって、プログラム単位のサイズは大きくなります。プログラム単位のDIANAは、プログラム単位の中では最大サイズのコンポーネントです。

ライブラリに格納するプログラム単位の所定のセットについてサイズを考慮することが重要な場合、次の方法があります。

•	DIANAを含むプログラム単位のランタイム・バージョンを保存するには、SAVEコマンドとともにNOSOURCEキーワードを使用します。

•	プログラム単位のソースおよびPCODEのみを保存するには、SAVEコマンドとともにNODIANAキーワードを使用します。

•	プログラム単位の実行可能なPCODEのみを含むランタイムのみのライブラリ・バージョンを作成するには、GENERATEコマンドを使用します。

注意: プログラム単位の編集と再コンバイルを行う場合、ソース・コードが存在している必要があります。


アプリケーション・ロジックのパーティション化について

  関連項目

アプリケーションのPL/SQLプログラム単位をどこに格納するかによって、アプリケーションの実行時間と効率に大きな差が出ることがあります。次の表は、PL/SQLプログラム単位を格納する3つの場所と、それぞれに対応する実行場所を示しています。

格納場所	実行場所
プログラム単位ノード	クライアント
連結ライブラリ・ノード:   プログラム単位がファイル･システムに保存されている   プログラム単位がデータベースに格納されている	クライアント
データベース・オブジェクト・ノード:   PL/SQLストアド・プログラム単位のサブノード	サーバー
アプリケーションのPL/SQLコードをすべて開発すると、そのコードの適切な格納場所を評価する必要があります。

使用可能な評価基準には、次のものがあります。

•	実行時にアプリケーションを起動する際、アプリケーション内に存在するPL/SQLプログラム単位がメモリーにロードされます。

•	アプリケーションに連結されたライブラリに常駐するPL/SQLプログラム単位が、アプリケーションによってコールされるまでメモリーにロードされず、その後すぐに再利用できるようにメモリーに残留します。

•	ライブラリに常駐するPL/SQLプログラム単位を、その他のアプリケーションが再利用できます。

•	データベースのトランザクション・アクティビティを実行するPL/SQLプログラム単位を、クライアントとサーバー間のネットワーク・トラフィックを減らすためにサーバー上に格納できます。

オブジェクト・ナビゲータ内でオブジェクト（プログラム単位）をドラッグ・アンド・ドロップすると、アプリケーションのパーティション化アクティビティを実行できます。


プログラム単位の無効化について

  関連項目

無効化とは、コンパイル後のプログラム単位の状態がすでに破棄されていることを意味します。プログラム単位の仕様部（その名前およびパラメータ・リスト）を再定義すると、その仕様部を参照またはコールするその他のプログラム単位を無効にできます。その仕様部では、他のプログラム単位がプログラム単位のどの部分を参照できるかを定義します。

プログラム単位の本体を変更しても、本体をコールするプログラム単位は無効にはなりません。

現在定義されているその他のプログラム単位によって参照されるプログラム単位の仕様部を変更する場合、変更されたプログラム単位をコンパイルした直後に、オブジェクト・ナビゲータ内ではそれらのプログラム単位がコンパイルされた状態ではなくなることに注意してください。

コンパイルされていないプログラム単位は、ナビゲータ内に拡張できないノード・アイコンとともに表示され、プログラム単位名の後ろにはアスタリスクが表示されます。

オブジェクト・ナビゲータ内で変更されたプログラム単位ノードを拡張して「参照先」ノードをチェックし、変更されたプログラム単位を参照するプログラム単位の名前を表示できます。

サブプログラムの場合、仕様部は、仮パラメータ・リスト（ファンクションの場合は戻り値も）から構成されます。サブプログラムの仕様部は、別々にそのプログラム単位内に表示されるかまたはサブプログラムの本体によって暗黙的に指定されることがあります。暗黙的な仕様部は最も一般的で便利ですが、前方参照に関連する場合は個別のサブプログラム仕様が役に立ちます。

パッケージには、必ず個別のプログラム単位を含んでいる必要があります。仕様部のみ（およびパッケージ本体以外）は、その他のプログラム単位から参照できるため、パッケージ仕様部が変更された場合のみ無効化が発生することがあります。


クロス・リファレンスの解除について

  関連項目

Procedure Builderによってプログラム単位への参照が検出されると、次の順序でターゲット・プログラム単位を検索して、参照を解除しようとします。

1	ロードされ、コンパイルされたプログラム単位

2	ビルトイン・プログラム単位

3	ロードされたが、コンパイルされていないプログラム単位

一致したものがあると、参照されたプログラム単位はその時点でコンパイルされます。

4	連結ライブラリ

5	現行のデータベース内のストアド・プログラム単位


プログラム単位エディタでのプログラム単位の作成

  関連項目

プログラム単位エディタでプログラム単位を作成するには:

1	オブジェクト・ナビゲータで「プログラム単位」ノードを選択します。

2	ナビゲータ・ツールバーの [image] をクリックして「新規プログラム単位」ダイアログ・ボックスを表示します。

3	「名前」テキスト・ボックスにプログラム単位の名前を入力します。

4	作成するプログラム単位がプロシージャ（デフォルト）以外の場合、「タイプ」フィールドの「ファンクション」または「パッケージ仕様部/本体」ラジオ・ボタンをクリックします。

5	「OK」をクリックしてプログラム単位エディタを表示します。エディタに、プログラム単位の初期の仕様部が表示されます。

6	ソース・テキスト・ペインにプログラム単位のソースを入力します。

7	「コンパイル」をクリックし、プログラム単位をコンパイルします。

検出された構文エラーがコンパイル・メッセージ・ペインに表示されます。

8	「クローズ」をクリックし、プログラム単位エディタをクローズします。


インタプリタでのプログラム単位の作成

  関連項目

インタプリタでプログラム単位を作成するには:

インタプリタに直接ソースを入力するのみでプログラム単位を定義できます。インタプリタ・ペイン内のPL/SQL>プロンプトでは、有効なPL/SQL構文がすべて受け入れられます。

たとえば、Procedure Builder内で無名ブロックを作成および実行する場合、インタプリタのコマンド・プロンプトに次のPL/SQLを入力します。

PL/SQL > Text_IO.Put_Line('Hello World');


外部プログラム単位のインポートについて

  関連項目

プログラム単位定義のもう1つの方法は、テキスト・ファイルなどの外部ファイルからロードすることです。この方法は、PL/SQLを編集または管理（あるいはその両方）するために、外部アプリケーション（たとえば、エディタ、構成管理ツール、コード・ジェネレータ）を以前使用したことがある場合に特に便利です。

外部ソースからプログラム単位をインポートするには、次の方法があります。

•	1つのプログラム単位のテキスト・ファイルをロードします。

•	インタプリタ・スクリプトを実行します。

•	プログラム単位エディタにソース・テキストをインポートします。


1つのプログラム単位のロード

  関連項目

1つのプログラム単位をロードするには:

1	メニューから「ファイル」 [image] 「ロード」を選択し、「プログラム単位のロード」ダイアログ・ボックスを表示します。

2	「ファイル」フィールドにディレクトリ・パスおよびファイル名を入力します。 または、「参照」をクリックして、ご使用のオペレーティング・システムのファイル・ダイアログ・ボックスを表示し、ファイル名を参照します。

プログラム単位のテキスト・ファイルで使用されるデフォルトのファイル拡張子は、.plsです。

3	ロード・プロセス中の確認要求の必要がなければ、「確認の抑止」チェックボックスを選択します。

ロード中のプログラム単位と同じ名前のプログラム単位がすでに存在する場合は、確認を要求されることがあります。

4	「ロード」をクリックして、選択されたプログラム単位のテキスト・ファイルをロードおよびコンパイルします。

Procedure Builderによって、インタプリタ・ペインに.LOAD FILE filename（NOCONFIRM）コマンドが表示されます。プログラム単位は、インポートされ、再コンパイルされます。オブジェクト・ナビゲータ内に新規ノードが表示されます。


インタプリタ・スクリプトの実行

  関連項目

インタプリタ・スクリプトを実行するには:

1	メニューから「ファイル」 [image] 「インタプリタ」を選び、「インタプリタ・デバッグ・スクリプト」ダイアログ・ボックスを表示します。

2	「ファイル」フィールドにディレクトリ・パスおよびインタプリタ・スクリプトのファイル名を入力します。 または、「参照」をクリックして、ご使用のオペレーティング・システムのファイル・ダイアログ・ボックスを表示し、ファイル名を参照します。

インタプリタ・スクリプトは、一般に、.pldというファイル拡張子で識別されます。

3	処理中のスクリプト･コマンドを画面に表示するには、「エコー」チェックボックスを選択します。

4	インタプリタに表示されるコマンドおよびエラー･メッセージを抑止するには、「サイレント」チェックボックスを選択します。

5	スクリプト処理に際して確認のメッセージ･ボックスの表示を抑止するには、「確認の抑止」チェックボックスを選択します。

スクリプトによって作成されたプログラム単位またはライブラリと同じ名前のものが現行のセッションにすでに存在する場合は、確認を要求されることがあります。

6	設定を確認してインタプリタ･スクリプトを実行するには、「インタプリタ実行」をクリックします。

Procedure Builderのインタプリタ・ペインに、.INTERPRET FILE filenameコマンドが表示されます。インタプリタ・スクリプトが実行されます。新規のプログラム単位が作成されると、オブジェクト・ナビゲータ内にそのプログラム単位が表示されます。

インタプリタ・スクリプトには、PL/SQLプログラム単位のソース、Procedure BuilderのコマンドおよびSQL文を組み合せて入れることができます。


ソース・テキストのインポート

  次のステップ	  関連項目

ソース・テキストをインポートするには:

1	オブジェクト・ナビゲータで「プログラム単位」ノードを選択します。

2	ナビゲータ・ツールバーの [image] をクリックして「新規プログラム単位」ダイアログ・ボックスを表示します。

3	「名前」テキスト・ボックスにプログラム単位の名前を入力します。

4	作成するプログラム単位がプロシージャ（デフォルト）以外の場合、「タイプ」フィールドの「ファンクション」または「パッケージ仕様部/本体」ラジオ・ボタンをクリックします。

プログラム単位エディタにプログラム単位の初期の仕様部が表示されます。

5	ソース・テキストをインポートするソース・テキスト・ペインにカーソルを合わせます。

6	「ファイル」 [image] 「テキスト・インポート」を選択して、ご使用のオペレーティング・システムのファイル・ダイアログ・ボックスを表示します。

7	インポートするテキスト・ファイルの名前および格納場所を指定します。

8	「OK」をクリックして、ファイル・ダイアログ・ボックスを確定し、ファイルをインポートします。

そのテキスト・ファイルがプログラム単位エディタに表示されます。必要に応じて編集します。

9	「コンパイル」をクリックし、プログラム単位をコンパイルします。

10	終了したら、「クローズ」をクリックしてプログラム単位エディタをクローズします。


プログラム単位の編集

  次のステップ	  関連項目

プログラム単位を編集するには:

オブジェクト・ナビゲータで、プログラム単位のアイコンをダブルクリックし、プログラム単位エディタにプログラム単位を表示します。

または

プログラム単位エディタの「名前」ドロップダウン・リストでプログラム単位名をクリックします。

大量に編集する場合、「適用」ボタンをクリックして、プログラム単位に対する変更を保存します。再コンパイルは行われません。


プログラム単位の再定義

  関連項目

プログラム単位を再定義するには:

プログラム単位エディタで、既存のプログラム単位の内容を編集します。

または

同じ名前の新規外部プログラム単位をロードします。

または

インタプリタで、再定義するプログラム単位と同じ名前を使用して、新規プログラム単位のソースを入力します。

プログラム単位がとても短い場合または編集が制限されている場合、プログラム単位エディタ内で既存のプログラム単位を編集するのが最も簡単です。しかし、既存のプログラム単位を完全に変更して同じ名前を持つ別のプログラム単位に置換する場合（他のプログラム単位に設定されていたコールをすべて保持するため）、別のオプションの1つを使用します。


プログラム単位ソースの表示

  関連項目

プログラム単位エディタにプログラム単位ソースを表示するには:

オブジェクト・ナビゲータで、プログラム単位のアイコンをダブルクリックします。

プログラム単位自体の内容を編集する場合は、プログラム単位エディタを使用します。

インタプリタにプログラム単位のソースを表示するには:

1	PL/SQLインタプリタがまだオープンしていない場合は、「プログラム」 [image] 「PL/SQLインタプリタ」を選択して、表示します。

2	オブジェクト・ナビゲータとインタプリタの両方が参照できるように、ウィンドウを配置します。

3	オブジェクト・ナビゲータで、プログラム単位をクリックします。

プログラム単位のソースが、行番号とともにソース・ペインに表示されます。

行番号とともにプログラム単位のソースを表示する場合、インタプリタ・ソース・ペインを使用します。 その後、任意にプログラム単位をデバッグします。

注意: 「名前」ドロップダウン・リストには、現行の有効範囲で使用可能なプログラム単位（つまり、プログラム単位ノード、オープン・ライブラリ・ノードなど）のみが含まれています。


サブプログラムのコール

サブプログラムをコールするには:

1	プログラム単位エディタがオープンし、現行の（最後に選択された）ウィンドウになっていることを確認してください。

2	プログラム単位エディタ内で、サブプログラムのコールを挿入する場所にカーソルを合わせます。

3	オブジェクト・ナビゲータでプログラム単位の仕様部のノードを選択します。

これは、ユーザー定義のプログラム単位のサブプログラム仕様部またはビルトイン・パッケージ・サブプログラムです。

4	ポップアップ・メニュー（ウィンドウで右クリック）から、「名前ペースト」または「引数ペースト」を選択します。

選択されたサブプログラムは、プログラム単位エディタに挿入されます。

「名前ペースト」によって、サブプログラムの名前のみがペーストされます。「引数ペースト」によって、サブプログラムの名前および指定された引数タイプがペーストされます。 これは実際の値に置換できます。


プログラム単位の改名

  関連項目

プログラム単位を改名するには:

1	オブジェクト・ナビゲータで、プログラム単位のアイコンをダブルクリックして、プログラム単位エディタ内にプログラム単位をオープンします。

2	プログラム単位の本体で、プログラム単位の名前を編集します。

3	「コンパイル」をクリックして、新規名を適用します。

4	「クローズ」をクリックして、プログラム単位エディタをクローズします。

以前コンパイルされ、古いプログラム単位名に対するコールを含んだプログラム単位は、現在はすべてコンパイルされていない状態（名前の後ろにアスタリスク（*）が付く）で、オブジェクト・ナビゲータに表示されることに注意してください。

注意: プログラム単位を改名できるのは、プログラム単位エディタ内からのみです。その他のプログラム単位で参照されるプログラム単位を改名する場合、新しい名前が反映されるようにそれらの参照を変更する必要があります。


1つのプログラム単位内のテキストの検索および置換

  関連項目

1つのプログラム単位内のテキストを検索および置換するには:

1	プログラム単位エディタまたはストアド・プログラム単位エディタで、検索するプログラム単位をオープンします。

2	検索開始位置にカーソルを合わせます。

プログラム単位のソース内で現行のカーソル位置から、Procedure Builderによる検索が開始します。現行のプログラム単位の終わりまで検索すると、最初から検索を続行するかどうかを確認する要求が表示されます。

3	「編集」 [image] 「検索と置換」を選択し、「検索/置換」ダイアログ・ボックスを表示します。

4	検索基準および任意に置換文字列を入力します。

検索テキストには、テキスト文字列または正規表現のどちらかを指定できます。さらに、検索で大/小文字の区別を行うかどうかも指定できます。

5	「次を検索」をクリックして、検索を開始します。

検索基準のインスタンスが検索されたら、次の処理ができます。

•	「置換」をクリックして、1つのインスタンスを置換します。

•	「すべて置換」をクリックして、現行のプログラム単位内の検索インスタンスをすべて置換します。

•	エディタで直接テキストを編集します。


1つのプログラム単位のコンパイル

  関連項目

1つのプログラム単位をコンパイルするには:

1	オブジェクト・ナビゲータで、プログラム単位を選択します。

2	メイン・メニューから「プログラム」 [image] 「コンパイル」 [image] 「すべて」を選択して、選択されたプログラム単位をコンパイルします。

エラーが検出された場合、選択したプログラム単位のソースがプログラム単位エディタに表示され、コンパイル・エラー・メッセージ・ペインにコンパイル・エラーが表示されます。


選択されたプログラム単位のコンパイル

  関連項目

選択されたプログラム単位をコンパイルするには:

1	オブジェクト・ナビゲータで各プログラム単位のノードを選択します。

[Shift]キーを押しながらクリックして、範囲選択で一連のプログラム単位を選択します。 または、[Ctrl]キーを押しながらクリックして、範囲外のプログラム単位を選択します。

2	メイン・メニューから「プログラム」 [image] 「コンパイル」 [image] 「すべて」を選択して、選択されたプログラム単位をコンパイルします。

エラーが検出された場合、最初に選択したプログラム単位のソースがプログラム単位エディタに表示され、コンパイル・エラー・メッセージ・ペインにコンパイル・エラーが表示されます。


すべてのプログラム単位のコンパイル

  関連項目

すべてのプログラム単位をコンパイルするには:

1	オブジェクト・ナビゲータで「プログラム単位」ノードを選択します。

2	メイン・メニューから「プログラム」 [image] 「コンパイル」 [image] 「すべて」を選択し、現行のコンパイル状態に関係なく、すべてのプログラム単位をコンパイルします。

コンパイルの状態を示す「コンパイル」ダイアログ・ボックスが表示されます。


すべての未コンパイル・プログラム単位のコンパイル

  関連項目

すべての未コンパイル・プログラム単位をコンパイルするには:

1	オブジェクト・ナビゲータで「プログラム単位」ノードを選択します。

2	メイン・メニューから「プログラム」 [image] 「コンパイル」 [image] 「変更分」を選択し、現在コンパイルされていないプログラム単位のみをコンパイルします。

コンパイルの状態を示す「コンパイル」ダイアログ・ボックスが表示されます。


オブジェクト・ナビゲータでのプログラム単位情報の表示

オブジェクト・ナビゲータでプログラム単位情報を表示するには:

オブジェクト・ナビゲータで「プログラム単位」ノードをクリックし、ナビゲーション・ツールバーで [image] をクリックします。

オブジェクト・ナビゲータには、次のプログラム単位の情報が表示されます。

•	プログラム単位タイプ

•	仕様部

•	その他のプログラム単位、PL/SQLビルトイン・パッケージなどへの参照

•	その他のプログラム単位、PL/SQLビルトイン・パッケージなどによる参照


インタプリタでのプログラム単位情報の表示

  関連項目

インタプリタでプログラム単位情報を表示するには:

インタプリタ・コマンド・プロンプトで必要なキーワードおよび変数を指定するDESCRIBEコマンドを入力します。

次のプログラム単位の情報は、インタプリタ・ソース・ペインに書き込まれます。

•	プログラム単位タイプ

•	パラメータ

•	コンパイル状態

•	その他のプログラム単位、PL/SQLビルトイン・パッケージなどへの参照

•	その他のプログラム単位、PL/SQLビルトイン・パッケージなどによる参照


プログラム単位のテキスト・ファイルへのエクスポート

  関連項目

プログラム単位をテキスト・ファイルにエクスポートするには:

1	オブジェクト・ナビゲータで、プログラム単位アイコンをダブルクリックしてプログラム単位エディタをオープンします。

2	プログラム単位の一部分のみをエクスポートする場合、エクスポートするテキストを選択します。

3	「ファイル」 [image] 「テキスト・エクスポート」を選択し、ご使用のオペレーティング・システムのファイル・ダイアログ・ボックスを起動します。

4	エクスポートされたプログラム単位のテキスト・ファイルの名前およびディレクトリ位置を指定します。

プログラム単位のテキスト・ファイルで使用されるデフォルトの拡張子は、.PLSです。

5	「OK」をクリックしてダイアログ・ボックスを確定し、現行のプログラム単位のコピーを指定したテキスト・ファイルにエクスポートします。

ファイル・システム上のテキスト・ファイルにプログラム単位のソース・コードをエクスポートし、後でそれを戻すことができます。Procedure Builderでプログラム単位を定義およびデバッグした後、それをテキスト・ファイルにエクスポートして複数のユーザーに配布し、他のOracle製品に組み込む場合があります。プログラム単位はその一部でも、全体でもエクスポートできます。


データベースへのプログラム単位の格納

  関連項目

データベースにプログラム単位を格納するには:

1	オブジェクト・ナビゲータで、「データベース・オブジェクト」ノードを拡張します。

データベースに現在接続されていない場合、このアクションによって「接続」ダイアログが表示されるため、接続を確立できます。

2	アクセス権限を持ち、プログラム単位を格納するデータベースのユーザー名に対応するサブノードを拡張します。

サブノードの1つは、「PL/SQLストアド・プログラム単位」であることに注意してください。データベースに格納するプログラム単位を選択します。

3	「データベース・オブジェクト/ユーザー名」ノードの下の「PL/SQLストアド・プログラム単位」 サブノードの下にプログラム単位をドラッグ・アンド・ドロップします。

STOREコマンドは、インタプリタ・ペインに表示されます。

PL/SQL > .STORE SUBPROGRAM /"puname" BODY

PL/SQLストアド・プログラム単位は、Oracleデータベース・サーバーに常駐し、実行されるPL/SQLパッケージおよびサブプログラムです。


オブジェクト・ナビゲータからのプログラム単位の削除

  関連項目

オブジェクト・ナビゲータからプログラム単位を削除するには:

1	オブジェクト・ナビゲータで、プログラム単位を選択します。

2	ナビゲータ・ツールバーの [image] を選択またはメニューから「ナビゲータ」 [image] 「削除」を選択して、プログラム単位を削除します。

削除の確認を求めるメッセージ・ボックスが表示されます。

3	「はい」を選択して確認します。

次のコマンドは、インタプリタに表示されます。

PL/SQL > .DELETE PROCEDURE /"procname" BODY
Removing procedure procname...
PL/SQL>

注意: その他のプログラム単位で参照されるプログラム単位を削除する場合、削除を反映させるためにそれらの参照を削除する必要があります。


プログラム単位エディタからのプログラム単位の削除

  関連項目

プログラム単位エディタからプログラム単位を削除するには:

1	必要であれば、エディタの「名前」ドロップダウン・リストからプログラム単位を選択します。

2	「削除」を選択して、プログラム単位を削除します。

削除の確認を求めるメッセージ・ボックスが表示されます。

3	「はい」を選択して確認します。

プログラム単位が削除されます。

注意: その他のプログラム単位で参照されるプログラム単位を削除する場合、削除を反映させるためにそれらの参照を削除する必要があります。


PL/SQLストアド・プログラム単位について

  関連項目

PL/SQLストアド・プログラム単位は、スキーマ・オブジェクトとして、Oracleデータベース・サーバーで作成され、格納されるPL/SQLパッケージおよびサブプログラム（プロシージャおよびファンクション）です。ストアド・プログラム単位は、作成されてコンパイルされると、再コンパイルしなくてもデータベースで実行可能な、ユーザー命名オブジェクトになります。

ストアド・プログラム単位エディタは、ストアド・プログラム単位の開発に必要な、作成、編集およびコンパイルの機能を備えています。ストアド・プログラム単位は、ユーザーのスキーマで作成して、その所有者の権限（定義者権限）または現行ユーザーの権限（実行者権限）を使用して実行できます。

コンパイル時に、Oracle PL/SQLエンジンに含まれるPL/SQLコンパイラは次のとおりです。

•	PL/SQLストアド・プログラム単位でソース・コードを解析して、解析ツリーを作成します。

•	解析されたコードに基づいて、疑似コードまたはPコードを生成します。

ストアド・プログラム単位が起動されると、PL/SQLエンジンは、Oracleによって次の内容が検証された後にPコードを実行します。

•	コールしたユーザーのストアド・プログラム単位でのEXECUTE権限の所有または付与。ストアド・プログラム単位を実行するユーザーには、ストアド・プログラム単位内で参照されるオブジェクトに対するアクセス権は必要なく、作成者のみ参照オブジェクトにアクセスする権限が必要です。

•	ストアド・プログラム単位の状態が有効。無効の場合、Oracleによって、自動的に再コンパイルされます。

Procedure Builderによって、クライアント側のプログラム単位は、サーバー側のストアド・プログラム単位内に定義されたサブプログラムをシームレスにコールできます。

ストアド・プログラム単位の詳細は、『Oracle8概要』を参照してください。


PL/SQLストアド・プログラム単位の名前の解決について

  関連項目

ストアド・サブプログラムに対する参照は、現行の連結ライブラリがすべて検索された後でのみ解決されます。このように、コンパイラまたはランタイム・システムのどちらかが、連結されたどのPL/SQLライブラリ内にも現在ロードおよび定義されていないプログラム単位の名前に対する参照を検出した場合、ストアド・プログラム単位に対する参照を解決しようとします（現在Oracleデータベース・サーバーに接続されている場合）。


ストアド・プログラム単位に対する権限について

スキーマでストアド・プログラム単位を作成するためのCREATE PROCEDUREシステム権限または別のユーザーのスキーマにストアド・プログラム単位を作成するためのCREATE ANY PROCEDUREシステム権限が必要です。

ストアド・プログラム単位上のEXECUTE権限により、ユーザーは、ストアド・プログラム単位を実行する権限を別ユーザーによって付与されます。ストアド・サブプログラムは、現ユーザーではなく、その「作成者」のセキュリティ定義域（つまりスキーマ）下で実行されます。したがって、ユーザーはストアド・プログラム単位ごとに、参照されるオブジェクトに対する権限を付与される必要はありません。


PL/SQLストアド・プログラム単位のコール

  関連項目

PL/SQLストアド・プログラム単位をコールするには:

ローカル・データベース内のストアド・サブプログラムをコールする構文は、クライアント側サブプログラムのコール用の構文と同じです。

[package-name.]subprogram-name(params)

つまり、ストアド・サブプログラムがストアド・パッケージ内で定義されている場合、クライアント側のプログラム単位からストアド・サブプログラムをコールするには、パッケージ接頭辞を含む必要があります。例外は、シノニム（次に説明）を使用する場合またはパッケージSTANDARD内およびSTANDARDの拡張版（たとえば、DBMS_STANDARD）内に定義されたサブプログラムをコールする場合です。

Procedure Builderでは、ストアド・サブプログラムのヘッダーにあるオプション・パラメータのデフォルト値は認識されません。たとえば、次のストアド・ファンクションがあるとします。

FUNCTION tax (amt NUMBER, rate NUMBER := 8.25)
  RETURN NUMBER IS
BEGIN
  RETURN(amt * rate);
END;

では、スタンドアロン・プロシージャ内に次の文があるとします。

x := tax(20);

この文のコンパイルは、失敗します。Procedure Builderでは、rateのデフォルト値は認識されず、パラメータが省略されたと想定されます。そのため、次の例のように、必ずオプション・パラメータを指定する必要があります。

x := tax(20, 8.25);


シノニムの使用

シノニムを使用するには:

別のユーザーのスキーマまたはリモート・データベースに定義されたストアド・サブプログラムを参照するには、シノニムを作成する必要があります。シノニムによって、PL/SQLコンパイラからユーザー名またはデータベース・リンク名（または、その両方）は隠されるので、参照では前に定義したコールの一般構文は遵守されます。つまり、次の構文もサポートされています。

subprogram-synonym(params) | package-synonym.subprogram-name(params)

このように、次の組合せによってニックネームに対するシノニムを作成できます。

schema-name.subprogram-name
schema-name.package-name
subprogram-name@database-link
package-name@database-link
schema-name.subprogram-name@database-link
schema-name.package-name@database-link

たとえば、STOREDPKGという名前のストアド・パッケージがスキーマPKGOWNER内に存在し、STOREDPKGによってSTOREDPROCという名前のプロシージャが定義されているとします。次に示すPKGOWNER.STOREDPKGのシノニムを作成できます。

CREATE SYNONYM storedpkgsyn
  FOR pkgowner.storedpkg

その後、クライアント側のプログラム単位では、次に示すSTOREDPROCをコールできます。

storedpkgsyn.storedproc(param1, param2, ...);

または、次に示すプロシージャ自体のシノニムを作成することもできます。

CREATE SYNONYM storedprocsyn
  FOR pkgowner.storedpkg.storedproc

その後、次のようにSTOREDPROCをコールできます。

storedprocsyn(param1, param2, ...);

最後に、STOREDPKGがリモート・サイトに定義され、REMOTESITEという名前のデータベース・リンクを介してアクセス可能だとします。次のようにリモート・プロシージャのシノニムを作成できます。

CREATE SYNONYM remoteprocsyn
  FOR pkgowner.storedpkg.storedproc@remotesite

その後、次のようにリモート・プロシージャをコールできます。

remoteprocsyn(param1, param2, ...);


複数のプログラム単位内でのテキストの検索および置換

  関連項目

「プログラム単位内の検索と置換」ダイアログ・ボックスを使用すると、選択したプログラム単位内または現行セッションにおけるすべてのプログラム単位で、テキストの検索および置換を行うことができます。

「プログラム単位内の検索と置換」ダイアログ・ボックスを表示するには、メニューから「プログラム」 [image] 「プログラム単位内の検索と置換」を選択します。

「プログラム単位内の検索と置換」ダイアログ・ボックスでは、次のことができます。

•	検索文字列および置換文字列の入力と検索する場所の指定

•	検索と検索結果文字列すべての置換

•	検索と検索結果文字列の一部の置換

•	検索結果文字列が見つかったソース・コードの編集


検索条件を指定するには:

「プログラム単位内の検索と置換」ダイアログ・ボックスで、「検索文字列」コンボ・ボックスに検索条件を入力するか、ドロップダウン・リストから検索条件を選択します。ドロップダウン・リストには以前に使用した検索文字列が16個まで表示されます。

1	検索文字列に正規表現を使用するには、「検索文字列」コンボ・ボックスの横の「式」ボタンをクリックし、リストから正規表現を選択します。正規表現を選択すると、コンボ・ボックスに特殊文字が挿入されます。

2	「置換文字列」コンボ・ボックスで、置換文字列を入力するまたはドロップダウン・リストから置換文字列を選択します。ドロップダウン・リストには以前に使用した置換文字列が16個まで表示されます。

3	検索文字列に正規表現を使用している場合は、「正規表現を使う」チェックボックスをチェックします。

4	大/小文字を区別して検索する場合は、「大/小文字を区別」チェックボックスをチェックします。

5	「検索する場所」ボックスで検索を実行する場所を指定します。

「検索する場所」ボックスには、現行のプログラミング環境でオープンしているPL/SQLライブラリが表示されます。すべてのライブラリ（ノード）がデフォルトで選択されます。特定のノードのみを検索する場合は、そのノードをクリックします。

注意: スタンドアロンのProcedure Builderでは、「/」はオブジェクト・ナビゲータの1番上のプログラム単位ノードを表します。現行のセッションでオープンしているすべてのPL/SQLライブラリが、「/」の下にリストされます。


置換のバッチ処理を行うには:

置換のバッチ処理を行うと、「検索場所」ボックスのすべてノードまたは選択したノードの下のプログラム単位内で、検索結果文字列をすべて置換することができます。

1	「プログラム単位内の検索と置換」ダイアログ・ボックスで、検索条件と検索場所のノードを指定します。

2	すべての検索結果文字列を置換文字列に置換するには、「すべて置換」をクリックします。

一括置換の確認を求めるメッセージ・ボックスが表示されます。

3	「はい」をクリックします。

「検索/置換」進捗ボックスが表示されます。 この進捗ボックスには、検索文字列と置換文字列、検索する場所および検索/置換の進捗状況が表示されます。検索を終了し、これまでに検出および置換されたインスタンスを表示するには、「停止」をクリックします。

置換が完了すると、メッセージ・ボックスが表示されます。 このメッセージ･ボックスには、置換された文字列の数が表示されます。

4	「OK」をクリックしてメッセージ・ボックスをクローズします。

続いて、検索/置換の結果が「結果」リスト・ボックスに表示されます。検索結果文字列の場所は、ノード、プログラム単位の名前、ソースの行数と列数で示されます。「結果」リスト・ボックスの上にあるステータス行には、検出および置換されたインスタンスの数が表示されます。

5	「クローズ」をクリックして、「プログラム単位内の検索と置換」ダイアログ・ボックスを終了します。


一部の置換を行うには:

一部の置換を行う場合、最初に検索結果文字列を検索することができます。次に、置換する検索結果文字列を選択できます。

1	「プログラム単位内の検索と置換」ダイアログ・ボックスで、検索条件と検索場所のノードを指定します。

2	置換を実行せずに、すべての検索結果文字列を検索するには、「すべて検索」をクリックします。

「検索」進捗ボックスが表示されます。 この進捗ボックスには、検索文字列、検索する場所および検索の進捗状況が表示されます。検索を終了し、これまでに検出されたインスタンスを表示するには、「停止」をクリックします。

完了すると、「結果」リスト・ボックスに検出された検索結果文字列のインスタンスが表示されます。検索結果文字列の場所は、ノード、プログラム単位の名前、ソースの行数と列数で示されます。「結果」リスト・ボックスの上にあるステータス行には、検出されたインスタンスの数が表示されます。

3	一部の置換を行うには、[Shift]または[Ctrl]を押しながら「結果」リスト・ボックス内のインスタンスをクリックし、「置換」をクリックします。

メッセージ・ボックスが表示され、置換された文字列の数が表示されます。

4	「OK」をクリックしてメッセージ・ボックスをクローズします。

5	「クローズ」をクリックして、「プログラム単位内の検索と置換」ダイアログ・ボックスを終了します。


検出された検索結果文字列のソース・コードを編集するには:

「プログラム単位内の検索と置換」ダイアログ・ボックスで、検索条件と検索場所のノードを指定します。

1	「すべて検索」または「すべて置換」をクリックして、検索または検索/置換を開始します。

完了すると、「結果」リスト・ボックスに検出（または検出/置換）された検索結果文字列のインスタンスが表示されます。

2	置換が行われたことを確認したりコードを直接編集したりする場合は、「結果」リスト・ボックスでインスタンスをクリックし、「編集」をクリックしてプログラム単位エディタをオープンします。

3	変更を保存したら、「クローズ」をクリックしてプログラム単位エディタを終了します。

4	「クローズ」をクリックして、「プログラム単位内の検索と置換」ダイアログ・ボックスを終了します。


PL/SQLについて

  関連項目

PL/SQLは、SQLへのOracleのプロシージャ型言語拡張機能です。これは、データのカプセル化、オーバーロード、コレクション・タイプ、例外処理および情報の非表示を提供する拡張された4GL（第4世代プログラミング言語）です。

PL/SQLでは、SQL文を使用して、Oracleデータとデータを処理する制御の流れの文を処理します。さらに、制約と変数の宣言、プロシージャとファンクションの定義およびランタイム・エラーの検出ができます。このように、PL/SQLはSQLのデータ処理能力とプロシージャ型言語のデータ処理能力を兼ね備えています。

PL/SQLエンジンは、PL/SQLプログラム単位を定義、コンパイルおよび実行するのに使用するツールです。このエンジンは、Oracleデータベース・サーバーまたはOracle Procedure Builder、Oracle Form BuilderおよびOracle Report Builderなどのアプリケーション開発ツールの特別なコンポーネントです。

Oracle serverは、単一のSQL文のみでなくPL/SQLブロックおよびサブプログラムを処理できます。Oracle serverによって、そのブロックとサブプログラムがローカルのPL/SQLエンジンに渡されます。

アプリケーション開発ツールにPL/SQLエンジンが含まれている場合、PL/SQLエンジンによってPL/SQLブロックとサブプログラムがローカルのPL/SQLエンジンに渡されます。エンジンでは、アプリケーション側ですべてのプロシージャ文が実行されて、SQL文のみがOracleへ送られます。ブロックにSQL文がない場合、エンジンはアプリケーション側でブロック全体を実行します。

これらの2つの環境（サーバーとツール）は独立しています。


サンプルPL/SQLプログラム

サンプル・プログラムでは、テニス・ラケットの注文を処理します。最初に、タイプNUMBERの変数を宣言してテニス・ラケットの在庫量を格納します。次に、inventoryという名前のデータベース表から在庫量を検索します。在庫量がゼロより大きい場合、プログラムによって表が更新されて仕入レコードを別のpurchase_recordという名前の表に挿入します。ゼロより小さい場合、プログラムは在庫外レコードをpurchase_record表に挿入します。

DECLARE
   qty_on_hand NUMBER(5);
BEGIN
   SELECT quantity INTO qty_on_hand
     FROM inventory
     WHERE product = 'TENNIS RACKET'
   FOR UPDATE OF quantity;
   IF qty_on_hand > 0 THEN -- check quantity
      UPDATE inventory SET quantity = quantity - 1
        WHERE product = 'TENNIS RACKET';
      INSERT INTO purchase_record
        VALUES ('Tennis racket purchased', SYSDATE);
   ELSE
      INSERT INTO purchase_record
        VALUES ('Out of tennis rackets', SYSDATE);
   END IF;
   COMMIT;
END;


PL/SQLブロック構造について

  例 	  関連項目

PL/SQLは、ブロック構造化言語です。つまり、PL/SQLプログラムを構成する基本単位（プロシージャ、ファンクションおよび無名ブロック）は、任意の数のネスト・サブブロックを含むことができる論理ブロックです。通常、各プログラム単位（または論理ブロック）は、解決する問題またはサブ問題に一致します。

PL/SQLブロックには3つの部分があります。つまり、宣言部、実行部および例外処理部です。（PL/SQLでは、警告またはエラー状況は例外と呼ばれます。）実行部のみが必須です。

これらの部は論理的な順序になっています。最初に宣言部がきて、その中の項目を宣言できます。宣言すると、項目は例外部で処理できます。実行中に発生した例外は、例外処理部で処理できます。

サブブロックはPL/SQLブロックまたはサブプログラムの実行部および例外処理部でネストできますが、宣言部ではネストできません。また、任意のブロックの宣言部でローカル・サブプログラムを定義できます。ただし、ローカル・サブプログラムは定義したブロックからのみコールできます。

PL/SQLでは、ブロックとサブプログラム以外にもパッケージが用意されており、このパッケージを使用して、関連プログラム項目をより大きい単位にグループ化することができます。


データベース・サーバーへの接続

  関連項目

Procedure Builderでデータベース・サーバーへ接続するには:

1	「ファイル」 [image] 「接続」を選択して、「接続」ダイアログ・ボックスを表示します。

2	「ユーザー名」テキスト・ボックスで、割り当てられたユーザー名（SCOTTなど）を入力します。

3	「パスワード」テキスト・ボックスで、TIGERなどのパスワードを入力します。「パスワード」テキスト・ボックスではエコー表示されません。

4	「データベース」テキスト・ボックスで、接続するデータベースのデータベース接続文字列（DEMOなど）を入力します。

5	「接続」をクリックします。

データベース接続が完了すると、+（プラス）記号がオブジェクト・ナビゲータでデータベース・オブジェクト・ノードの前に表示されます。


現行のデータベース接続を終了するには

  関連項目

「ファイル」 [image] 「切断」を選択して、現行のデータベース接続をクローズします。


プログラム単位のコンパイル

プログラム単位のコンパイルについて

1つのプログラム単位のコンパイル

すべてのプログラム単位のコンパイル

すべての未コンパイル・プログラム単位のコンパイル

選択されたプログラム単位のコンパイル

コンパイル中の構文エラーの場所


Object Ironパッケージについて

Object Ironは、Oracle8オブジェクト・タイプのインスタンスを含む表にアクセスするためのデータベース・パッケージのセットです。このパッケージが生成する表固有のパッケージを使用すると、指定した表のデータにアクセスすることができます。

生成された表固有のパッケージは、オブジェクト・ナビゲータの「PL/SQLストアド・プログラム単位」ノードの下に表示されます。このパッケージには、指定した表のレコードを選択、挿入、更新、削除、およびロックするためのプロシージャが含まれます。必要に応じて、コードを表示および変更することができます。生成された表固有のパッケージは、ストアド・プロシージャを使用するFormsデータ・ブロックの作成に特に役立ちます。

Object Ironパッケージを使用して表固有のパッケージを作成するには、一定の権限が必要です。さらに、表が特定の条件を満たしている必要があります。


Object Ironパッケージのインストール

Object Ironパッケージは、Procedure BuilderのインタプリタまたはSQL*Plusからインストールできます。

Procedure Builderからインストールするには:

1	「ファイル」 [image] 「接続」を選択し、データベースにログインします。

オブジェクト表がある場所のスキーマ名をユーザー名として使用します。

2	「ファイル」 [image] 「インタプリタ」を選択し、インタプリタでgenpkgs.pldスクリプトを実行します。

スクリプトはサーバー側にパッケージOPB_O8APIとOPB_OBJを作成し、クライアント側にプロシージャOBJIRONを作成します。

SQL*Plusからインストールするには:

1	データベースにログインします。

2	genpkgs.sqlスクリプトを実行するには、SQL>プロンプトでstart genpkgsと入力します。

スクリプトはサーバー側にパッケージOPB_O8APIとOPB_OBJ、およびプロシージャOBJIRONを作成します。

注意:  OPB_OBJパッケージには、表固有のパッケージを作成および削除するためのメソッドが含まれます。OPB_O8APIパッケージには、外部で使用できるサブプログラムはありません。このパッケージはOracleが内部的に使用します。


表固有のパッケージの作成および使用

表固有のパッケージを作成する前に、Object Ironパッケージをインストールする必要があります。

表固有のパッケージを作成するには:

  アクセスする表ごとにOBJIRONプロシージャを実行します。

次に例を示します。

  PL/SQL> OBJIRON('TABLENAME', 'OWNERNAME');

TABLENAMEはアクセスする表で、OWNERNAMEは表の所有者です。

この例では、OBJIRONプロシージャがOPB$TABLENAMEという名前のパッケージを作成します。

注意: 生成されるパッケージ名の最大長は30文字までです。プロシージャは各パッケージ名にOPB$という接頭語を追加するので、表の名前が30文字を超える場合、生成されるパッケージ名には先頭の26文字のみが使用されます。

表固有のパッケージの使用

OBJIRONプロシージャは、5つのプロシージャを含む表固有のパッケージを作成します。上の例では、生成されるパッケージはOPB$TABLENAMEになり、パッケージ内のプロシージャは次のようになります。

OPB$TABLENAME.O_Select
OPB$TABLENAME.O_Insert
OPB$TABLENAME.O_Update
OPB$TABLENAME.O_Delete
OPB$TABLENAME.O_Lock

コードでプロシージャをコールするときは、プロシージャ名の前に適切なパッケージ名を付けてください。

OBJIRONプロシージャには、Object Ironパッケージを起動するための便利なラッパーが用意されています。カスタマイズしたWHERE句を挿入し、O_Selectが返したデータをフィルタ処理することも、プロシージャを変更し、O_Lock WAIT/NOWAITフラグを変更することもできます。WAIT/NOWAITフラグの詳細は、『Oracle8 Server SQLリファレンス』を参照してください。


表固有のパッケージの削除

表固有のパッケージが不要になったら、OPB_OBJ.drpファンクションを実行します。次に例を示します。

PLSQL> declare
    +>   outstr VARCHAR2(240);
    +> begin
    +>   outstr := OPB_OBJ.drp ('TABLENAME', 'OWNERNAME');
    +>   -- use text_io or dbms_output to see the result
    +> end;

TABLENAMEは削除する表で、OWNERNAMEは表の所有者です。

このファンクションは、'DROP PACKAGE OPB$TABLENAME'文を実行します。これにより、関連するパッケージがデータベースから削除され、パッケージに割り当てられていたメモリーが解放されます。


表固有のパッケージに基づくFormsデータ・ブロックの作成

表固有のパッケージを基にFormsデータ・ブロックを作成するのは、一連のストアド・プロシージャを基にデータ・ブロックを作成するのに似ています。

データ・ブロックのデータ・ソースとしてストアド・プロシージャを選択するときは、正確なプロシージャ名に適切なパッケージ名の接頭語を付けて指定してください。たとえば、パッケージOPB$TABLENAMEを通じてTABLENAMEという表にアクセスするときは、データ・ブロックの目的のアクションに対応する次のプロシージャを使用します。

•	プロシージャOPB$TABLENAME.O_Select（問合せ）

•	プロシージャOPB$TABLENAME.O_Insert（レコードの挿入）

•	プロシージャOPB$TABLENAME.O_Update（レコードの更新）

•	プロシージャOPB$TABLENAME.O_Delete（レコードの削除）

•	プロシージャOPB$TABLENAME.O_Lock（レコードのロック）


Object Ironパッケージを使用するための権限と条件

権限

Object Ironパッケージを使用して表固有のパッケージを作成するには、オブジェクト表の所有者がCREATE ANY PROCEDURE権限を持っている必要があります。この権限は、システム管理者によって与えられます。

条件

パッケージの作成元となるオブジェクト表は、次の条件を満たしている必要があります。

•	表には単純な複合オブジェクトとREFのみを入れることができます。Object IronインタフェースはRAW、LONG RAW、CLOB、BLOB、LOB、NESTED TABLES、VARRAYをサポートしていません。

•	表内の列から参照されるすべての複合オブジェクト・タイプは、表と同じスキーマに属している必要があります。


新規作成（「ファイル」メニュー）

次のオプションでカスケード・メニューを表示します。

•	プログラム単位 - 新規プログラム単位を作成します。

•	PL/SQLライブラリ - 新規ライブラリを作成します。


プログラム単位（「ファイル」メニュー）

「新規プログラム単位」ダイアログを表示します。 このダイアログで、作成するプログラム単位の名前とタイプを入力できます。


PL/SQLライブラリ（「ファイル」メニュー）

テンポラリ名を使用して新しいライブラリを作成します。


オープン（「ファイル」メニュー）

「オープン」ダイアログを表示します。 このダイアログで、オープンするライブラリの名前と場所を指定できます。


クローズ（「ファイル」メニュー）

現行のライブラリまたは選択したライブラリをクローズします。

ライブラリが保存されていないと、クローズする前に変更を保存するかの確認を求められます。


上書き保存（「ファイル」メニュー）

指定した場所にライブラリを上書き保存します。

ライブラリがまだ保存されていないと、Procedure Builderでは「ライブラリ保存」ダイアログが表示されます。 このダイアログで、ライブラリの保存場所とファイルまたはモジュール名を指定できます。


別名保存（「ファイル」メニュー）

「ライブラリ保存」ダイアログを表示します。 このダイアログで、保存するライブラリの名前と場所を指定できます。


変更の破棄（「ファイル」メニュー）

最後の保存操作以降に加えたすべての変更を削除し、モジュールを最後に保存したときの状態に戻します。


テキスト・インポート（「ファイル」メニュー）

コンパイルのために、プログラム単位エディタにプログラム単位テキスト・ファイルをインポートできます。このコマンドにより、オペレーティング・システムのファイル・ダイアログが表示されます。 このダイアログで、プログラム単位テキスト・ファイルの場所と名前を指定できます。


テキスト・エクスポート（「ファイル」メニュー）

ファイル・システム上のテキスト・ファイルに、プログラム単位を書き込むことができます。このコマンドにより、オペレーティング・システムのファイル・ダイアログが表示されます。 このダイアログで、エクスポートして作成されるプログラム単位テキスト・ファイルの名前と保存場所を指定できます。

プログラム単位テキスト・ファイルには、自動的にファイル拡張子.plsが付けられます。


ライブラリ連結（「ファイル」メニュー）

「連結ライブラリ」ダイアログを表示します。 このダイアログで、現行のセッションに連結するライブラリの名前と場所を指定できます。


ロード（「ファイル」メニュー）

「プログラム単位のロード」ダイアログを表示します。 このダイアログで、ロードするプログラム単位の名前と場所を指定できます。プログラム単位はロード時にコンパイルされます。


インタプリタ（「ファイル」メニュー）

「インタプリタ・デバッグ・スクリプト」ダイアログを表示します。 このダイアログで、実行するインタプリタ・スクリプトの名前と場所を指定できます。


ログ（「ファイル」メニュー）

「ログ・インタプリタ」ダイアログを表示します。 このダイアログで、インタプリタの入力および出力を書き込む新規または既存のログ・ファイルの名前と場所を指定できます。


接続（「ファイル」メニュー）

「接続」ダイアログを表示します。 このダイアログで、データベース・インスタンスに接続するための接続文字列を指定できます。


切断（「ファイル」メニュー）

現行のデータベースとの接続を終了します。


管理（「ファイル」メニュー）

次のオプションでカスケード・メニューを表示します。

•	権限の付与 - ストアド・プログラム単位またはライブラリに対するデータベース・アクセス権限の付与と取消しを行います。

•	チェックイン - ソース制御に新規のファイルを追加します。

•	チェックアウト - ソース制御からファイルをチェックアウトします。

•	ソース制御オプション - 「オプション」ダイアログを表示します。


権限の付与（「ファイル」メニュー）

「アクセス権限リスト」ダイアログを表示します。 このダイアログで、ストアド・プログラム単位またはライブラリへのユーザー・アクセス権限を付与または取り消すことができます。


終了（「ファイル」メニュー）

現行のセッションを終了します。状況によっては、終了する前に保存されていない変更を保存するよう求められる場合があります。


印刷（「ファイル」メニュー）

現行のドキュメントを印刷します。


印刷設定（「ファイル」メニュー）

「印刷設定」ダイアログを表示します。 このダイアログで、プリンタを選択したり、その他の印刷オプションを設定できます。


メール（「ファイル」メニュー）

現在選択されているドキュメントを、選択した受信者にメールで送信します。


チェックイン（「ファイル」メニュー）

「チェックイン」ダイアログを表示します。 このダイアログで、アーカイブするファイルの名前、およびファイルのチェックイン先のアーカイブ名を指定できます。


チェックアウト（「ファイル」メニュー）

「チェックアウト」ダイアログを表示します。 このダイアログで、アーカイブの名前と取り出すファイルを指定できます。


ソース制御オプション（「ファイル」メニュー）

「オプション」ダイアログを表示します。 このダイアログで、アーカイブ・ディレクトリの追加と削除、アーカイブのロックとロック解除、アーカイブでのアクティビティのログの生成、およびアーカイブ・レポートの作成を行うことができます。


ページ設定（「ファイル」メニュー）

システムのページ設定ダイアログを表示します。 このダイアログで、印刷オプションの設定とプリンタの選択を行うことができます。


元に戻す（「編集」メニュー）

最後に実行した操作を元に戻します。


カット（「編集」メニュー）

現在選択されているテキストまたはオブジェクトを削除し、クリップボードに保存します。

クリップボードの内容は、「コピー」または「カット」を実行するたびに上書きされます。


コピー（「編集」メニュー）

現在選択されているテキストまたはオブジェクトをコピーし、削除せずにクリップボードに保存します。

クリップボードの内容は、「コピー」または「カット」を実行するたびに上書きされます。


ペースト（「編集」メニュー）

クリップボードの内容（最後にカットまたはコピーしたオブジェクト）を、現在カーソルのある場所に挿入します。


消去（「編集」メニュー）

「消去」では、選択されているテキストまたはオブジェクトを削除しますが、クリップボードには保存しません。


複製（「編集」メニュー）

現在選択されているオブジェクトのコピーを作成します。


検索と置換（「編集」メニュー）

「検索と置換」ダイアログを表示します。 このダイアログで、検索基準と置換文字列（任意）を指定できます。

検索は、最後にカーソルを置いた場所から始まり、現行の文書の終点まで実行されます。先頭から検索しなかった場合、終点に達すると、先頭から検索を続行するかを確認されます。続行する場合、最初に検索を開始した場所まで検索します。

「検索と置換」は指定した文字列または正規表現を検索し、任意で検索結果を別の文字列に置換します。「検索と置換」は、長いプログラム単位ソースを検索するのに便利です。


すべて置換（「編集」メニュー）

「すべて置換」ダイアログを表示します。 このダイアログで、検索基準と置換文字列（任意）を指定できます。検索基準は、文字列または正規表現です。

このコマンドを使用すると、複数のプログラム単位に対して検索と置換を実行できます。オブジェクト・ナビゲータで「プログラム単位」ノードを選択すると、現行のすべてのプログラム単位に対して検索と置換を実行できます。ナビゲータでオープンしているライブラリのノードを選択すると、そのライブラリのプログラム単位に対して検索と置換を実行できます。


すべて選択（「編集」メニュー）

現行のコンテキストにあるすべての項目を選択します。たとえば、プログラム単位エディタでは、このコマンドによって現行のプログラム単位内のすべてのテキストが選択されます。


インデント（「編集」メニュー）

アクティブなエディタで、選択されているソース行をインデントします。どの行も選択されていない場合は、現在カーソルがある位置の右の文字がインデントされます。


インデント解除（「編集」メニュー）

アクティブなエディタで、選択されているソース行を左にずらします（アウトデント）。


再実行（「編集」メニュー）

直前の操作を繰り返します。


拡張（「ナビゲータ」メニュー）

現在選択されている子ノード（ある場合）を表示します。


縮小（「ナビゲータ」メニュー）

現在選択されている子ノード（ある場合）を非表示にします。


すべて拡張（「ナビゲータ」メニュー）

現在選択されているノードの子ノード、およびその下の各階層の子ノードを順次表示します。

ただし、このコマンドは、Oracle8のデータ型と属性のノードを再帰的に展開はしません。


すべて縮小（「ナビゲータ」メニュー）

現在選択されている子ノード、およびその子ノードを順次非表示にします。


作成（「ナビゲータ」メニュー）

現在選択されているオブジェクトまたはヘッダー・ノードと同じタイプの新規のオブジェクトを作成します。


削除（「ナビゲータ」メニュー）

現在選択されているオブジェクトを削除します。オブジェクトによっては、確認が求められる場合があります。


ブックマーク追加（「ナビゲータ」メニュー）

現在選択されているノードに参照マークを設定します。これにより、ナビゲータの他のオブジェクトで作業した後に、マークしたノードに戻ることができます。

アクティブにできるマークは1つのみです。新規のマークを設定すると、前のマークは削除されます。


ブックマークへジャンプ（「ナビゲータ」メニュー）

ブックマークを設定したノードに戻ります。


使用不可（「ナビゲータ」メニュー）

現行あるいは選択したデバッグ・アクション、またはデータベース・トリガーを使用不可にします。


使用可能（「ナビゲータ」メニュー）

使用不可になっている現行のデバッグ・アクションまたはデータベース・トリガー、または、以前に使用不可にされたデバッグ・アクションまたはデータベース・トリガーを使用可能にします。


名前ペースト（「ナビゲータ」メニュー）

プログラム単位エディタまたはPL/SQLインタプリタ・コマンド・ラインで、選択したビルトイン・サブプログラムをカーソル位置にペーストすれば、ビルトイン・サブプログラムへのコールを挿入できます。


引数ペースト（「ナビゲータ」メニュー）

プログラム単位エディタまたはPL/SQLインタプリタ・コマンド・ラインで、選択したビルトイン・サブプログラムとその引数指定を、カーソル位置にペーストすれば、引数指定付きのビルトイン・サブプログラムへのコールを挿入できます。引数指定には適切な引数を入れてください。


表要素（「ナビゲータ」メニュー）

「PL/SQL表要素選択」ボックスを使用すると、オブジェクト・ナビゲータで表全体を拡張せずに、表の選択された行を調べることができます。デフォルトでは、表のすべての行に対する索引が選択されます。選択を取り消すには、参照する必要のない行を選択解除してから、選択ボックスを確定してください。選択した行は、オブジェクト・ナビゲータで完全に拡張されて表示されます。


コンパイル（「プログラム」メニュー）

次のオプションでカスケード・メニューを表示します。

•	変更分 - コンパイルされていないプログラム単位のみをコンパイルします。

•	すべて - すべてのプログラム単位をコンパイルします。

コンパイルは、現行でどのノードが選択されているかに基づいて行われます。

プログラム単位	「プログラム単位」ノードにあるすべてのプログラム単位です。
ライブラリ	ノードにリストされている各オープン・ライブラリにあるすべてのプログラム単位です。
特定のライブラリ	選択したライブラリにあるすべてのプログラム単位です。


コンパイル->変更分 （「プログラム」メニュー）

選択されたノードにあるコンパイルが必要なプログラム単位のみをコンパイルします。「コンパイル」ダイアログを表示し、このダイアログで、ライブラリのプログラムのコンパイル中に発生したエラーを表示します。


コンパイル->すべて（「プログラム」メニュー）

現在のコンパイルの状態に関係なく、選択されたノードにあるすべてのプログラム単位をコンパイルします。「コンパイル」ダイアログを表示し、このダイアログで、ライブラリのプログラムのコンパイル中に発生したエラーを表示します。


プログラム単位エディタ（「プログラム」メニュー）

プログラム単位エディタを表示します。 これを使用して、既存のプログラム単位の編集や新規のプログラム単位の作成を行うことができます。


PL/SQLインタプリタ（「プログラム」メニュー）

新規のPL/SQLインタプリタを表示します。 これを使用して、PL/SQLコードまたはSQLコマンド、PL/SQLインタプリタ・コマンドを実行できます。


ストアド・プログラム単位エディタ（「プログラム」メニュー）

ストアド・プログラム単位エディタを表示します。これを使用して、既存のストアド・プログラム単位の編集や新規のストアド・プログラム単位の作成を行うことができます。また、Oracle8のユーザー定義のデータ型の型指定や型本体を編集することもできます。このエディタを表示するには、データベースに接続し、そのデータベースに格納されているデータ型とプログラム単位にアクセスする必要があります。


データベース・トリガー・エディタ（「プログラム」メニュー）

データベース・トリガー・エディタを表示します。 これを使用して、既存のデータベース・トリガーの編集や新規のデータベース・トリガーの作成を行うことができます。このエディタを表示するには、データベースに接続する必要があります。


プログラム単位内の検索と置換（「プログラム」メニュー）

「プログラム単位内の検索と置換」ダイアログ・ボックスを表示します。 これを使用して、プログラム単位エディタの各インスタンスをオープンせずに、クライアント側の複数のプログラム単位のテキストを検索または置換できます。


構文パレット（「プログラム」メニュー）

構文パレットを表示します。 これを使用して、PL/SQL言語要素またはビルトイン・パッケージの構造を選択または表示できます。また、構文をテキスト・エディタにコピーできます。


ブレーク(「デバッグ」メニュー）

「PL/SQLブレークポイント」ダイアログを表示します。 このダイアログで、ブレークポイントを作成するためのオプションを指定できます。


トリガー（「デバッグ」メニュー）

「PL/SQLトリガー」ダイアログを表示します。 このダイアログで、デバッグ・トリガーを入力できます。


編集（「デバッグ」メニュー）

プログラム単位エディタを表示します。 このエディタで、現在インタプリタに表示されているプログラム単位を編集できます。


ステップ（「デバッグ」メニュー）

「ステップ」ダイアログを表示します。 このダイアログで、現在停止しているプログラム単位を1ステップずつ実行するためのオプションを設定できます。


実行（「デバック」メニュー）

停止中のプログラム単位の実行を再開し、次のデバッグ・アクション、またはプログラム単位の終点に進みます。


リセット（「デバッグ」メニュー）

現行のデバッグ・レベルを終了します。現行のデバッグ・レベルが1の場合、このコマンドによって停止中の実行が終了します。


「ファイル」メニュー・コマンド

新規作成

プログラム単位

PL/SQLライブラリ

オープン

クローズ

上書き保存

別名保存

変更の廃棄

テキスト・インポート

テキスト・エクスポート

ライブラリ連結

ロード

インタプリタ

ログ

ページ設定

印刷

接続

切断

管理

ライブラリ・アクセス

チェックイン

チェックアウト

ソース制御オプション

終了


「編集」メニュー・コマンド

元に戻す

再実行

カット

コピー

ペースト

消去

複製

インデント

インデント解除

すべて選択

検索と置換


「表示」メニュー・コマンド

ソース・ペイン

ナビゲータ・ペイン

インタプリタ・ペイン

インタプリタ・ログ


「ナビゲータ」メニュー・コマンド

拡張

縮小

すべて拡張

すべて縮小

作成

削除

ブックマーク追加

ブックマークへジャンプ

使用不可

使用可能

名前ペースト

引数ペースト

表の要素


「プログラム」メニュー・コマンド

コンパイル

変更分

すべて

PL/SQLエディタ

PL/SQLインタプリタ

ストアド・プログラム単位エディタ

データベース・トリガー・エディタ

プログラム単位内の検索と置換

構文パレット


「デバッグ」メニュー・コマンド

ブレーク

トリガー

編集

ステップ

実行

リセット


「ヘルプ」メニュー・コマンド

Procedure Builderヘルプ・トピック

クイック・ツアー

キュー・カード

マニュアル

Procedure Builderについて


Procedure Builderヘルプ・トピック（「ヘルプ」メニュー）

オンライン・ヘルプ・システムを起動します。


トピックの検索（「ヘルプ」メニュー）

オンライン・ヘルプ・システムの「検索」ページを表示します。このページで、ヘルプ・システムの項目を全文検索できます。


キュー・カード（「ヘルプ」メニュー）

キュー・カードを起動します。キュー・カードでは、一般的な作業の進め方を順を追って指示するほか、重要な概念とプロセスをビジュアルに説明します。


クイック・ツアー（「ヘルプ」メニュー）

クイック・ツアー・プログラムを起動します。クイック・ツアーは、Forms Developerの概念と使用方法を紹介するためのものです。クイック・ツアーを参照するには、Oracle Media Objectsプレーヤをインストールする必要があります。

クイック・ツアーを起動しようとしてエラーが戻される場合は、正しいファイルがインストールされていません。

システム管理者に確認するか、インストール・プログラムを再実行して、必ずクイック・ツアーを選択してください。


マニュアル（「ヘルプ」メニュー）

オンライン・マニュアルを表示します。


Procedure Builderバージョン情報（「ヘルプ」メニュー）

「Procedure Builderバージョン情報」ダイアログを表示します。このダイアログで、使用しているOracleコンポーネントのバージョンおよび関連のサブコンポーネント、著作権の注意が表示されます。


ソース・ペイン（「表示」メニュー）

PL/SQLインタプリタのソース・ペインの可視性を切り替えます。


ナビゲータ・ペイン（「表示」メニュー）

PL/SQLインタプリタのナビゲータ・ペインの可視性を切り替えます。


インタプリタ・ペイン（「表示」メニュー）

PL/SQLインタプリタのインタプリタ・ペインの可視性を切り替えます。


インタプリタ・ログ（「表示」メニュー）

PL/SQLインタプリタ・ログ・ブラウザを表示します。このブラウザでは、インタプリタの現行のロギング・セッションの読込み専用トランスクリプトが表示されます。


ウィンドウ・メニュー

このメニューでは、現在オープンしているすべてのOracleウィンドウがリストされ、その内の1つを選択してアクティブにすることができます。

選択されたウィンドウはアクティブ・ウィンドウになり、他のすべてのウィンドウの前面に移動します。


データベース・トリガー・エディタ

  関連項目

データベース・トリガー・エディタは、CREATE TRIGGER文のグラフィカル・ユーザー・インタフェースです。このエディタを使用すると、データベースの表およびビューの行トリガーと文トリガーを簡単に作成、編集、コンパイルすることができます。表にはBEFORE/AFTERトリガーを、またビューとオブジェクト・ビューにはINSTEAD OFトリガーを作成および編集できます。無効なトリガーを取り出し、格納、または削除しようとすると、エラー報告機能によってメッセージ・ボックスが表示されます。

データベース・トリガー・エディタを使用するには、データベースに接続されている必要があります。データベース・トリガー・エディタを表示するには、メニューの「プログラム」 [image] 「データベース・トリガー・エディタ」を選択します。

データベース・トリガーの詳細については、『Oracle8 Server概要』を参照してください。

参照項目

データベース・トリガー・エディタ・インタフェース

データベース・トリガー


モードレス・フォーム

モードレス・インタプリタでは、アプリケーションの制御に割込みをかけないので、必要に応じて対話できます。メニューから「プログラム」 [image] 「PL/SQLインタプリタ」を選択すれば、プログラム単位の定義および表示、デバッグを行うときに、いつでもモードレスPL/SQLインタプリタを表示できます。


モーダル・フォーム

実行中のアプリケーションでデバッグ・アクションを含むプログラム単位がコールされると、モーダルPL/SQLインタプリタが表示されます。このフォームは、デバッグ実行時に表示されます。

アプリケーションのプログラム単位が、デバッグ・アクションによって中断されると、制御はモーダル・インタプリタに渡されます。中断されたプログラム単位に関係付けられたソースが使用可能であれば、インタプリタ・ペインに表示されます。

中断されたプログラムの状態を調べて任意に変更を加えた後、モーダル・インタプリタをクローズすると、実行を再開できます。

アプリケーションに制御が戻り、終了するまで、または次のデバッグ・アクションが発生するまで実行されます。


プログラム単位エディタ

  関連項目

プログラム単位エディタには、クライアント側プログラム単位の開発用の編集機能およびコンパイル機能、警告/エラー・メッセージ参照機能があります。

プログラム単位エディタを表示するには、メニューの「プログラム」 [image] 「プログラム単位エディタ」を選択します。

エディタは、次のようなさまざまな機能をサポートしています。

•	自動インデントおよびインデント解除

•	カラー構文ハイライト

•	列と行の選択

•	ドラッグ・アンド・ドロップによるテキストの操作

•	複数の分割ビュー

•	印刷

•	無制限の元に戻す/再実行

参照項目

プログラム単位エディタ・インタフェース


ストアド・プログラム単位エディタ

  関連項目

ストアド・プログラム単位エディタには、データベースに格納されているプログラム単位の開発用の編集機能、コンパイル機能および警告/エラー・メッセージ参照機能があります。

ストアド・プログラム単位エディタを使用するには、データベース・サーバーに接続されている必要があります。ストアド・プログラム単位エディタを表示するには、メニューの「プログラム」 [image] 「ストアド・プログラム単位エディタ」を選択します。

エディタは、次のようなさまざまな機能をサポートしています。

•	自動インデントおよびインデント解除

•	カラー構文ハイライト

•	列と行の選択

•	ドラッグ・アンド・ドロップによるテキストの操作

•	複数の分割ビュー

•	印刷

•	無制限の元に戻す/再実行

ストアド・プログラム単位エディタを使用すると、Oracle8ユーザー定義データ型のタイプ仕様部（属性）とタイプ本体（メソッド）を編集することもできます。

参照項目

ストアド・プログラム単位エディタ・インタフェース


PL/SQLインタプリタ

  関連項目

PL/SQLインタプリタは、Procedure Builderの集中デバッグ作業領域です。このインタプリタには、ソース・コードの表示、デバッグ・アクションの作成、プログラム単位の実行、Procedure Builderインタプリタ・コマンドの実行、およびPL/SQL文やSQL文の発行が可能な作業領域があります。

PL/SQLインタプリタを表示するには、メニューから「プログラム」 [image] 「PL/SQLインタプリタ」を選択します。

作業環境によって、PL/SQLインタプリタは次の2つの形式のいずれかで表示されます。

•	モードレス

•	モーダル

参照項目

PL/SQLインタプリタ・インタフェース


オブジェクト・ナビゲータ

  関連項目

オブジェクト・ナビゲータを使用して、開発環境にあるすべてのオブジェクトに容易にアクセスできます。これにより、Oracle8データベース・サーバーに接続している場合にのみ、すべてのPL/SQLプログラム単位、ライブラリ、デバッグ・アクションと変数、Oracle8ユーザー定義データ型の作成と操作を行うことができます。ナビゲータのコマンドは、メニューおよび左側にある垂直ツールバーから選択します。

参照項目

オブジェクト・ナビゲータ・インタフェース


構文パレット

  関連項目

構文パレットは、プログラミング言語の構造に慣れていないプログラマや、通常使用される言語の要素や構成体を入力したくないプログラマに役立ちます。構文パレットは、プログラミング言語の要素や構成体をテキスト・エディタに表示およびコピーする機能を備えたツールです。

構文パレットを表示するには、メニューから「プログラム」 [image] 「構文パレット」を選択します。

構文パレットは、プログラム単位エディタやストアド・プログラム単位エディタとだけ組み合わせて使用することができます。構文パレットとエディタの両方をオープンしておいて、パレットから作業中のエディタの現行のカーソル位置に構文をコピーできます。

参照項目

構文パレット・インタフェース


オブジェクト・ナビゲータ

オブジェクト・ナビゲータを使用して、開発環境にあるすべてのオブジェクトに容易にアクセスできます。これにより、すべてのPL/SQLプログラム単位、ライブラリ、デバッグ・アクションと変数、およびOracle8ユーザー定義データ型の作成と操作を行うことができます。ナビゲータのコマンドは、メニューおよび左側にある垂直ツールバーから選択します。

オブジェクト・ナビゲータによるオブジェクトの表示:

オブジェクトの選択

オブジェクトの検索

ノードの拡張

ノードの縮小

ブックマークの追加

ブックマークへのジャンプ

オブジェクト・ナビゲータによるオブジェクトの作成、削除、移動:

オブジェクトの作成

オブジェクトの並替え

オブジェクトの削除

参照項目

オブジェクト・ナビゲータ・インタフェース

オブジェクト・ナビゲータのOracle8オブジェクト・サポート


オブジェクト・ナビゲータ・インタフェース

オブジェクト・ナビゲータには、次のようなコンポーネントがあります。

ナビゲータ・ツールバー  垂直ツールバーには、次のような一般的な操作に使用するボタンがあります。

オープン	ファイルをオープンするために、オペレーティング・システムのファイル・ダイアログを表示します。
保存	選択したファイルを指定した場所に上書き保存します。ファイルが以前に保存されていなかった場合、オペレーティング・システムのファイル・ダイアログが表示されます。
カット	現在選択されているテキストまたはオブジェクトを削除し、クリップボードに保存します。
コピー	現在選択されているテキストまたはオブジェクトをコピーし、削除せずにクリップボードに保存します。
	クリップボードの内容は、「コピー」または「カット」を実行するたびに上書きされます。
ペースト	クリップ・ボードの内容（最後にカットまたはコピーしたオブジェクト）を、現在のカーソル位置に挿入します。
作成	現在選択されているオブジェクトまたはヘッダー・ノードと同じタイプの新規のオブジェクトを作成します。
削除	現在選択されているオブジェクトを削除します。オブジェクトによっては、確認が求められる場合があります。
拡張	現在選択されている子ノード（ある場合）を表示します。
縮小	現在選択されている子ノード（ある場合）を非表示にします。
すべて拡張	現在選択されているノードの子ノード、およびその下の各階層の子ノードを順次表示します。Oracle8データ型と属性のノードは再帰的に拡張されません。
すべて縮小	現在選択されている子ノード、およびその子ノードを順次非表示にします。

ノード表示領域  オブジェクト・ナビゲータのノード表示領域には、現行のセッション中にアクセスできるすべてのオブジェクトの階層型のリストが表示されます。ナビゲータにリストされる各オブジェクトは、左から順に次の3つの基本的な部分に分かれています。

サブノード標識	ノードにサブノードがあるかどうか、およびノードが拡張または縮小されているかどうかを示します。
+ （プラス）	下位レベルにあるオブジェクトは、ノードが縮小されているので、現在は非表示になっています。
- （マイナス）	下位レベルにあるオブジェクトは、ノードが拡張されているので表示されています。
タイプ・アイコン	オブジェクト・タイプ（プログラム単位、ライブラリ、Oracle8データ型など）を示します。 オブジェクトによっては、アイコンをダブルクリックすると、そのオブジェクトのタイプに適したエディタやダイアログ・ボックスが起動されます。
名前	デフォルト名、あるいはモジュールまたはオブジェクトに割り当てた名前です。
* （アスタリスク）	プログラム単位名の後ろのアスタリスクは、そのプログラム単位が変更されており、再コンパイルが必要であることを示します。
@（アット記号）	プログラム単位名の後ろの@記号は、そのプログラム単位がライブラリから変更なしでロードされたことを示します。

ノード表示領域のオブジェクトには、次のようなものがあります。

プログラム単位	PL/SQLコンパイラが独立して認識および処理できるクライアント側PL/SQL構成体です。サーバー側ストアド・プログラム単位内で定義されたサブプログラムをコールすることができます。
仕様部	プログラム単位の名前、パラメータ、および戻り値の型（ファンクションのみ）です。
参照	プログラム単位が参照するプロシージャ、ファンクション、無名ブロックおよび表です。
参照元	プログラム単位を参照するプロシージャ、ファンクション無名ブロック、および表です。
PL/SQLライブラリ	データベースまたはファイル・システムに格納されたPL/SQLパッケージ、プロシージャ、ファンクションの集合です。ライブラリのプログラム単位を編集したり、ライブラリの内容を変更するには、最初にライブラリをオープンする必要があります。
連結ライブラリ	データベースまたはファイル・システムに格納された参照ライブラリです。ライブラリのプログラム単位を実行するには、最初にライブラリを連結する必要があります。
ビルトイン・パッケージ	アプリケーションのビルド中やプログラム単位のデバッグ中に参照できるPL/SQL構成体です。
デバッグ・アクション	PL/SQLプログラム単位の実行を監視または中断できるアクションです。
スタック	最初のエントリ・ポイントから現在実行中のサブプログラムに至るサブプログラムのコールの連鎖です。
データベース・オブジェクト	スキーマ・オブジェクト、つまりサーバー側ストアド・プログラム単位、ライブラリ、表、ビュー、Oracle8データ型の集合です。ノードはデータベースに接続されているときにのみ拡張できます。スキーマのすべてのオブジェクトと、セッション中にアクセスできる他のスキーマのオブジェクトが表示されます。
ストアド・プログラム単位	Oracleデータベース・サーバーに常駐し、実行されるPL/SQLパッケージとサブプログラムです。
PL/SQLライブラリ	データベースに格納されたPL/SQLパッケージ、プロシージャ、およびファンクションの集合です。
表	スキーマに作成する表が含まれます。トリガーと列はサブノードです。
ビュー	スキーマに作成するビューが含まれます。トリガーと列はサブノードです。
タイプ	Oracle8のみ。ユーザー定義のオブジェクト・タイプとコレクション・タイプ、およびそれに関連する属性とメソッドが含まれます。
トリガー	表のBefore/Afterトリガー、およびビューとオブジェクト・ビューのInstead Ofトリガーです。
列	表とビューの列です。

場所標識  場所標識を使用すると、現在選択されているオブジェクトまたはノードの名前がわかります。

「検索」テキスト・ボックス  「検索」テキスト・ボックスでは、オブジェクト名の一部または全部を入力して、ナビゲータ内のオブジェクトを検索できます。

および [image]  検索後に「順方向に検索」または「逆方向に検索」ボタンをクリックすると、その前後にある検索条件に一致するオブジェクトを検索できます。


PL/SQLインタプリタ・インタフェース

PL/SQLインタプリタはデバッグ用の作業領域です。これを利用して、ソース・コードの表示、デバッグ・アクションの作成、プログラム単位の実行を行ったり、インタプリタ・コマンド、PL/SQL文およびSQL文を実行できます。

デフォルトでは、常にソース・ペインおよびインタプリタ・ペインの2つのペインがPL/SQLインタプリタで開いています。

標準ツールバー・ボタン  インタプリタ内のすべてのペインは、1つのツールバーを共有しています。「クローズ」を除く次のボタンは、プログラム単位の実行停止中のときのみアクティブになり、デバッグに使用されます。

ステップ・イン		停止中のプログラム単位の実行を再開して次の実行可能文に進みます。
ステップ・オーバー		停止中のプログラム単位の実行を再開して次の実行可能文に進み、ネストされたサブプログラムへのコールをスキップします。
ステップ・アウト		ネストされたサブプログラムの実行を再開して、コール側のプログラム単位内の次の実行可能文で実行を中断します。
実行		停止中のプログラム単位の実行を再開し、プログラム単位の終点または次のデバッグ・アクションに進みます。
リセット		現行のデバッグ・レベルを終了します。現行のデバッグ・レベルが1の場合、停止中の実行は放棄されます。
クローズ		PL/SQLインタプリタ・ウィンドウをクローズします。
ヘルプ		このヘルプ・トピックが表示されます。
ソース・ペイン  ソース・ペインでは、現在選択されているプログラム単位のソースが読込み専用で表示されます。キーワード、コメント、文字列および記号には、それぞれ別の色が付けられます。左マージンの第1列は、アイコンおよび記号用に予約されています。左マージンの第2列には、ソースの行番号が表示されます。

次のアイコンが表示される場合もあります。

黄色の矢印		現行の実行位置またはプログラム・カウンタ（program counter）(PC)を示します。
赤色のボール		使用可能なブレークポイントまたはトリガーを示します。
緑色のボール		使用不可のブレークポイントまたはトリガーを示します。

次の記号がソース・ペインに表示される場合もあります。

|	現行のソース位置を示します。  現行のソースの位置は、インタプリタ・コマンド（LISTなど）の結果、またはプログラム単位の実行がデバッグ・アクション（ブレークポイントなど）によって割り込まれたときに変わります。
B(n)	ブレーク・ポイントの位置を示します。 nは対応するデバッグ・アクションIDです。
T(n)	デバッグ・トリガーの位置を示します。 nは対応するデバック・アクションIDです。

ソース・ペインは、ポップアップ・メニュー（ウィンドウで右クリック）から次のコマンドを提供します。

ブレーク	新しいブレーク・ポイントを定義する「PL/SQLブレークポイント」ダイアログ・ボックスを表示します。
トリガー	「PL/SQLトリガー」ダイアログ・ボックスが表示され、新しいデバッグ・トリガーを定義できます。
編集	プログラム単位エディタが表示され、現行のプログラム単位を編集できます。
注意: 一部のシステムでは、ポップアップ・メニューをサポートしていません。前述のコマンドは、「デバッグ」メニューからも使用可能です。

分割バー  分割バーを使用して、インタプリタの各ペインが占める領域の相対量を変更できます。最初にインタプリタが表示されると、分割バーはソース・ペインとインタプリタ・ペインの間に置かれます。モーダル・インタプリタを使用しているか、またはモードレス・インタプリタにナビゲータ・ペインを挿入した場合、2次分割バーが表示されます。

インタプリタ・ペイン  インタプリタ・ペインは、PL/SQL、Procedure BuilderおよびSQLにコマンド・ライン・インタフェースを提供します。PL/SQL>プロンプトの後に、PL/SQL文やPL/SQLブロック、Procedure Builderのインタプリタ・コマンド、またはSQL文を入力できます（SQL*Plus文および構文はサポートされていません）。

マルチライン・コマンド  PL/SQL>プロンプトでのPL/SQL構文の入力時に、いつでも[Enter]キーを押し+>の形式で2つ目のプロンプトを表示できます。終了のセミコロン（;）付きコードを実行するまで、必要なだけ後続のプロンプトを表示することができます。

デバッグ・レベル  デバッグ・アクションによってプログラムの実行が中断された場合、インタプリタはデバッグ・レベルを確立します。デバッグ・レベルではコマンドおよびPL/SQL文を入力でき、それらが逆に割り込まれることによって、デバッグ・レベルがネストされる場合もあります。現行のデバッグ・レベルは、そのレベル番号を含む接頭辞が付いたインタプリタ・ペインの新規プロンプトに示されます。たとえば、デバッグ・レベル1では、インタプリタ・プロンプトが次のように表示されます。

（デバッグ 1）PL/SQL>

ポップアップ・メニュー  インタプリタ・ペインは、ポップアップ・メニュー（ウィンドウで右クリック）から次のコマンドを提供します。

消去	インタプリタ・ペインのすべてのテキストを廃棄し、新規プロンプトを発行します。
新規プロンプト	インタプリタ・ペインで新規プロンプトを発行します。前のプロンプトでの入力は、すべて無視されます。
注意: 一部のシステムでは、ポップアップ・メニューをサポートしていません。

ナビゲータ・ペイン  オブジェクト・ナビゲータ・ペインを使用して、現行のコール・スタックが表示できるほか、デバッグ中に現行の有効範囲の位置で、ローカル変数やパラメータの値を表示したり、任意に変更することもできます。

プログラム単位のデバッグ中に完全にインタプリタ内で作業したい場合は、ソース・ペインとインタプリタ・ペインの間に、オブジェクト・ナビゲータ・ペインを挿入できます。ナビゲータ・ペインを挿入するには、メニューから「表示」 [image] 「ナビゲータ・ペイン」を選択します。ナビゲータ・ペインを隠すには、同じコマンドをもう一度選択します。「表示」メニューから適切なコマンドを選択することにより、他のペインを隠すこともできます。

ナビゲータ・ツールバー　ナビゲータ・ペインが表示されると、以下の項目もボタン・バーに表示されます。

作成		現在選択されているオブジェクトまたはノードの新規インスタンスを作成します。
削除		選択されたオブジェクトを確認の上削除します。
拡張		現在選択されているノードのサブノードの最初のレベルを拡張します。
縮小		現在選択されているノードのサブノードの現行レベルを縮小します。
すべて拡張		現在選択されているノードのサブノードのすべてのレベルを拡張します。ただし、Oracle8のデータ型および属性のノードを再帰的に拡張はしません。
すべて縮小		現在選択されているノードのサブノードのすべてのレベルを縮小します。
検索（テキスト・ボックス）		オブジェクトの一部またはすべての名前を入力することにより、ナビゲータ内でオブジェクトを検索できます。
順方向検索		「検索」テキスト・ボックスに指定した検索条件の次に一致する項目を検索します。
逆方向検索		「検索」テキスト・ボックスに指定した検索条件の1つ前に一致する項目を検索します。


停止中のプログラム単位の実行を再開して次の実行可能文に進みます。


停止中のプログラム単位の実行を再開して次の実行可能文に進み、ネストされたサブプログラムへのコールを飛ばします。


ネストされたサブプログラムの実行を再開して、コール側のプログラム単位内の次の実行可能文で実行を中断します。


停止中のプログラム単位の実行を再開し、プログラム単位の終点または次のデバッグ・アクションに進みます。


現行のデバッグ・レベルを終了します。現行のデバッグ・レベルが1の場合、停止中の実行は放棄されます。


現在選択されているオブジェクトまたはノードの新規インスタンスを作成します。


選択されたオブジェクトを確認の上削除します。


現在選択されているノードのサブノードの最初のレベルを拡張します。


現在選択されているノードのサブノードの現行レベルを縮小します。


現在選択されているノードのサブノードのすべてのレベルを拡張します。Oracle8のデータ型および属性のノードは、再帰的に拡張されません。


現在選択されているノードのサブノードのすべてのレベルを縮小します。


ナビゲータ内で検索するオブジェクトの名前を入力します。


現行のプログラム単位の名前を指定し、それがクライアント上にあるかサーバー上にあるかを示します。


現在選択されているプログラム単位のソースを、ソースの第2列に行番号を付けて読込み専用で表示します。


インタプリタ内の各ペインが占める領域の相対量を変更できます。最初にインタプリタが表示されると、分割バーはソース・ペインとインタプリタ・ペインの間に置かれます。モーダル・インタプリタを使用しているか、またはモードレス・インタプリタにナビゲータ・シートンを挿入した場合、2次分割バーが表示されます。


現行のコール・スタックが表示できるほか、デバッグ中に現行の有効範囲の位置で、ローカル変数やパラメータの値を表示したり、任意に変更することもできます。


PL/SQL、Procedure BuilderおよびSQLにコマンド・ライン・インタフェースを提供します。PL/SQL>プロンプトの後に、PL/SQL文またはPL/SQLブロック、Procedure Builderのインタプリタ・コマンド、またはSQL文を入力できます。


データベース・トリガー・エディタ・インタフェース

  関連項目

データベース・トリガー・エディタを使用すると、表のBEFOREトリガーまたはAFTERトリガー、ビューとオブジェクト・ビュー(Oracle8に接続している場合)のINSTEAD OFトリガーを作成および編集できます。

新規トリガーを定義するには:

1	「表所有者」ドロップダウン・リストからユーザー名（スキーマ）を選択します。

2	「表」ドロップダウン・リストから表名を選択します。

「表」ドロップダウン・リストには、「表所有者」フィールドに表示されているユーザーが所有する表の名前リストが表示されます。「表所有者」フィールドで自分以外のユーザー名を選択すると、「表」ドロップダウン・リストには、アクセス権を付与されている表のみが表示されます。

(ビューの場合のみ。）オブジェクト・ビューについてINSTEAD OFトリガーを定義するには、「表」の横にある矢印をクリックしてドロップダウン・リストを表示し、「ビュー」を選択します。次に、「ビュー」ドロップダウン・リストからビュー名を選択します。

3	「新規作成」をクリックして、新しいデータベース・トリガーを作成します。

「名前」ドロップダウン・リストで、新しいトリガーに一意のトリガー名（同じスキーマ内の他のトリガーに対して）が自動的に割り当てられます。トリガー名は変更できます。

「名前」ドロップダウン・リストには、「表」（または「ビュー」）フィールドに表示されている表（またはビュー）に関連付けられているトリガー名のリストが表示されます。このドロップダウン・リストには、自分がアクセス権を持っている表に関連付けられているデータベース・トリガーの名前のみが表示されます。

4	トリガー・オプションを指定します。

次の項では、データベース・トリガーを定義するために、データベース・トリガー・エディタで使用できるさまざまなオプションに関する情報を記載しています。

5	トリガー・オプションとアクションを指定したら、「保存」をクリックしてトリガーをコンパイルします。

トリガー・オプション

BEFORE/AFTER	(表の場合のみ。）SQLコマンドCREATE TRIGGERのBEFOREオプションまたはAFTERオプションに対応します。 実行中のトリガー文(UPDATE、INSERTまたはDELETEなど)に関連して、トリガー本体をいつ起動するかを指定します。BEFOREトリガーは、トリガー文の実行前に起動します。AFTERトリガーは、トリガー文の実行後に起動します。 BEFOREトリガーとAFTERトリガーは、行トリガーと文トリガーの両方に適用します。
INSTEAD OF	(ビューの場合のみ。）SQLコマンドCREATE TRIGGERのINSTEAD OFオプションに対応します。 Oracleでは、トリガー文を実行するかわりに、トリガーを起動します。トリガーによって、挿入、更新または削除などのアクションがビューの実表に対して直接行われます。

「文」チェックボックス

UPDATE INSERT DELETE	トリガー本体を起動するSQL文（トリガー文）のタイプを指定します。指定できるオプションは、UPDATE、INSERTおよびDELETEです。  1つ以上のチェックボックスをチェックして、トリガー文にオプションを組み込みます。 トリガー文でUPDATEを指定した場合、オプションの列リストをトリガー文に組み込むことができます。詳細は、次の「列オプション」を参照してください。 複数のオプションをチェックした場合、条件述語のUPDATING、INSERTINGおよびDELETINGを使用して、トリガー本体に含まれる特定のコード・ブロックを実行できます。詳細は、後述の「トリガー本体」を参照してください。

列オプション

列	(表の場合のみ。）SQLコマンドCREATE TRIGGERのUPDATEトリガー文に含まれるOF句に対応します。 「表」フィールドで選択された表について、列のリストを表示します。このリストは、トリガー文でUPDATEが指定されたときにのみアクティブになります。 このリスト・ボックスの列を1つ以上クリックすると、選択した列のどれか1つが更新されたときにのみトリガーが起動するように指定されます。表の任意の列が更新されたときにトリガーを起動したい場合は、リスト内の列名をクリックしないでください。 このオプションは、INSTEAD OFトリガーでは使用できません。Oracleでは、UPDATEによってビューの任意の列に含まれる値が変更されるたびに、INSTEAD OFトリガーを起動します。 Oracle8オブジェクト:ネストされた表またはLOB列は指定できません。

各（文）オプション

文	SQLコマンドCREATE TRIGGERの各（文）オプションに対応します。  トリガーを文トリガーとして指定します。Oracleでは、WHEN句で定義されたオプションのトリガー制約が満たされている場合、トリガー文の発行時に1度のみ文トリガーを起動します（トリガー文の対象となる行の数に関係なく）。 このオプションは、INSTEAD OFトリガーでは使用できません。

各(行)オプション

行	SQLコマンドCREATE TRIGGERの各（行）オプションに対応します。  トリガーを行トリガーとして指定します。Oracleでは、トリガー文の対象となる行ごとに1度のみ行トリガーを起動し、WHEN句で定義されたオプションのトリガー制約を満たします。
相関名	相関名を指定します。行トリガーのトリガー本体およびWHEN句で相関名を使用して、現在行の古い値または新しい値のみを参照できます。デフォルトの相関名はOLDとNEWです。行トリガーが、OLDまたはNEWという名前の表に関連付けられている場合、このオプションを使用して別の相関名を指定し、表名と相関名が重複しないようにします。このオプションは、行トリガーでのみ使用できます。
OLDの相関名	OLDという名前の表と名前が重複しないように相関名を指定します。
NEWの相関名	NEWという名前の表と名前が重複しないように相関名を指定します。
WHEN句の論理式	(表の場合のみ。）SQLコマンドCREATE TRIGGERのWHEN句に含まれるブールSQL式に対応します。このオプションは、行トリガーでのみ使用できます。 オプションのトリガー制限を指定します。 WHEN句にブールSQL式が組み込まれると、その式はトリガーの対象となる各行について評価されます。1つの行について式がTRUEに評価されると、トリガー本体が起動します。1つの行について式がFALSEまたはNOT TRUE(つまり、NULLと同様に不明)に評価されると、トリガー本体は起動しません。 Oracle8オブジェクト:オブジェクト列やその属性、VARRAY、ネストされた表またはLOB列を参照できます。トリガー制限内でPL/SQL関数またはメソッドをコールすることはできません。

トリガー・アクションを次の場所で指定します

トリガー本体	トリガーを起動するためにOracleが実行するPL/SQLブロック。 PL/SQLブロックを入力および編集できる、スクロール可能な複数行のテキスト・ボックス。トリガー本体には、SQL文およびPL/SQL文を組み込むことができます。BEGINとENDの各キーワードは必須です。 行トリガーのトリガー本体には、相関名とREFERENCINGオプション、および条件述語のINSERTING、DELETING、UPDATINGを組み込むことができます。 行トリガーについて、INSERTおよびUPDATEなど複数のタイプのトリガー文が指定されている場合、次に示す条件を組み込むことによって、トリガー本体内の特定のコード・ブロックのみを実行できます。 IF INSERTING THEN�END IF; IF UPDATING THEN�END IF;

エディタ内のボタンを次に示します

新規作成	新しいデータベース・トリガーを作成します。 新しいトリガーの定義を始めるには、「新規作成」をクリックします。
保存	トリガー・オプションを保存し、「トリガー本体」フィールドのソースをコンパイルします。コンパイルの結果として生成されるすべてのメッセージが、別のメッセージ・ボックスに表示されます。
変更の破棄	データベース・トリガーを、最後の保存操作または変更の破棄操作を行ったときの状態に戻します。
削除	データベースから現行のデータベース・トリガーを削除します。 削除する場合には、確認が求められます。
クローズ	データベース・トリガー・エディタを終了します。
ヘルプ	このヘルプ・トピックが表示されます。


データベース・トリガーについて

データベース・トリガーはデータベースに格納されるプロシージャで、INSERT、UPDATEまたはDELETEなどのトリガー文が関連のある表に対して発行されると、暗黙的に実行されます。トリガーは表についてのみ定義でき、ビューについては定義できません。ただし、INSERT、UPDATEまたはDELETEの各文がビューに対して発行される場合、ビューの実表に対するトリガーは起動します。

トリガーには、単位ごとに実行するSQL文またはPL/SQL文を組み込むことができ、他のプロシージャを起動できます。トリガーは必要な場合に限り使用します。トリガーを不必要に多く使用すると、トリガーのカスケード化または再帰化が発生します。たとえば、トリガーを起動すると、トリガー本体に含まれるSQL文によって他のトリガーが起動する可能性もあります。

データベース・トリガーを使用することにより、複雑な業務ルールを導入し、すべてのアプリケーションを画一化された方式で動作させることができます。トリガーを設計するときは、次のガイドラインに従います。

•	トリガーを使用するのは、特定の操作が実行されたときに、関連するアクションが確実に実行されるようにする場合です。

•	データベース・トリガーを使用するのは、トリガー文に対して起動する、一元管理された一括操作についてのみです。 この場合、文を発行するユーザーまたはアプリケーションの種類は関係ありません。

•	Oracle内にすでに組み込まれている機能と重複するトリガーは定義しないでください。たとえば、データ整合性ルールを導入するためのトリガーは定義しないでください。 このルールは、宣言整合性制約を使用して簡単に導入できます。

•	トリガーのサイズを制限します（目安は60行以下）。トリガーの論理で60行をはるかに超える数のPL/SQLコードが必要な場合は、大部分のコードをストアド・プロシージャに組み込み、トリガーからプロシージャをコールします。

•	再帰トリガーを作成しないように注意します。たとえば、それ自体がEMPに対してUPDATE文を発行するEMP表に対してAFTER UPDATE文トリガーを作成すると、トリガーは空きメモリーがなくなるまで、再帰的に起動を続けます。

トリガーをアプリケーションで使用する方法の詳細は、『Oracle8 Serverアプリケーション開発者ガイド』を参照してください。トリガーのさまざまなタイプの詳細は、『Oracle8 Server概要』を参照してください。


現行データベースの表所有者のユーザーIDを表示します。ユーザーのドロップダウン・リストを表示するには、このフィールドの右にある矢印をクリックします。


現行データベースの表またはビューの名前を表示します。「表所有者」フィールドに表示されるユーザーが所有する表またはビューのドロップダウン・リストを表示するには、このフィールドの右にある矢印をクリックします。表またはビューを選択するには、リスト内の表またはビューをクリックします。リストには、アクセス権限があるデータベースの表またはビューの名前のみが表示されます（ビューを使用できるのはOracle8のみです）。


現行データベース・トリガーの名前を表示します。「表/ビュー」フィールドに表示される表またはビューのトリガー名のドロップダウン・リストを表示するには、このフィールドの右にある矢印をクリックします。名前リストには、アクセス権限があるデータベース・トリガーの名前のみが表示されます。


トリガーを実行する文（UPDATE、INSERT、DELETEなど）の実行に対して、トリガー本体がいつ起動されるかを示します。このラジオ・ボタンのセットは、SQLコマンドCREATE TRIGGERのBEFORE、AFTERおよびINSTEAD OFオプションに対応しています。


トリガーが、トリガーを実行する文の前に起動されるように指定します。


トリガー本体が、トリガーを実行する文の後に起動されるように指定します。


トリガーを実行する文を実行するかわりに、トリガーがOracleによって起動されるように指定します。ビューの場合に限られます。


トリガー本体を起動するSQL文のタイプを指定します。指定できるオプションは、UPDATE、INSERTおよびDELETEです。オプションをアクティブにするには、1つ以上のチェックボックスをクリックします。表の場合に限られます。


トリガーが、INSERTイベントで起動されるように指定します。


トリガーが、DELETEイベントで起動されるように指定します。


トリガーが、UPDATEイベントで起動されるように指定します。


「表」フィールドで選択された表について、列のリストを表示します。このリストは、「トリガー文」フィールドでUPDATEオプションがアクティブになっている場合にのみ、アクティブになります。表の場合に限られます。


行トリガーを指定します。CREATE TRIGGERコマンドの各（行）オプションに対応しています。


文トリガーを指定します。CREATE TRIGGERコマンドの各（文）オプションに対応しています。


OLDと名付けられる更新前の表またはビューと名前が重複しないように、相関名を指定します。


OLDと名付けられる更新前の表またはビューと名前が重複しないように、相関名を指定します。


WHEN句のブールSQL式を指定します。WHEN句にブールSQL式が組み込まれると、その式はトリガーの対象となる各行について評価されます。1つの行について式がTRUEに評価されると、トリガー本体が起動します。1つの行について式がFALSEまたはNOT TRUE(つまり、NULLと同様に不明)に評価されると、トリガー本体は起動しません。表の場合に限られます。


スクロール可能な複数行のテキスト・ボックスで、PL/SQLデータベース・トリガー本体の入力や編集ができます。トリガー本体は、SQLおよびPL/SQL文を組み込めるPL/SQLブロックです。


名前の付いていない新しいデータベース・トリガーを作成します。


トリガー・オプションを保存し、「トリガー本体」フィールドのソースをコンパイルします。コンパイルの結果として生成されるすべてのメッセージが、メッセージ・ボックスに表示されます。


データベース・トリガーを、最後の保存操作または変更の破棄操作を行ったときの状態に戻します。保存操作または変更の破棄操作が行われなかった場合、データベース・トリガーは元の状態に戻ります。


データベースから現行のデータベース・トリガーを削除します。 削除する場合には、確認が求められます。


プログラム単位エディタのインタフェース

関連項目

プログラム単位エディタに含まれるボタンおよびドロップダウン・リスト・ボックスは次のとおりです。

コンパイル	現行のプログラム単位をコンパイルします。コンパイルの結果生成されたエラー・メッセージは、スクロール可能なコンパイル・メッセージ・ペインに表示されます。
適用	エディタが最初にオープンされてから、あるいは最後の適用操作または変更の破棄の操作が行われてから、エディタのプログラム単位に加えられた変更を保存します。プログラム単位は再コンパイルされません。エディタはクローズしません。元に戻すスタックまたは再実行スタックは消去されます。
変更の破棄	最後の適用操作または変更の破棄操作を行ったときの状態に、プログラム単位を戻します。適用操作または変更の破棄操作が行われなかった場合、プログラム単位は元の状態に戻ります。
作成	「新規プログラム単位」ダイアログ・ボックスを表示します。このダイアログ・ボックスで、作成するプログラム単位のタイプと名前を指定できます。
削除	現行のプログラム単位を削除します。操作の確認を求めるメッセージ・ボックスが表示されます。
クローズ	プログラム単位エディタをクローズします。
ヘルプ	このヘルプ・トピックが表示されます。
名前	現行のプログラム単位の名前を表示します。現行セッションにあるその他の既存プログラム単位のドロップダウン・リストを表示するには、フィールドの右にある矢印をクリックします。ソース・ペインにプログラム単位を表示するには、このリストで表示するプログラム単位をクリックします。

この他に、エディタは次の要素で構成されています。

ソース・ペイン	PL/SQLプログラム単位ソース・テキストを入力および編集する領域。 分割バーを使用すると、現行のプログラム単位について、異なるビューを4つまで作成できます。各ビューは、個別にスクロールできます。   ソース・ペイン内に水平なビューを作成するには、垂直スクロール・バーの最上部にある分割バーにカーソルを置き、ダブルクリックします。これによってソース・ペインが2つの均等なビューに水平に分割されます。また、分割バーをクリックし、希望のビュー・サイズになるまでドラッグして調整することもできます。  垂直なビューを作成するには、水平スクロール・バーの左端にある分割バーにカーソルを置き、ダブルクリックします。これによってソース・ペインが2つの均等なビューに垂直に分割されます。また、分割バーをクリックし、希望のビュー・サイズになるまでドラッグして調整することもできます。 ビューのサイズを変更するには、ビューを分割している分割バーをクリックし、ドラッグします。 水平または垂直なビューを削除するには、ビューを分割している分割バーをダブルクリックするか、ペインの端までドラッグします。 4つのビューを一度にすべて削除するには、境界バーが交差する部分にカーソルを置いてダブルクリックするか、交差する部分をペインの任意の隅までドラッグします。 コード行を選択するには、左マージンにカーソルを置いて、クリックします。
コンパイル・メッセージ・ペイン	コンパイルの結果生成されたエラー・メッセージがあれば表示します。エラー・メッセージをクリックすると強調表示され、問題のソース文までソース・ペインをスクロールし、エラーの位置にテキスト・カーソルが置かれます。 デフォルトでは、コンパイル時にコンパイル・エラー・メッセージが生成された場合にだけ、コンパイル・メッセージ・ペインが表示されます。 コンパイル・メッセージ・ペインを必要なときに手動で表示するには、カーソルの形状が十字線になるまで、カーソルをエディタ・ウィンドウの右下隅に移動します。次に、マウスを1回クリックし、カーソルを上にドラッグします。これによって分割バーが上に移動し、その下にコンパイル・メッセージ・ペインが表示されます。
分割バー （ペインの分割）	ソース・ペインとコンパイル・メッセージ・ペインを分割します。これによって、ペインの相対サイズを変更できます。ペインのサイズを変更するには、分割バーをクリックして、ドラッグします。 コンパイル・メッセージ・ペインが表示されない場合は、分割バーがエディタ・ウィンドウの底部にあります。
ステータス・バー	エディタの1番下に、プログラム単位の現行の状態に関する情報を表示します。


「ソース」ペインに表示されるプログラム単位をコンパイルします。コンパイルの結果生成されたエラー・メッセージは、スクロール可能なコンパイル・メッセージ・ペインに表示されます。


エディタが最初にオープンされてから、あるいは最後の適用操作または変更の破棄操作が行われてから、エディタでプログラム単位に加えられた変更を保存します。プログラム単位は再コンパイルされません。エディタはクローズしません。


最後の適用操作または変更の破棄操作を行ったときの状態に、プログラム単位を戻します。適用操作または変更の破棄操作が行われなかった場合、プログラム単位は元の状態に戻ります。


「新規プログラム単位」ダイアログ・ボックスを表示します。このダイアログ・ボックスで、作成するプログラム単位のタイプと名前を指定できます。


表示されているプログラム単位を削除します。


エディタをクローズしようとします。変更後、変更内容が適用されていない場合、メッセージ・ボックスが表示され、変更内容を適用または破棄するか、あるいは操作を取り消すように求められます。変更内容がすべて適用または破棄されると、プログラム単位エディタはクローズします。


現在エディタに表示されている、プログラム単位のタイプ（トリガー、プロシージャなど）を指定します。


プログラムがどのオブジェクトに関連付けられているかを指定します。


現行のプログラム単位の名前を表示します。その他の既存プログラム単位のドロップダウン・リストを表示するには、フィールドの右にある矢印をクリックします。エディタにプログラム単位を表示するには、このリストで表示するプログラム単位をクリックします。


PL/SQLプログラム単位のソース・テキストの入力と編集を行います。


コンパイル中に発見された構文エラーを表示します。プログラム単位内のエラー元の位置に進むには、エラーをクリックします。


プログラム単位エディタの2つのペイン（ソース・ペインとコンパイル・メッセージ・ペイン）領域の相対量を変更できます。デフォルトでは、コンパイル・メッセージ・ペインは、コンパイル中にエラー・メッセージが生成された場合にのみ表示されることに注意してください。


ステータス・バーの右側に次のメッセージが表示されます。

変更されていません。	プログラム単位が最初に表示または最後に適用されてから加えられた変更はありません。
変更されました。	プログラム単位が最初に表示または最後に適用されてから1つ以上の変更が加えられています。

ステータス・バーの右側に次のメッセージが表示されます。

コンパイルされていません。	現在表示されているプログラム単位のソース・テキストは、コンパイルされていません。
コンパイルは成功しました。	現在表示されているプログラム単位のソース・テキストは、エラーなくコンパイルされました。
コンパイル･エラーがあります。	現在表示されているプログラム単位のソース・テキストは、コンパイル中にエラーが発生しました。エラーは、コンパイル・メッセージ・ペインに表示されます。


ストアド・プログラム単位エディタのインタフェース

  関連項目

ストアド・プログラム単位エディタに含まれるボタンおよびドロップダウン・リスト・ボックスは次のとおりです。

作成	「新規プログラム単位」ダイアログ・ボックスを表示します。このダイアログ・ボックスで、作成するストアド・プログラム単位のタイプと名前を指定できます。
保存	現行のストアド・プログラム単位をコンパイルします。コンパイルの結果生成されたエラー・メッセージは、スクロール可能なコンパイル・メッセージ・ペインに表示されます。元に戻すスタックまたは再実行スタックは消去されます。
変更の破棄	最後の保存操作または変更の破棄操作を行ったときの状態に、ストアド・プログラム単位を戻します。保存操作または変更の破棄操作が行われなかった場合、プログラム単位は元の状態に戻ります。
削除	データベースから、現行のストアド・プログラム単位を削除します。操作の確認を求めるメッセージ・ボックスが表示されます。
クローズ	ストアド・プログラム単位エディタをクローズします。
ヘルプ	このヘルプ・トピックが表示されます。
所有者	現行のプログラム単位の所有者の、データベース・ユーザーIDを表示します。このボックスの右向きの矢印キーをクリックし、アクセス権限のある、ユーザー名のドロップダウン・リストを表示します。所有者リストには、自分がアクセス権限を持っているストアド・プログラムの所有ユーザーの名前のみが表示されます。
名前	現行のストアド・プログラム単位の名前を表示します。「所有者」フィールドに示されたユーザーIDによって所有されるストアド・プログラム単位のドロップダウン・リストを表示するには、このボックスの右にある矢印をクリックします。「名前」リストには、アクセス権限を付与されたストアド・プログラム単位の名前のみが表示されます。

この他に、エディタは次の要素で構成されています。

ソース・ペイン	PL/SQLプログラム単位ソース・テキストを入力および編集する領域。   分割バーを使用すると、現行のプログラム単位について、異なるビューを4つまで作成できます。各ビューは、個別にスクロールできます。   ソース・ペイン内に水平なビューを作成するには、垂直スクロール・バーの最上部にある分割バーにカーソルを置き、ダブルクリックします。これによってソース・ペインが2つの均等なビューに水平に分割されます。また、分割バーをクリックし、希望のビュー・サイズになるまでドラッグして調整することもできます。  垂直なビューを作成するには、水平スクロール・バーの左端にある分割バーにカーソルを置き、ダブルクリックします。これによってソース・ペインが2つの均等なビューに垂直に分割されます。また、分割バーをクリックし、希望のビュー・サイズになるまでドラッグして調整することもできます。 ビューのサイズを変更するには、ビューを分割している分割バーをクリックし、ドラッグします。 水平または垂直なビューを削除するには、ビューを分割している分割バーをダブルクリックするか、ペインの端までドラッグします。 4つのビューを一度にすべて削除するには、境界バーが交差する部分にカーソルを置いてダブルクリックするか、交差する部分をペインの任意の隅までドラッグします。 コード行を選択するには、左マージンにカーソルを置いて、クリックします。
コンパイル・メッセージ・ペイン	コンパイルの結果生成されたエラー・メッセージがあれば表示します。エラー・メッセージをクリックすると強調表示され、問題のソース文までソース・ペインをスクロールし、エラーの位置にテキスト・カーソルが置かれます。 デフォルトでは、コンパイル時にコンパイル・エラー・メッセージが生成された場合にのみ、コンパイル・メッセージ・ペインが表示されます。 コンパイル・メッセージ・ペインを必要なときに手動で表示するには、カーソルの形状が十字線になるまで、カーソルをエディタ・ウィンドウの右下隅に移動します。次に、マウスを1回クリックし、カーソルを上にドラッグします。これによって分割バーが上に移動し、その下にコンパイル・メッセージ・ペインが表示されます。
分割バー	ソース・ペインとコンパイル・メッセージ・ペインを分割します。これによって、ペインの相対サイズを変更できます。ペインのサイズを変更するには、分割バーをクリックして、ドラッグします。 コンパイル・メッセージ・ペインが表示されない場合は、分割バーがエディタ・ウィンドウの底部にあります。
ステータス・バー	エディタの一番下に、ストアド・プログラム単位の現行の状態に関する情報を表示します。


「新規プログラム単位」ダイアログ・ボックスを表示します。このダイアログ・ボックスで、作成するプログラム単位のタイプと名前を指定できます。


ソース・ペインに表示されるストアド・プログラム単位をコンパイルします。コンパイルの結果生成されたエラー・メッセージは、スクロール可能なコンパイル・メッセージ・ペインに表示されます。


最後の保存操作または変更の破棄操作を行ったときの状態に、ストアド・プログラム単位を戻します。保存操作または変更の破棄操作が行われなかった場合、プログラム単位は元の状態に戻ります。


現行のストアド・プログラム単位を削除します。削除する場合には、確認を行います。


現行のプログラム単位の所有者の、データベース・ユーザーIDを表示します。このフィールドの右向きの矢印キーをクリックし、アクセス権限のある、ユーザー名のドロップダウン・リストを表示します。


現行のストアド・プログラム単位の名前を表示します。「所有者」フィールドに示されたユーザーIDによって所有されるストアド・プログラム単位のドロップダウン・リストを表示するには、このフィールドの右にある矢印をクリックします。「名前」リストには、アクセス権限を付与されたストアド・プログラム単位の名前のみが表示されます。


PL/SQLストアド・プログラム単位のソース・テキストを、入力および編集するために使用されます。


コンパイル中に発見された構文エラーを表示します。プログラム単位内のエラー元の位置へナビゲートするには、エラーをクリックします。


ストアド・プログラム単位エディタの2つのペイン領域の相対量を変更できます。デフォルトでは、コンパイル・メッセージ・ペインは、コンパイル中にエラー・メッセージが生成された場合にのみ表示されることに注意してください。


「データベース・ライブラリ」ダイアログ・ボックス

「データベース・ライブラリ」ダイアログ・ボックスは、現在データベースに格納されているライブラリを表示します。

ライブラリ	接続しているデータベースで使用可能なライブラリのリスト。アクセス権限があるライブラリのみがリストに表示されます。選択するライブラリの名前をクリックします。


接続しているデータベースで使用可能なライブラリのリストです。アクセス権限があるライブラリのみがリストに表示されます。選択するライブラリの名前をクリックします。


「新規プログラム単位」ダイアログ・ボックス

「新規プログラム単位」ダイアログ・ボックスは、作成するプログラム単位の名前とタイプを指定します。

名前	プログラム単位の名前を入力します。
タイプ	作成するプログラム単位のタイプを指定します。次のタイプを作成できます。
プロシージャ	指定されたアクション・シーケンスを実行するPL/SQLサブプログラム。
ファンクション	アクションの指定されたシーケンスを実行して値を返すPL/SQLサブプログラム。
パッケージ仕様部	他のプログラム単位によって参照できるデータ型およびサブプログラム。
パッケージ本体	パッケージのインプリメンテーション。固有のサブプログラムまたはデータ型が含まれる場合もあります。パッケージが宣言のみによって構成される場合はオプションで使用します。
型仕様部	オブジェクト型またはコレクション・タイプについて、名前、変数（属性）およびメンバー・サブプログラム（メソッド）を宣言します。
型本体	オブジェクト型の型仕様部で定義されたメンバー・メソッド（ファンクションとプロシージャ）のインプリメンテーション。オブジェクト型で指定された各メソッドについて、対応するメソッド本体が存在する必要があります。
注意: タイプ仕様部およびタイプ本体は、Oracle8に接続しているときにのみ使用できます。


プログラム単位の名前を入力します。


作成するプログラム単位のタイプを指定します。


「オープン・ライブラリ」ダイアログ・ボックス

「オープン・ライブラリ」ダイアログ・ボックスは、ファイル・システムまたはデータベースから既存のライブラリをオープンし、インタプリタのOPENコマンドに対するグラフィカル・ユーザー・インタフェースを提供します。

ライブラリ	オープンするライブラリの名前（および位置）を入力します。
参照	「元」フィールドで「ファイル・システム」または「両方」が選択されていると、オペレーティング・システム・ファイルの選択ダイアログ・ボックスが表示されます。「元」フィールドで「データベース」が選択されていると、「データベース・ライブラリ」ダイアログ・ボックスが表示されます。
元	ライブラリが、ファイル・システムとデータベースのどちらに格納されているかを示します。


オープンするライブラリの名前（および位置）を入力します。


「元」フィールドで「ファイル・システム」または「両方」が選択されていると、オペレーティング・システム・ファイルのダイアログ・ボックスが表示されます。「元」フィールドで「データベース」が選択されていると、「データベース・ライブラリ」ダイアログ・ボックスが表示されます。


ライブラリが、ファイル・システムとデータベースのどちらに格納されているかを示します。


「連結ライブラリ」ダイアログ・ボックス

「連結ライブラリ」ダイアログ・ボックスは、現行セッションにライブラリを連結します。

ライブラリ	連結するライブラリの名前（および位置）を入力します。
参照	「元」フィールドで「ファイル・システム」または「両方」が選択されていると、オペレーティング・システム・ファイルの選択ダイアログ・ボックスが表示されます。「元」フィールドで「データベース」が選択されていると、「データベース・ライブラリ」ダイアログ・ボックスが表示されます。
元	ライブラリが、ファイル・システムとデータベースのどちらに格納されているかを示します。
連結	選択を確認してライブラリを連結し、ダイアログ・ボックスをクローズします。


連結するライブラリの名前（および位置）を入力します。


「元」フィールドで「ファイル・システム」または「両方」が選択されていると、オペレーティング・システム・ファイルのダイアログ・ボックスが表示されます。「元」フィールドで「データベース」が選択されていると、「データベース・ライブラリ」ダイアログ・ボックスが表示されます。


ライブラリが、ファイル・システムとデータベースのどちらに格納されているかを示します。


選択を確認してライブラリを連結し、ダイアログ・ボックスをクローズします。


「ログ・インタプリタ」ダイアログ・ボックス

「ログ・インタプリタ」ダイアログ・ボックスは、ログの実行を管理します。

ファイル	ロギング・セッションを記録するファイルの名前を入力します。
参照	オペレーティング・システムの「ファイル」ダイアログ・ボックスが表示されます。このダイアログ・ボックスで、参照を行い、位置または既存ファイルの名前を選択できます。
追加	これを選択すると、APPENDオプションがアクティブになり、現行のログ・セッションが、「ファイル」テキスト・ボックスで指定した既存のログ・ファイルの終わりに追加されます。選択しないと、指定されたファイル内の現行のログ情報はすべて、新しいロギング・セッションにより上書きされます。
使用不可	これを選択すると、DISABLEDオプションがアクティブになり、指定したファイルへのロギングが、再び使用可能にされるまで中断されます。
ログ表示	これを選択すると、「ログ・インタプリタ」ダイアログ・ボックスがアクセプトされる際に「PL/SQLインタプリタ・ログ」ブラウザが表示されます。「インタプリタ・ログ」ブラウザは、「表示」 [image] 「インタプリタ・ログ」を選択しても表示できます。


ロギング・セッションを記録するファイルの名前を入力します。


オペレーティング・システムの「ファイル」ダイアログ・ボックスが表示されます。このダイアログ・ボックスで、参照を行い、位置または既存ファイルの名前を選択できます。


これを選択すると、APPENDオプションがアクティブになり、現行のログ・セッションが、「ファイル」テキスト・ボックスで指定した既存のログ・ファイルの終わりに追加されます。選択しないと、指定されたファイル内の現行のログ情報はすべて、新しいロギング・セッションにより上書きされます。


これを選択すると、DISABLEDオプションがアクティブになり、指定したファイルへのロギングが、再び使用可能にされるまで中断されます。


これを選択すると、「ログ・インタプリタ」ダイアログ・ボックスがアクセプトされる際に「PL/SQLインタプリタ・ログ」ブラウザが表示されます。「インタプリタ・ログ」ブラウザは、「表示」-->「インタプリタ・ログ」を選択しても表示できます。


「PL/SQLインタプリタ・ログ」ブラウザ

「PL/SQLインタプリタ・ログ」ブラウザは、ロギング・セッションで記録されたメッセージを表示します。

使用不可/使用可能	現行のロギング・セッションのアクティブ状態を切り替えます。
オフ	現行のロギング・セッションを終了し、ブラウザをクローズします。
「メッセージ」リスト・ボックス	インタプリタ・ペイン内で入出力レコードを表示する読込み専用のスクロール可能な領域。リスト・ボックスに表示されるテキストを選択およびコピー、検索することができます。


現行のロギング・セッションのアクティブ状態を切り替えます。


現行のロギング・セッションを終了し、ブラウザをクローズします。


インタプリタ・ペイン内で入出力レコードを表示する読込み専用のスクロール可能な領域。リスト・ボックスに表示されるテキストを選択およびコピー、検索することができます。


「接続」ダイアログ・ボックス

「接続」ダイアログ・ボックスは、データベース・インスタンスへの接続を確立します。

ユーザー名	データベースのユーザーIDを入力します。このテキスト・ボックスには、接続文字列をすべて入力できますが、ユーザーのパスワードがエコー表示されます。
パスワード	データベースのパスワードを入力します。パスワードのセキュリティ保護のため、このフィールドでは、エコー表示されません。
データベース	接続を希望するデータベースのデータベース接続文字列を入力します。通常は、次の形式で入力します。
	network_protocol:network_node[:database_name]
	各フィールドはコロン(:)で区切ります。データベースの正しい接続文字列の詳細は、使用しているデータベース管理者に問い合せてください。 ODBCデータ・ソースに接続している場合、構文は次のようになることに注意してください。
	username/password@ODBC:datasource[:dbname] dbnameを指定しないと、現行のODBC接続用データベースが使用されます。
接続	入力した情報を確認し、接続を試行します。データベースへの接続が完了すると、ダイアログ・ボックスはクローズします。データベースへの接続に失敗すると、エラーが発行されます。


データベースのユーザーIDを入力します。このテキスト・ボックスには、接続文字列をすべて入力できますが、ユーザーのパスワードがエコー表示されます。


データベースのパスワードを入力します。パスワードのセキュリティ保護のため、このフィールドでは、エコー表示されません。


接続を希望するデータベースのデータベース接続文字列を入力します。


入力した情報を確認し、接続を試行します。データベースへの接続が完了すると、ダイアログ・ボックスはクローズします。データベースへの接続に失敗すると、エラーが発行されます。


「アクセス権限リスト」ダイアログ・ボックス

「アクセス権限リスト」ダイアログ・ボックスは、現在選択されているライブラリまたはデータベース・サーバー上のストアド・プログラム単位へのアクセス権限の表示と変更が行えます。他のユーザーに対するアクセス権限の付与または取消しを行うためには、ライブラリに対するGRANTアクセスを必要とします。

ユーザー・リスト・ボックス	選択したライブラリまたはストアド・プログラム単位に対して、現在アクセス権限を持つユーザーをリストします。「ユーザー」テキスト・ボックスに入れるには、対象となるユーザー名をクリックします。
ユーザー	選択したライブラリまたはストアド・プログラム単位へのアクセス権限を付与または取り消す対象ユーザー名を入力します。このユーザー名は、現行のデータベースで有効なユーザー名を入力する必要があります。ユーザー名がすでに「ユーザー」リスト・ボックスに表示されている場合は、ユーザー名をクリックします。
追加	ライブラリまたはストアド・プログラム単位にGRANTアクセス権限を付与されているユーザーのリストに、ユーザー名を追加します。
削除	ライブラリまたはストアド・プログラム単位にGRANTアクセス権限を付与されているユーザーのリストから、ユーザー名を削除します。


選択したライブラリに対して、現在アクセス権限を持つユーザーをリストします。「ユーザー」テキスト・ボックスに入れるには、対象となるユーザー名をクリックします。


選択したライブラリへのアクセス権限を付与または取り消す対象ユーザー名を入力します。このユーザー名は、現行のデータベースで有効なユーザー名を入力する必要があります。ユーザー名がすでに「ユーザー」リスト・ボックスに表示されている場合は、ユーザー名をクリックします。


ライブラリに対しGRANTアクセス権限を付与されているユーザーのリストに、ユーザー名を追加します。


ライブラリに対しGRANTアクセス権限を付与されているユーザーのリストから、ユーザー名を削除します。


「ライブラリ保存」ダイアログ・ボックス

「ライブラリ保存」ダイアログ・ボックスは、ライブラリをファイル・システムまたはデータベースに保存し、インタプリタのSAVEコマンドに対するグラフィカル・ユーザー・インタフェースを提供します。

ライブラリ	保存するライブラリの名前（および位置）を入力します。
参照	「先」フィールドで「ファイル・システム」が選択されていると、オペレーティング・システム・ファイルのダイアログ・ボックスを表示します。「先」フィールドで「データベース」が選択されていると、「データベース・ライブラリ」ダイアログ・ボックスを表示します。
先	ライブラリを、ファイル・システムとデータベースのどちらに保存するかを示します。


保存するライブラリの名前（および位置）を入力します。


「先」フィールドで「ファイル・システム」が選択されていると、オペレーティング・システム・ファイルのダイアログ・ボックスを表示します。「先」フィールドで「データベース」が選択されていると、「データベース・ライブラリ」ダイアログ・ボックスを表示します。


ライブラリを、ファイル・システムとデータベースのどちらに保存するかを示します。


「検索と置換」ダイアログ・ボックス

「検索と置換」ダイアログ・ボックスは、プログラム単位エディタまたはストアド・プログラム単位エディタに現在表示されているプログラム単位ソース内の文字列または正規表現の検索と置換に使用します。

検索文字列	検索文字列を入力します。この文字列を正規表現として扱う場合は、「正規表現」チェックボックスをクリックします。
置換文字列	検索結果文字列と置換する文字列を入力します。
正規表現	これがチェックされると、検索文字列を文字列ではなく正規表現として扱うかどうかを指定します。
大/小文字区別	検索文字列の英文字の大文字と小文字を区別して検索するかどうかを示します。このチェックボックスをチェックしない場合、英文字の大小の区別なく、検索文字列に一致するすべての文字列が検索されます。
次を検索	検索文字列の検索を、現在のカーソル位置から開始します。
置換	最新の検索結果文字列を、「置換文字列」テキスト・ボックスで指定した文字列に変更します。その時点で検索結果文字列が選択されていない場合は、検索文字列の次の文字列を検索して置換します。
すべて置換	すべての検索結果文字列を置換文字列に置換します（カーソル位置から検索可能な領域の最後まで）。


検索文字列を入力します。この文字列を正規表現として扱う場合は、「正規表現」チェックボックスをクリックします。


検索結果文字列と置換する文字列を入力します。


検索文字列の英文字の大文字と小文字を区別して検索するかどうかを示します。このチェックボックスをチェックしない場合、英文字の大小の区別なく、検索文字列に一致するすべての文字列が検索されます。


これがチェックされると、検索文字列を文字列ではなく正規表現として扱うかどうかを指定します。


検索文字列の検索を、現在のカーソル位置から開始します。


最新の検索結果文字列を、「置換文字列」テキスト・ボックスで指定した文字列に変更します。その時点で検索結果文字列が選択されていない場合は、検索文字列の次の文字列を検索して置換します。


すべての検索結果文字列を置換文字列に置換します（カーソル位置から検索可能な領域の最後まで）。


「PL/SQLブレークポイント」ダイアログ・ボックス

「PL/SQLブレークポイント」ダイアログ・ボックスは、BREAKコマンドに対するグラフィカル・ユーザー・インタフェースを提供します。これによって、ブレーク・ポイントの作成または変更や、トリガーのブレークができます。

ブレークポイント	ブレーク・ポイントを識別します。 フォームは、「ブレーク・ポイント: 新規作成」または 「ブレーク・ポイント: 番号」です。ラベルの値は、新規のブレーク・ポイントを指定する場合は「新規作成」、既存のブレーク・ポイントを変更する場合は番号です。
使用可能	ブレーク・ポイントが使用可能か使用不可かを示します。
プログラム単位	ブレーク・ポイントが作成されるプログラム単位、既存のブレーク・ポイントの位置または新規ブレーク・ポイントの作成場所を識別します。
行	プログラム単位内のブレーク・ポイントのソース位置を識別します。
トリガー	必要に応じて、ブレーク・ポイントがヒットされたときに起動するPL/SQL文を入力します。BEGINおよびENDの各キーワードはトリガーでは必要ありません。 たとえば、DEBUG.INTERPRETを使用してインタプリタ・コマンドを実行できます。 DEBUG.INTERPRET('.SHOW LOCALS');


ブレーク・ポイントを識別します。フォームは、「ブレーク・ポイント: 新規作成」または 「ブレーク・ポイント: 番号」です。ラベルの値は、新規のブレーク・ポイントを指定する場合は「新規作成」、既存のブレーク・ポイントを変更する場合は番号です。


ブレーク・ポイントが使用可能か使用不可かを示します。


既存のブレーク・ポイントがあるプログラム単位または新規のブレーク・ポイントが作成されるプログラム単位を識別します。


プログラム単位内のブレーク・ポイントのソース位置を識別します。


ブレーク・ポイントがヒットされたときに起動するPL/SQL文を入力します。BEGINおよびENDの各キーワードは必要ありません。


「PL/SQLトリガー」ダイアログ・ボックス

「PL/SQLトリガー」ダイアログ・ボックスは、デバッグ・トリガーを作成し、TRIGGERコマンドに対するグラフィカル・ユーザー・インタフェースを提供します。

トリガー	デバッグ・トリガーを識別します。 フォームは、「トリガー: 新規作成」または ｢トリガー: 番号」です。新しいデバッグ・トリガーを指定するときのラベル値は「新規作成」であり、既存のデバッグ・トリガーを変更するときは番号です。
使用可能	デバッグ・トリガーが使用可能か使用不可かを示します。
場所	デバッグ・トリガーのソース位置を指定します。
	「プログラム単位」オプション（デフォルト）は、デバッグ・トリガーがプログラム単位内の特定のソース位置に置かれていることを示します。
	「デバッグ・エントリ」オプションは、トリガーがプログラム単位の実行停止と同時に起動することを示します。
	「ステートメント毎」オプションは、デバッグ・トリガーがプログラム単位内のすべての実行可能文の直前で起動することを示します。
プログラム単位	目的のプログラム単位を識別します。
行	プログラム単位内のデバッグ・トリガーのソース位置を識別します。
トリガー本体	デバッグ・トリガー本体に使用されるPL/SQL文を入力します。BEGINおよびENDの各キーワードは必要ありません。 デバッグ・トリガーは条件付きのブレーク・トリガーのように動作します。デバッグ・アクションが必要な場合について条件を指定する場合、その条件が真のときのみトリガーが起動します。   たとえば、変数が特定の値（100など）に等しい場合、DEBUG.BREAKをコールすることができます。 IF DEBUG.GETC('vnumber') = 100 THEN   RAISE DEBUG.BREAK; END IF;


デバッグ・トリガーを識別します。 フォームは、「トリガー: 新規作成」または｢トリガー: 番号」です。新しいデバッグ・トリガーを指定するときのラベル値は「新規作成」であり、既存のデバッグ・トリガーを変更するときは番号です。


デバッグ・トリガーが使用可能か使用不可かを示します。


デバッグ・トリガーのソース位置を指定します。


目的のプログラム単位を識別します。


プログラム単位内のデバッグ・トリガーのソース位置を識別します。


デバッグ・トリガー本体に使用されるPL/SQL文を入力します。


「PL/SQLステップ」ダイアログ・ボックス

「PL/SQLステップ」ダイアログ・ボックスではインタプリタのSTEPコマンドに対するグラフィカル・ユーザー・インタフェースが提供されており、デバッグ中に一時停止されたプログラム単位のコードを1行ずつ実行するオプションを設定できます。

モード	使用するステップ・オプションを指定します。
	「ステップ・イン（INTO）」は、実行を再開して、次の実行可能文まで続けます。
	「ステップ・オーバー（OVER）」は、実行を再開して、サブプログラムのコールをすべてスキップして、現行のプログラム単位内の次の実行可能文まで続けます。
	「ステップ・アウト（OUT）」は、ネストされたサブプログラムの実行を再開し、コール中のプログラム単位内の次の実行可能文の前で処理を停止します。
	「指定先へ（STEP TO）」は、実行を再開して、指定した位置に到達するまで続けます。
プログラム単位	「指定先へ（STEP TO）」コマンド・オプションのターゲット・プログラム単位本体を識別します。
行	「指定先へ（STEP TO）」コマンド・オプションのターゲット・プログラム単位本体内の位置を識別します。
カウント	STEPコマンドを繰り返す回数を指定します。カウントのデフォルト値は、1です。
適用	指定したオプションを受け入れ、それに従ってプログラム単位の実行を再開します。ステップ操作は通常1つずつ繰り返されるため、「ステップ」ダイアログ・ボックスは、ユーザーが明示的にクローズするまで、またはアクティブなデバッグ・レベルがあるかぎり、表示されたままです。


使用するステップ・オプションを指定します。


「指定先へ」コマンド・オプションのターゲット・プログラム単位本体を識別します。


｢指定先へ｣コマンド・オプションのターゲット・プログラム単位本体内の位置を識別します。


STEPコマンドを繰り返す回数を指定します。カウントのデフォルト値は、1です。


指定したオプションを受け入れ、それに従ってプログラム単位の実行を再開します。ステップ操作は通常1つずつ繰り返されるため、「ステップ」ダイアログ・ボックスは、ユーザーが明示的にクローズするまで、またはアクティブなデバッグ・レベルがあるかぎり、表示されたままです。


「プログラム単位のロード」ダイアログ・ボックス

「プログラム単位のロード」ダイアログ・ボックスは、ファイル・システム上に格納されたプログラム単位のインポートとコンパイルが可能であり、インタプリタのLOADコマンドに対するグラフィカル・ユーザー・インタフェースを提供します。

ファイル	プログラム単位ソース・テキストを含むファイルの名前（および位置）を入力します。
参照	オペレーティング・システム・ファイルのダイアログ・ボックスを表示します。
確認の抑止	既存のプログラム単位を上書きする際などに、ロードおよびコンパイル時のすべての確認メッセージを抑止します。デフォルトは使用不可であり、確認メッセージは抑止されません。
ロード	選択を確認してプログラム単位をロードし、ダイアログ・ボックスをクローズします。


プログラム単位ソース・テキストを含むファイルの名前（および位置）を入力します。


オペレーティング・システム・ファイルのダイアログ・ボックスを表示します。


既存のプログラム単位を上書きする際などに、ロードおよびコンパイル時のすべての確認メッセージを抑止します。デフォルトは使用不可であり、確認メッセージは抑止されません。


選択を確認してプログラム単位をロードし、ダイアログ・ボックスをクローズします。


「インタプリタ・デバッグ・スクリプト」ダイアログ・ボックス

「インタプリタ・デバッグ・スクリプト」ダイアログ・ボックスは、インタプリタ・コマンド、PL/SQLソースまたはSQL文の組合せが入ったスクリプトのインポートと実行が可能であり、INTERPRETコマンドに対するグラフィカル・ユーザー・インタフェースを提供します。

ファイル	解釈されるデバッグ・スクリプトを含むファイルの名前（および位置）を入力します。
参照	オペレーティング・システム・ファイルのダイアログ・ボックスを表示します。
エコー	エコー・モードを使用可能または使用不可にします。デフォルトは使用不可です。 したがって、スクリプトがロードされたとき、スクリプトの各行はインタプリタ・コマンド・ラインにエコー表示されません。
サイレント	サイレント・モードを使用可能または使用不可にします。デフォルトは使用不可です。 したがって、スクリプトのロード中、状態メッセージは表示されます。
確認の抑止	既存のプログラム単位を上書きする際などに、操作時のすべての確認メッセージを抑止します。デフォルトは使用不可であり、確認メッセージは抑止されません。
インタプリタ	選択を確認してスクリプトを実行し、ダイアログ・ボックスをクローズします。


解釈されるデバッグ・スクリプトを含むファイルの名前（および位置）を入力します。


オペレーティング・システム・ファイルのダイアログ・ボックスを表示します。


エコー・モードを使用可能または使用不可にします。デフォルトは使用不可です。 したがって、スクリプトがロードされたとき、スクリプトの各行はインタプリタ・コマンド・ラインにエコー表示されません。


サイレント・モードを使用可能または使用不可にします。デフォルトは使用不可です。 したがって、スクリプトのロード中、状態メッセージは表示されます。


既存のプログラム単位を上書きする際などに、操作時のすべての確認を抑止します。デフォルトは使用不可であり、確認メッセージは抑止されません。


選択を確認してスクリプトを実行し、ダイアログ・ボックスをクローズします。


「コンパイル」ダイアログ・ボックス

「コンパイル」ダイアログ・ボックスは、バッチ・コンパイル中にコンパイル・エラー・メッセージを表示します。 このダイアログ・ボックスで、コンパイルの中断と再開、およびエラー・ソースへのナビゲートが行えます。

ステータス行	プログラム単位のコンパイルの際、コンパイル中のプログラム単位の名前とタイプおよびコンパイルの終了したプログラム単位の割合などの情報を表示します。
	現在コンパイルされているプログラム単位の名前とタイプ。
	「割込み」をクリックした場合、[INTERRUPTED]を表示。
	コンパイルされたプログラム単位の割合。
コンパイル・エラー・リスト・ボックス	選択されたプログラム単位のコンパイル時のエラーを表示する、スクロール可能でマウス操作可能な領域。 コンパイル・エラー・リスト・ボックス内のエラーをクリックすると、プログラム単位エディタおよびエラーが特定されたプログラム単位が表示されます。 コンパイルの割込み状態のときに（「割込み」をクリックした結果）、コンパイル・エラー・リスト・ボックス内のエラーをクリックした場合、「今エラー処理に移ると、残りのコンパイル操作が停止します」という警告のメッセージが表示されます。
割込み	エラーが生成されすぎる場合などに、コンパイルを一時的に中止します。
再開	割込み後、コンパイルを再開します。
エラーへジャンプ	最初のエラーが位置しているプログラム単位ソースが含まれたプログラム単位エディタを表示します。 コンパイルの割込み状態のときに（「割込み」をクリックした結果）、コンパイル・エラー・リスト・ボックス内のエラーをクリックした場合、エラーのソースに移動するとバッチ・コンパイルが終了するという警告のメッセージが表示されます。 また、「PL/SQLコンパイル・メッセージ」ダイアログ・ボックスも表示されます。これは、選択されたプログラム単位のコンパイル時のエラーをすべて参照できる、スクロール可能でマウス操作可能なリスト・ボックスです。リスト・ボックス内でエラーをクリックすると、プログラム単位エディタおよびエラーが特定されたプログラム単位が表示されます。

エラーが検出されずにコンパイルが終了した場合、ステータス行に「コンパイルは正常終了しました」というメッセージが表示されます。コンパイル時にエラーが検出されて終了した場合は、「コンパイルは終了しましたが、エラーがあります」というメッセージが表示されます。

「PL/SQLコンパイル・メッセージ」ダイアログ・ボックスは、選択されたプログラム単位のコンパイル時のエラーをすべて参照できる、スクロール可能でマウス操作可能なリスト・ボックスです。リスト・ボックス内でエラーをクリックすると、プログラム単位エディタおよびエラーが特定されたプログラム単位が表示されます。


プログラム単位のコンパイルの際、コンパイル中のプログラム単位の名前とタイプおよびコンパイルの終了したプログラム単位の割合などの情報を表示します。


エラーが生成されすぎる場合などに、コンパイルを一時的に中止します。「割込み」をクリックすると、ステータス行に[INTERRUPTED]が表示されます。


割込み後、コンパイルを再開します。


「PL/SQLコンパイル・メッセージ」ブラウザを提示し、最初のエラーの位置でプログラム単位ソースが含まれたプログラム単位エディタを表示します。


正規表現

正規表現は、次の特殊なワイルドカード文字のいずれかを含むことができる文字列です。

.	任意の1文字を検索します。たとえば、.heでは、theとsheの両方が検索されます。
( )	デフォルトの優先順位が望ましくない場合、演算子（たとえば、+）の優先順位を強制するために使用します。たとえば、連結文字（theなど）は、他の+などの演算子より優先されます。したがって、the+Aは(the)+Aと等価です。また、theeeeeeAを検索する際、カッコを使ってth(e+)Aのようにすると、+が連結文字より優先されます。
[ ]	大カッコ内の任意の1文字を検索します。大カッコは論理OR演算子です。たとえば、t[hr]eでは、otherのtheおよびtrendのtreが検索されます。
|	2つの正規表現の間に使用します。どちらかの正規表現に一致するものが検索されます。
\	円マークの後の特殊文字を検索します。たとえば、\*は*が検索されます。円マークは、エスケープ文字です。円マークの次の特殊文字は、特殊文字として扱われません。 次に、エスケープ文字の特殊な使用方法を示します。
	\nは、改行文字を検索します。
	\tは、タブ文字を検索します。
	\bは、ブランク文字を検索します。
	\wは、\n、\t、\bまたは\0を検索します。
*	正規表現の0個以上のインスタンスを検索します。たとえば、(the)*Aでは、 AおよびtheA、thetheAが検索されます。
+	正規表現の1つ以上のインスタンスを検索します。たとえば、(the)+Aでは、theAおよびthetheAの両方が検索されますが、(the)*Aの場合とは異なりAは検索されません。
これらの文字が大カッコに囲まれている場合、特殊な意味を持ちます。

~	最初の文字に使用すると、大カッコ内の文字または範囲にない文字を検索します。たとえば、t[~hr]eでは、toeは検索されますがtheは検索されません。
-	文字の組の間にある場合、その範囲のすべての文字を検索します。たとえば、[A-E]では、文字AおよびB、C、D、Eが検索されます。文字範囲の組は、次のどちらでもかまいません。
	• アルファベット順にみて、最初の文字が2番目の文字より前にある（または同一の文字である）、同じケースのアルファベット。
	• 最初の数字が2番目の数字以下（たとえば、[4-9]または[0-3]）である数字。
	大カッコ内でエスケープ文字を使用することもできます。
ルール: 正規表現の特殊文字の優先順序は、( )、[ ]、連結文字（たとえば、abc）、*、+、~、 、|、.です。

次に、優先順位がわかるようにいくつかの例を示します。

•	Start|Finishは、(Start)|(Finish)と等価です。

•	Start*は、(Start)*と等価です。

•	Start|Finish*は、(Start)|((Finish)*)と等価です。


「PL/SQL表要素選択」ダイアログ・ボックス

「PL/SQL表要素選択」ダイアログ・ボックスには選択された表内の行に対する索引が入っています。 このダイアログ・ボックスを使用し、オブジェクト・ナビゲータで確認したい行を最大に拡大して選択できます。

レコード索引リストボックス	表内のすべての行の索引のリストが入った、スクロール可能なマウス専用の領域。
すべて選択	表内の要素をすべて選択します。
すべて選択解除	表内の要素をすべて選択解除します。
デフォルトでは、すべての索引が選択されます。[Ctrl]キーを押しながらリスト内の選択した項目をクリックして個々の選択を解除します。


「プログラム単位内の検索と置換」ダイアログ・ボックス

「プログラム単位内の検索と置換」ダイアログ・ボックスでは、複数のプログラム単位に渡って、検索と置換を実行できます。

検索文字列	検索文字列を入力します。   文字列を正規表現として扱う場合は、「正規表現を使う」チェックボックスをチェックします。
正規表現	検索条件に使用できる正規表現のリストを表示します。表現をクリックすると、「検索文字列」ボックスに挿入されます。
置換文字列	検索文字列を置換するための文字列を入力します。
正規表現を使う	検索条件に正規表現を使用する場合は、このボックスをチェックします。 検索条件に正規表現を使用しない場合は、このボックスのチェックを外します。
大/小文字を区別	検索文字列の英文字の大文字と小文字を区別して検索する場合は、このボックスをチェックします。 英文字の大小の区別なく、検索文字列に一致するすべての文字列を検索する場合は、このボックスのチェックを外します。
検索する場所	検索または検索/置換を実行する場所を指定します。 スタンドアロンのProcedure Builderでは、「/」はオブジェクト・ナビゲータの1番上のプログラム単位ノードを表します。現行のセッションでオープンしているすべてのPL/SQLライブラリが、「/」の下にリストされます。   すべてのノードがデフォルトで選択されます。特定のノードのみを検索したい場合は、そのノードをクリックします。
すべて検索	指定した検索文字列に一致するすべての文字列を検索します。置換は行われません。
すべて置換	検索文字列に一致するすべての文字列を、指定の置換文字列に置換します。一括置換を行う場合は、操作の確認を求めるメッセージ・ボックスが表示されます。
クローズ	ダイアログ・ボックスをクローズします。
ヘルプ	ヘルプ・トピックを表示します。
「結果」リスト・ボックス	検索結果文字列が表示されます。検索結果文字列の場所は、ノード、プログラム単位の名前、ソースの行数と列数で示されます。 リスト・ボックスの上にあるステータス・バーには、検索または置換された文字列の数が表示されます。 検索結果文字列を編集または置換するために選択するには、その文字列をクリックします。複数の検索結果文字列を選択できます。
置換	「結果」リスト・ボックスで選択した検索結果文字列のみを対象に、検索文字列を置換文字列に置換します。
編集	選択した検索結果文字列のソースをプログラム単位エディタでオープンします。


「PL/SQL V1の変換オプション」ダイアログ・ボックス

サポートされているPL/SQL V1またはV2構文の各タイプのエラーが発生した場合、「PL/SQL V1の変換オプション」ダイアログ・ボックスを使用して、ユーティリティが取るべき処置をコントロールします。作業環境は変換ユーティリティの複数回の起動に渡って、Windows95/NTレジストリまたはUNIXプロファイルのどちらにも保存されます。

問題のタイプ	変換ユーティリティでサポートされるPL/SQL V1またはV2構文タイプの状態リスト。 CHARをVARCHAR2に置換 VARCHAR2に必要な文字列の長さを設定 OUTおよびIN OUTのデフォルト式を削除 式に必須なRETURN文 廃止されたビルトインの置換 ファンクションlengthはゼロ長の文字列に対しNULLを返す NULLを渡すオーバーロードしたサブプログラムへの対処 ファンクションにRETURN文を指定しないとランタイム・エラーが発生する
変換	選択された問題のすべてのインスタンスが、確認の指示なしに自動的に変換されます。
すべて変換	変換するすべての問題のタイプを設定するための迅速なパス。ユーティリティは、確認の指示なしにすべてのPL/SQL V1またはV2を自動的に変換します。
スキップ	問題のタイプが選択されると、問題のすべてのインスタンスが無視されます。コンパイラ・エラーを避けるには、手動でV1またはV2コードを修正する必要があります。
すべて無視	無視するすべての問題のタイプを設定するための迅速なパス。ユーティリティは、すべての問題のタイプを無視し、どんな変換も実行しません。コンパイラ・エラーを避けるには、手動でV1またはV2コードを修正する必要があります。
確認	選択された問題のタイプについて、各インスタンスを別々に「変換」ダイアログ・ボックスに表示します。ダイアログ・ボックスから、「変換」または「無視」のどちらでも選択できます。
すべて確認	すべての問題タイプを「確認」に設定するための迅速なパス。ユーティリティは、PL/SQL V1またはV2文字列を変換する前に、（「変換」ダイアログ･ボックスで）確認を行うように指示します。
OK	選択したものを確認し、ダイアログ・ボックスをクローズします。
取消し	モジュールへのすべての変更を取り消し、ダイアログ・ボックスをクローズします。


「変換」ダイアログ・ボックス

「変換」ダイアログ・ボックスで、PL/SQL V1またはV2の変換プロセスを対話式にコントロールできます。以下に示した変換のためのオプションを設定するには、「オプション」をクリックしてください。

ソース・ペイン	変換条件が検出されるプログラム単位ソースを表示します。変換される構文は強調表示されます。このペイン内でスクロール・アップまたはダウンを行い、それまでに完成された変換をレビューできます。
条件:	変換を必要とするPL/SQL V1またはV2文。
処置:	「変換」をクリックしたときに、変換ユーティリティが行うこと。
説明. . .	問題の詳細と、変換を無視した場合に起こることについて表示します。
変換	推奨されるデフォルト動作を受け入れ、次の文に移動します。
すべて変換	モジュール全体にわたり、すべてのPL/SQL V1またはV2構文の問題を変換します。このモジュールは、複数のユニットを持つ場合があります。すべてのデフォルト動作が受け入れられます。
スキップ	「問題」フィールドに記述されるPL/SQL V1またはV2文を変換せずに、次の文へ移動します。
すべて無視	モジュール全体についての変換を回避します。このモジュールは、複数のプログラム単位を持つ場合があります。
オプション. . .	変換プロセスを制御するオプションを指定できる「PL/SQL V1の変換オプション」ダイアログ・ボックスを表示します。


「PL/SQL V1の変換サマリー」ダイアログ・ボックス

「PL/SQL V1の変換サマリー」ダイアログ・ボックスによって、次の情報を入手できます。

•	正常に変換されたソース行

•	無視されたソース行

•	PL/SQLコンパイラ・エラーを生成したソース行

ツールバー・ボタン:

Xアイコン	ダイアログ・ボックスをクローズします。
?アイコン	ダイアログ・ボックスのヘルプを表示します。
サマリー・ペイン:

検索	拡張および縮小ノードのどちらにも標準検索機能を提供します。
ノード	モジュールの各プログラム単位のためのもの。ノードがプラス記号を含む場合は、それをクリックすると、変換または無視されたもの（およびその方法）についてのサマリーを表示します。ノードが空（プラス記号もマイナス記号もない）の場合は、プログラム単位は変換を必要としません。 コンパイラ・エラーをアドレスする、または変換されたソースや無視したアイテムをレビューするには、拡張されたノードにある行をダブル・クリックします。（または行を選択し、「プログラム」 [image] 「プログラム単位エディタ」を選択します。）エディタは、選択された行のカーソル位置でオープンします。 注意: プログラム単位エディタを使用してソースを変更した後では、次回に行をダブル・クリックするか、または「編集」ボタンを使用すると、カーソルがあるべき位置にないことがあります。
メニュー・アイテム:

プログラム・メニューには次の2つのオプションがあります。

プログラム単位エディタ	プログラム単位エディタでソースをオープンします。カーソルは選択した行に置かれます。
変換オプション	「PL/SQL V1の変換オプション」ダイアログ・ボックスを表示するので、指定したオプションをビューまたは修正できます。
ポップアップ・メニュー:

マウス右ボタンをクリックして、ポップアップ・メニューを表示します。

編集	プログラム単位エディタでソースをオープンします。カーソルは選択した行に置かれます。
説明	選択された行に要求される変換のタイプについてのオンライン・ヘルプを表示します。


編集機能

関連項目

次の編集機能は、プログラム単位エディタおよびストアド・プログラム単位エディタでのみサポートされます。

自動インデントおよびインデント解除	エディタでコードを入力すると、PL/SQL構文の規則に従って行が自動的にインデントまたはインデント解除されます。
カラーによる構文のハイライト	キーワード、コメント、文字列および:=や||などの記号は、別のカラーで表示されます。
列と行の選択	テキスト列やソース・コードの行を選択できます。 列を選択するには、[ALT]キーを押してから列ををクリックし、水平にドラッグします。 行を選択するには、ソース・ペインで行の左端マージンをクリックします。
ドラッグ・アンド・ドロップによるテキストの操作	選択されたテキストは、ドラッグ・アンド・ドロップによってコピーまたは移動できます。 テキストをコピーするには、[Ctrl]キーを押しながら、選択したテキストをドラッグします。 テキストを移動するには、選択したテキストをドラッグします。
行のインデントおよびインデント解除	「編集」メニューの「インデント」コマンドおよび「インデント解除」コマンドを使用すると、選択したソース行をインデントまたはインデント解除できます。 [Tab]および[Shift]+[Tab]キーを押しても、選択した行をインデントまたはインデント解除できます。
複数の分割ビュー	現行のプログラム単位の別個のビューを最大4つ作成できます。 水平ビューを作成するには、垂直スクロール・バーの一番上にある分割バーにカーソルを置きます。次に、分割バーをクリックし、下にドラッグします。 垂直ビューを作成するには、水平スクロール・バーの左端にある分割バーにカーソルを置きます。次に、分割バーをクリックし、右方向にドラッグします。 水平ビューまたは垂直ビューを削除するには、ビューを分割する分割バーをダブルクリックします。
印刷	現行のプログラム単位を印刷するには、「ファイル」 [image] 「印刷」を選択します。
無制限の元に戻す/再実行	「編集」メニューの「元に戻す」コマンドおよび「再実行」コマンドを使用すると、最後に保存したときの状態まで、変更を元に戻したり、再実行できます。

注意: これらの機能は、Microsoft Windowsのみで使用できます。UNIXでは、次の操作のみを実行できます。

•	現行のプログラム単位の印刷

•	[TAB]および[Shift]+[TAB]キーを使用した、選択行のインデントとインデント解除

•	ドラッグ・アンド・ドロップによる選択テキストの移動


エディタでのマウスの使用

関連項目

Microsoft Windowsでプログラム単位エディタ（およびストアド・プログラム単位エディタ）を使用するときは、次のマウス操作がサポートされています。

操作	マウス操作
文字の範囲を選択する	選択する範囲内の最初の文字をクリックし、最後の文字までカーソルをドラッグします。(UNIXでもサポートされています) または 選択する範囲内の最初の文字をクリックし、[Shift]キーを押しながら最後の文字をクリックします。
カーソルの下の単語を選択する	単語をダブルクリックします。(UNIXでもサポートされています) または [Ctrl]キーを押しながら、選択する単語をクリックします。
単語の範囲を選択する	[Ctrl]キーを押しながら、選択する範囲の最初の単語をクリックし、最後の単語までカーソルをドラッグします。
行を選択する	選択する行の左マージンにカーソルを置きます。カーソルが矢印に変わったときにクリックします。
複数の行を選択する	選択する最初の行の左マージンにカーソルを置きます。カーソルが矢印に変わったときにクリックし、選択する最後の行までカーソルをドラッグします。
テキスト列を選択する	[Alt]キーを押し、選択する範囲の最初の列をクリックし、最後の列までカーソルをドラッグします。
選択されたテキストを移動する	まずテキストを選択します。次に、選択したテキストをクリックし、新しい位置にドラッグします。(UNIXでもサポートされています)
選択されたテキストをコピーする	まずテキストを選択します。次に、[Ctrl]キーを押しながら、コピーを配置する位置まで、選択したテキストをドラッグし、マウスを離します。
ウィンドウを2つの水平ビューに分割する	垂直スクロール・バーの一番上にある分割バーをダブルクリックします。 または 垂直スクロール・バーの一番上にある分割バーをクリックし、ドラッグします。
ウィンドウを2つの垂直ビューに分割する	水平スクロール・バーの左端にある分割バーをダブルクリックします。 または 水平スクロール・バーの左端にある分割バーをクリックし、ドラッグします。
分割ビューの相対サイズを調整する	ビューを分割している分割バーをクリックし、ドラッグします。
分割ビューを削除する	ビューを分割している分割バーをダブルクリックします。 または 分割バーをクリックし、ウィンドウの端までドラッグします。 4つのビューを一度に削除するには、分割バーが交わる点をダブルクリックするか、またはその点をウィンドウの任意の角までドラッグします。


エディタでのキーボードの使用

関連項目

Microsoft WindowsまたはUNIXでプログラム単位エディタ（およびストアド・プログラム単位エディタ）を使用するときは、次のキーボード操作がサポートされています。

操作	キー入力
カーソルを左に1文字移動する	[←]
カーソルを左に移動しながら文字を選択する	[Shift]+[←]
カーソルを右に1文字移動する	[→]
カーソルを右に移動しながら文字を選択する	[Shift]+[→]
選択された文字または単語をコピーする	[Ctrl]+[C]
選択された文字または単語をカットする	[Ctrl]+[X]
クリップボードからペーストする	[Ctrl]+[V]
現行のカーソル位置の右側にある文字を削除する、または選択された文字または単語を削除する	[Del]
現行のカーソル位置の左側にある文字を削除する	[Back Space]
カーソルをプログラム単位の末尾に移動する	[Ctrl]+[End]	(Windowsのみ)
カーソルをプログラム単位の先頭に移動する	[Ctrl]+[Home]	(Windowsのみ)
現行のカーソル位置から、プログラム単位の末尾までのソース行を選択する	[Ctrl]+[Shift]+[End]	(Windowsのみ)
現行のカーソル位置から、プログラム単位の先頭までのソース行を選択する	[Ctrl]+[Shift]+[Home]	(Windowsのみ)
カーソルを現行の行の末尾に移動する	[End]	(Windowsのみ)
カーソルを現行の行の先頭に移動する	[Home]	(Windowsのみ)
現行のカーソル位置から、現行の行の末尾までの文字を選択する	[Shift]+[End]	(Windowsのみ)
現行のカーソル位置から、現行の行の先頭までの文字を選択する	[Shift]+[Home]	(Windowsのみ)
選択された行をインデントするか、または現行のカーソル位置の右側にある文字をインデントする	[Tab]
選択された行をインデント解除する	[Shift]+[Tab]
カーソルを下に1行移動する	[↓]
カーソルを下に移動しながら行を選択する	[Shift]+[↓]
カーソルを上に1行移動する	[↑]
カーソルを上に移動しながら行を選択する	[Shift]+[↑]
ソース・ペインに表示されている行数単位でプログラム単位を下にスクロールする	[Page Down]
ソース・ペインに表示されている行数単位でプログラム単位を下にスクロールしながら行を選択する	[Shift]+[Page Down]
ソース・ペインに表示されている行数単位でプログラム単位を上にスクロールする	[Page Up]
ソース・ペインに表示されている行数単位でプログラム単位を上にスクロールしながら行を選択する	[Shift]+[Page Up]
最後の操作を元に戻す	[Ctrl]+[Z]	(Windowsのみ)
最後に元に戻した操作を再実行する	[Ctrl]+[Y]	(Windowsのみ)


DET60およびDEBLD60実行プログラム

説明  バッチ・モードでインタプリタ・スクリプトを実行できます。

構文

Microsoft Windowsの場合:

det60 [FILE=scriptname.pld]

UNIXの場合:

debld60 [MODE = {batch | line} FILE=scriptname.pld]

使用上の注意:

•	Microsoft Windowsでは、DOSプロンプトからのバッチ・モードでのスクリプトの実行はサポートされていません。また、ファイル・オプションを指定しないと、Procedure Builderは32ビット環境で起動します。

•	Windows上で、Procedure Builderをライン・モードで実行するには、Windowsのタスクバーから「スタート」 [image] 「プログラム」 [image] 「Forms Developer6i」 [image] 「Procedure Builder - ライン・モード」を選択します。


MODE

インタプリタ・スクリプトの実行方法を決めます。FILEキーワードとともに使用する必要があります。

オプション

•	バックグラウンドでインタプリタ・スクリプトを実行するには、バッチを使用します。

•	標準出力を使用して1行ずつ表示しながら、インタプリタ・スクリプトを実行するには、ラインを使用します。

使用上の注意  MODEオプションは、Microsoft Windowsでは無効です。


FILE

実行するインタプリタ・スクリプトの名前です。

スクリプト・ファイルの絶対パス名または相対パス名を指定する必要があります。インタプリタ・スクリプトでは、デフォルトで.pldファイル拡張子を使用します。


ファイル命名規則

外部文書には、その内容を示すために文書タイプのタグが付けられます。ファイル・システムに常駐する文書の場合は、次のデフォルトの拡張子が使用されます。

拡張子	内容のタイプ
log	Procedure Builderのインタプリタ・ログ・ファイル。
pld	PL/SQLソース、インタプリタ・コマンドおよびSQL文の組合せを含む、Procedure Builderのインタプリタ・スクリプト。
pll	連結または編集に適した、コンパイル済みのPL/SQLライブラリ。
pls	1つのプログラム単位のPL/SQLソース・テキスト。
plx	コンパイル済みのPL/SQL実行時専用ライブラリ。実行コードのみを含む。


エディタのレジストリ・エントリ（Windows 95のみ）

デフォルトでは、PL/SQLコードのブロックの編集可能なサイズに制限はありません。エディタで50Kの制限に戻す場合は、Windows 95レジストリのORACLEセクションで、エントリDE60_PLAIN_EDITを"1"に変更します。


コンパイル時の構文エラーの場所

プログラム単位エディタでは、コンパイル時に対話形式のエラー・メッセージ・ペインが表示されます。コンパイル時にPL/SQL構文エラーが発生すると、エラー・メッセージ・ペインが現れ、エラーの原因が表示されます。

プログラム単位ソース内のエラーの場所へ移動するには、メッセージ・ペイン内のエラーをダブルクリックします。ここが、PL/SQLコンパイラによって構文エラーが検出された場所です。実際のエラーの原因は異なっている場合があります。

たとえば、実行可能文の末尾にセミコロンを付けるのを忘れると、コンパイラでは構文エラーの場所を、エラーのある文の最後ではなく、その次の文の最初と見なします。


「ロード」と「インタプリタ」の違い

  関連項目

プログラム単位定義を含むファイルをインポートし、コンパイルするには、「ロード」を使用します。このファイルには、PL/SQL文しか入りません。

PL/SQL文、インタプリタ・コマンドおよびSQL文の任意の組合せを含むファイルをインポートし、実行するには、「インタプリタ」を使用します。


ライブラリをオープンではなく連結する必要がある場合

  関連項目

ライブラリ・プログラム単位を実行する場合は、そのライブラリを連結する必要があります。連結ライブラリは、オブジェクト・ナビゲータの「連結ライブラリ」ノードの下に表示されます。

連結ライブラリは編集できません。ライブラリ・プログラム単位を編集する場合または連結ライブラリの内容を変更する場合、まず連結解除してから連結ライブラリをオープンします。オープン・ライブラリは、オブジェクト・ナビゲータの「PL/SQLライブラリ」ノードの下に表示されます。

連結ライブラリを持っているライブラリをオープンすると、Procedure Builderによって、連結ライブラリのタイムスタンプがチェックされます。1つ以上の連結ライブラリがオープン・ライブラリより新しい場合、オープン・ライブラリ内のすべてのプログラム単位は、コンパイル状態ではなくなります。


ビルトイン・サブプログラムのペースト

  関連項目

ビルトイン・サブプログラム名を参照する際に入力ミスを防ぐには、ナビゲータのポップアップ・メニューの「名前ペースト」または「引数ペースト」を使用します。

「引数ペースト」を使用すると、サブプログラム名および必要なパラメータがペーストされます。テンプレート・パラメータを適切な値に置き換えます。


ビルトイン・サブプログラムの迅速な検索

ビルトイン・サブプログラムを迅速に見つけるには、オブジェクト・ナビゲータの右上にある「検索」フィールドを使用します。「検索」フィールドにサブプログラム名を入力すると、ナビゲータのノードが拡張され、変更分と一致するものが検索されます。

これにより、プログラム単位の作成にかかる時間を短縮できます。


Microsoft Windows 3.1でのORA_FFIを使用した浮動小数点数の引渡し

ORA_FFIを使用してコールするC関数が、ANSI準拠のCコンパイラでコンパイルされている場合は、すべての浮動小数点数型を倍精度で宣言する必要があります。K&R準拠のCコンパイラでは、通常、浮動小数点数と倍精度浮動小数点数のどちらでも使用することができます。


ORA_FFIを使用したC関数への文字データの引渡し

文字データをC関数に渡す場合、少なくともC関数がデータに書き込むだけの文字数で、データを初期化する必要があります。たとえば、

  my_string VARCHAR2(20);

のかわりに、 次のようになります。

  my_string VARCHAR2(20) := '20 characters here  ';


LOAD_LIBRARYファンクション・コールでのディレクトリ名の終了

ORA_FFI.LOAD_LIBRARYのビルトイン・サブプログラムによってライブラリの場所を指定する場合、Microsoft Windows 95/NTでは、ディレクトリの末尾に必ず円記号を付けます。UNIXプラットフォームでは、ディレクトリ・パスの末尾にスラッシュを付けてください。

たとえば、Windows 95/NT上では次のようになります。

  libhandle := ORA_FFI.LOAD_LIBRARY('c:\libraries\', 'mylib.dll');


デバッグ作業領域の集中化

集中デバッグ作業領域を作成するには、インタプリタにナビゲータ・ペインを挿入します。ナビゲータ・ペインはインタプリタの中央、つまりソース・ペインとインタプリタ・ペインの間に挿入されます。それに従い、ペインのサイズは、分割バーを使用して適宜変更できます。

これにより、デバッグ時にプログラム単位ソース、ローカル変数値およびインタプリタ出力を、1つのウィンドウに表示できます。


他のSTEPオプションの使用

  関連項目

他のプログラム単位をいくつか参照する大きなプログラム単位をデバッグする場合、ネストされたサブプログラムに入らないように、「ステップ・オーバー」コマンドおよび「ステップ・アウト」コマンドを使用します。

プログラム単位の実行を再開して、プログラム単位内の指定箇所に達するまで続ける「指定先へ」コマンドも使用できます。

「ステップ･イン」を使用すると、コードの実行可能行ごとに実行が停止するので、大きくて複雑なプログラム単位のデバッグには非常に時間がかかる可能性があります。


デバッグ・トリガーを使った条件付きブレークポイントのインプリメント

特定の条件を満たす場合にのみ呼び出されるブレークポイントを作成できます。プログラム単位ソースの実行可能行でデバッグ・トリガーを作成し、PL/SQLブロックで、DEBUGパッケージ・サブプログラムを使用して、次のような条件を作成します。

IF Debug.Getn ('my_sal') > 5000 THEN

  RAISE Debug.Break;

END IF;

上の例では、Debug.Getnファンクションを使用して、ローカル変数'my_sal'の値を取り出します。戻された値が5000を超える場合にのみ、例外Debug.Breakが呼び出され、ブレークポイントを作成します。

条件付きブレークポイントを使用すると、プログラム単位の実行は設定した特定の条件を満たす場合にのみ停止するので、デバッグにかかる時間が短縮されます。


ログ・ファイルへのインタプリタ・アクティビティの保存

セッション中のすべてのインタプリタ・アクティビティを記録するには、ログ・ファイルを使用します。アクションを再トレースする必要がある場合には、ログ・ファイルが非常に役立ちます。さらに、インタプリタ・ログ・ファイルの情報をカットして、インタプリタ・エディタまたはプログラム単位エディタに直接ぺーストすることにより、複雑なコマンドや問合せを再入力したり、デバッグ・トリガーやプログラム単位を作成し直す必要がなくなります。


デバッグ・アクションの保存

トリガーなどのデバッグ・アクションは、1つのデバッグ・セッションから次のセッションへは保存されません。複雑なデバッグ・アクションを、1つのセッションから次のセッションに再入力しなくてすむように、インタプリタ・ログ・ファイルに保存できます。

デバッグの前に、ログ・セッションを開始します。デバッグ・アクションを記録するには、インタプリタのPL/SQL>プロンプトで、BREAKコマンドとTRIGGERコマンドを使用してそれらを入力する必要があります。インタプリタ・ログ・ファイルには、インタプリタに直接入力したアクティビティのみが記録されます。


TEXT_IOビルトイン・パッケージの使用方法

デバッグ・トリガーはバックグラウンドでアクティビティを実行できるので、プログラム単位を1ステップずつ実行しなくても、実行時のエラーの原因を正確に特定できます。ファイルに変数値を出力するには、ブレークポイントを設定してオブジェクト・ナビゲータ・コール・スタックの変数値を繰り返し確認するよりも、ビルトイン・パッケージTEXT_IOを使用するほうが便利です。

たとえば、デバッグ・トリガーのPL/SQLブロックでは次のようになります。

print1 := Debug.Getc ('emp_name');

print2 := Debug.Getn ('sal');

Text_IO.Putf ('%s Salary is %d', print1, print2);


起動スクリプトの使用方法

  関連項目

Procedure Builderのセッションを起動する際に、インタプリタ・スクリプトを自動的に実行するには、コマンド・ライン・オプションのFILE=scriptnameを使用します。スクリプトには、インタプリタ・コマンド、SQL文およびPL/SQLソースの任意の組合せを含むことができます。

起動スクリプトにより、データベースへの接続や複数のプログラム単位のロードといった、ルーチン・アクティビティを実行できます。


最適なパフォーマンスを実現するためのプログラム単位の保存場所

  関連項目

アプリケーションに固有の比較的小さいプログラム単位は、そのアプリケーションと同じ場所に保存します。これには、複数のアプリケーションで共有されないプログラム単位が含まれます。これらのプログラム単位は、アプリケーションの起動時にメモリーにロードされます。

比較的大きいプログラム単位、または複数のアプリケーションで共有されるプログラム単位は、ライブラリに保存します。ライブラリは複数のアプリケーションに連結できるので、コードを共有できます。ライブラリに保存されたプログラム単位は、アプリケーションによってコールされるまでメモリーにロードされません。

プログラム単位は、表などのデータベース・オブジェクトを参照する場合、データベースに保存します。これにより、アプリケーションとサーバー間のネットワーク・トラフィックが軽減されます。データベースに保存されたプログラム単位には、Text_IOやOra_FFIなどのクライアント側のビルトイン・サブプログラムへの参照を含むことはできません。


ライブラリの縮小

設計時: スペースが限られている場合は、NODIANAキーワードを指定したSAVEコマンドを使用して、ライブラリのソースとPコードのみを保存します。時間が限られている場合は、キーワードを指定せずにSAVEコマンドを使用して、コンパイル済みのライブラリのすべてのコンポーネントを保存します。

実行時: スペースが限られている場合は、NODIANAキーワードとNOSOURCEキーワードの両方を指定したSAVEコマンドを使用して、実行時専用ライブラリを作成します。このコマンドのかわりに、GENERATEコマンドを使用できます。これらのオプションのいずれも、実行時専用であることを示す拡張子.plxの付いたファイルを作成します。実行時に、システムでは、.plxファイルを検索してから.pllファイルを検索します。


ライブラリへのパッケージの保存

ライブラリに保存されたプログラム単位は、アプリケーションによってコールされると、メモリーにロードされます。パッケージはプログラム単位のタイプであることに留意してください。アプリケーションによって連結ライブラリに保存されているパッケージ・サブプログラムがコールされると、コールされたサブプログラムのみでなく、パッケージ全体がメモリーにロードされます。アプリケーションでは、事実上パッケージをコールしていることになります。


最大プログラム単位サイズを超過するパッケージの回避

Microsoft Windows 95/NTでは、コンパイル済みのプログラム単位（ソース、PコードおよびDIANAを含む）の合計サイズが64Kを超えてはいけません。64Kを超えると、大きなPL/SQLパッケージのインプリメントが妨げられます。この問題を回避するために、大きなパッケージを複数の比較的小さいパッケージに編成し直すことができます。

コールする場所から様々なパッケージ名を扱うのは不便なので、次の例に従って大きなパッケージを分割できます。異なるオペレーティング・システム上で作成され、コンパイルされた"reallybig"というパッケージがあるとします。

/* package specification */
package reallybig is
  procedure bp1;
. . .
  procedure bpN;
end reallybig;

/* package body */
package body reallybig is
  procedure bp1 is
    begin
      /* bp1 stuff */
    end;
...
  procedure bpN is
    begin
      /* bpN stuff */
    end;
end reallybig;

Windows 95/NT上でパッケージ"reallybig"を使用する場合に、最大サイズ制限の64Kを超えているとします。元のパッケージの仕様部に影響を与えずに、パッケージ本体の内容の一部または全部を1つ以上の別々のパッケージに分割できます。仕様部が変わらないので、元のパッケージにあるサブプログラムを呼び出すどのアプリケーションにも影響はありません。二次パッケージは次のようになります。

/* body of secondary package*/
package body helper1 is
  procedure bp1 is
    begin
      /* bp1 stuff */
    end;
. . .
  procedure bp2 is
    begin
      /* bp2 stuff */
    end;
. . .
end helper1;

元の"reallybig"パッケージに加えるのは、二次パッケージに移動したプログラム単位を本体が参照するように変える、次のような変更のみです。

/* package body */
package body reallybig is
  procedure bp1 is
    begin
      helper1.bp1;
    end;
. . .
  procedure bp2 is
    begin
      helper1.bp2;
    end;
. . .
end reallybig;


オープン・ライブラリからのプログラム単位の実行

問題: ライブラリ・プログラム単位を実行しようとすると、「プロシージャが定義されていません」というエラーが返されます。

解決方法: プログラム単位のコール先であるライブラリが、オブジェクト・ナビゲータでオープンされていないことを確認します。ライブラリ・プログラム単位をコールするには、ライブラリを連結してからプログラム単位をコールする必要があります。ライブラリがナビゲータの「PL/SQLライブラリ」ノードの下にある場合、それを保存してクローズし、「ファイル」 [image] 「ライブラリ連結」を使用して連結します。


サーバーでのプログラム単位の再コンパイル

問題: プログラム単位をサーバーへ移動しましたが、コンパイルされません。

解決方法: プログラム単位に、クライアント側のビルトイン・サブプログラムへの参照が含まれていないことを確認します。これらは、オブジェクト・ナビゲータのビルトイン・パッケージのノードの下に表示されるプログラム単位です。これらのサブプログラムはサーバー上で定義されていないため、コンパイラではそれらに対する参照を処理できません。クライアント側のビルトイン・サブプログラムを参照するプログラム単位は、クライアント上に残っている必要があります。


プログラム単位の妥当性の回復

問題: 「プロシージャ本体: <name>が無効です」というエラーが戻されました。

解決方法: データベース上のオブジェクトを参照するプログラム単位がクライアント側にある場合、そのデータベース・インスタンスから切断すると、それらのプログラム単位では、データベース・オブジェクトへの参照を処理できなくなるので、無効となります。参照するオブジェクトがあるデータベースに接続していることを確認します。


「未定義のプロシージャ」を参照するプログラム単位のコンパイル

問題: 「<name> がプロシージャではないか、または定義されていません」というコンパイル・エラーが戻されましたが、このプロシージャは定義済みです。

解決方法: オブジェクト・ナビゲータの「プログラム単位」ノードを確認します。問題のプログラム単位がファンクションの場合は、正しく呼び出されたことを確認します。ファンクションから値が返されると、その値は、ローカル変数に割り当てられるか、引数型がファンクションの戻り型と一致する別のサブプログラムへの引数として使用されます。戻り型を指定しないでファンクションをコールすると、コンパイラではファンクションではなくプロシージャがコールされたと見なされます。コンパイラでその名前のプロシージャが存在しないと判断されると、エラーが返されます。

プログラム単位が、正しく呼び出されたプロシージャまたはファンクションである場合、プログラム単位の仕様部が変更されたかどうかを確認します。たとえば、NUMBER型の引数を必要とした旧仕様部が、その後CHAR型の引数を受け入れるように再定義されている場合、旧仕様部への呼出しは処理されません。


データベース・オブジェクトを参照するプログラム単位のコンパイル

問題: データベース・オブジェクトを参照するプログラム単位をコンパイルしようとすると、何度もコンパイル・エラーが返されます。

解決方法: プログラム単位で参照するオブジェクトを含むデータベースに接続していることを確認します。さらに、参照するオブジェクトに対する適切なデータベースの権限がある必要があります。接続したら、プログラム単位の再コンパイルを試みます。


デバッグ中のローカル変数の変更

問題: ローカル変数の値を変更しましたが、プログラム単位の実行を再開すると、前の値のままです。

解決方法: オブジェクト・ナビゲータのローカル変数の値を編集する場合、ナビゲータのブランクの部分をクリックし、編集モードを終了して新規の値を設定する必要があります。


インタプリタの二次プロンプトの消去

問題: インタプリタ・コマンド・ラインで入力を開始し、[Return]を押しましたが、"+>"符号が戻されました。

解決方法: これはインタプリタの二次プロンプトです。文を終了する前（PL/SQL文を終了するセミコロンを入力する前など）に不用意に[Return]キーを押してしまうと、二次プロンプトが表示されます。インタプリタには二次プロンプトがあり、コマンド、SQL文またはPL/SQL文を実行する前に複数の行を入力できます。

再び入力を続けても（文を実行するために終止符のセミコロンを入力するなど）、インタプリタ・ペインのポップアップ・メニュー・コマンドの「新規プロンプト」を使用して、二次プロンプトを消去してもかまいません。


リモート・パッケージ変数へのアクセス

問題: サーバーにパッケージを作成しました。このパッケージにはパッケージ仕様部で定義された変数が含まれていますが、この変数にアクセスするクライアント側のプログラム単位をコンパイルできません。「Implementation Restriction: '<package_name.variable_name>':  Cannot directly access remote package variable or cursor.」というコンパイル・エラー・メッセージが返されます。

解決方法: 変数の値を返すファンクションを作成してください。


PL/SQL例外の処理

例外は、実行時にPL/SQLサブプログラムでエラーが発生すると呼び出されます。PL/SQLの例外に加え、Oracleには独自の事前定義済み、すなわちビルトインの例外が多数あります。

例外が呼び出された際に捕捉するには、例外ハンドラをPL/SQLサブプログラムに次の書式で書き込む必要があります。

...

EXCEPTION

  WHEN exception_name THEN

    statements

END;

この場合、exception_nameは呼び出される例外の名前、statementsは特定のアクションを実行するよう設計されたPL/SQL文の集まりです。

各特定の例外を名前で処理することも、次の書式を使用してすべての例外を包括的に処理することもできます。

...

EXCEPTION

  WHEN OTHERS THEN

    statements

END;

複数の特定のハンドラと1つの総称ハンドラの組合せも使用できます。この場合、総称ハンドラWHEN OTHERSは、最後に書き込む必要があります。

総称ハンドラWHEN OTHERSを使用すると、必ずすべての例外が実行時に処理されます。

PL/SQL例外の詳細は、『PL/SQLユーザーズ・ガイドおよびリファレンス』を参照してください。


PL/SQL APIでのエラー・ハンドリング

PL/SQLと統合されたシステムを構築するときには、多くの場合、C言語でインプリメントされている機能を実現するために、PL/SQL APIを使用する必要があります。（これらのAPIは、"ICD(Interface C Definitions)"、"PL/SQL Bindings to C"などと呼ばれます。）ICDを使用する際に、しばしば問題となるのが、エラー・ハンドリングの方法です。通常、CとPL/SQLでは、エラー・ハンドリングの方法が全く異なります。Cでは一般的に、エラー・コードを取得してチェックする方法を用います。それに対して、PL/SQLでは、例外を発生させ、その例外を処理するハンドラを実装する方法を使用します。

Cの側のエラー情報は、どのようにしてPL/SQL側に伝えればよいでしょうか。理想的な解決策としては、PL/SQL側で例外を呼び出し、Cのエラー情報を例外のパラメータとして引き渡す方法が考えられます。しかし、PL/SQLはパラメータ付きの例外をサポートしていないので、この方法を使用することはできません。ほかに考えられる方法として、次のようなものがあります。

1.  Cのエラー情報を無視し、問題の発生をPL/SQL側には伝達しない。

2.  Cのエラー情報を無視し、例外を呼び出す。

3.  Cのエラー情報を保ったまま例外を呼び出し、PL/SQL APIを使用してCのエラー情報にアクセスできるようにする≠オて引き渡す方法が考えられます。

1の方法は、多くの情報を失うことになるので、望ましくありません。2の方法は、C側で発生することが考えられるすべてのエラー・コードに対して例外を定義できれば、失われる情報量を少なくすることができますが、現実的には難しく、拡張性も低くなります（エラー・コードを追加するたびに、対応するPL/SQLパッケージの仕様を変更して新しい例外を定義しなくてはならなくなるため、変更されたスペックに依存しているPL/SQLコードが無効になり、全体を再コンパイルすることが必要になります）。このため、3の方法を使用することになります。

TOOL_ERRビルトイン・パッケージは、CでインプリメントされたToolサービスによって保持されているエラー情報を制御するためのPL/SQL APIを定義し、インプリメントしています。このAPIは、"エラー・スタック"モデルを定義しています（このエラー・スタックは、Tools Common Areaで定義されている"システム"エラー・スタックに関連付けられています）。エラー・スタックの各要素は、エラー・コードと、それに対応するエラー・メッセージで構成されています。スタック上のエラーにはインデックスが付けられ、スタックにあるエラーの総数がNである場合、最も古いエラーのインデックスが0、最も新しいエラーのインデックスがN-1になります。デフォルトの設定では、多くのサービスはスタックにプッシュされた最新のエラーを処理します。


NLS_DATE_FORMAT環境変数の設定（Windowsのみ）

日付変数を使用して作業するときにTO_CHARおよびTO_DATEファンクションを使用しないようにするには、次のようにしてNLS_DATE_FORMAT環境変数のデフォルト値を変更します。

•	NLS_DATE_FORMATレジストリ・エントリを作成し、有効な日付書式マスクを割り当てます。たとえば、NLS_DATE_FORMAT = "MM/DD/YYYY"のように設定します。

•	セッション中にALTER SESSION SET NLS_DATE_FORMATコマンドを使用してNLS_DATE_FORMAT値を変更します。


オブジェクトの作成

オブジェクトを作成するには:

1	作成するオブジェクト・タイプ（たとえば、プログラム単位またはライブラリ）のノードをクリックします。

2	ツールバーの [image] ボタンをクリックするか、メイン・メニューから「ナビゲータ」 [image] 「作成」を選択します。

そのノードが空の場合、ノードをダブルクリックすれば、そのタイプの新規のオブジェクトを作成できます。


オブジェクトの選択

オブジェクトを選択するには、

オブジェクト・アイコンまたはオブジェクト名をクリックします。

連続しているオブジェクトを複数選択するには、[Shift]キーを押しながらクリックします。 また、連続していないオブジェクトを複数選択するには、[Ctrl]キーを押しながらクリックします。


オブジェクトの並替え

オブジェクトを並び替えるには:

オブジェクトをクリックして、オブジェクト階層の新しい位置にドラッグします。

すべてのノードでオブジェクトの並替えができるわけではありません。たとえば、「プログラム単位」ノードのオブジェクトは、アルファベット順にリストされます。


オブジェクトの検索

オブジェクトを検索するには:

1	検索するオブジェクト名のすべてまたは一部を、「検索」テキスト・ボックスに入力します。

入力開始と同時に、Procedure Builderではオブジェクト・ナビゲータの1番上から増分順方向検索を始め、現在位置を示すために必要に応じてノードを拡張します。増分検索は、入力をやめるまで続きます。

2	オブジェクト・ナビゲータの検索条件の次の検索対象または前の検索対象を検索するには、 [image] ボタンまたは [image] ボタンをクリックします。

注意: ワイルド・カード文字は現在サポートしていません。


オブジェクトの削除

オブジェクトを削除するには:

1	削除するオブジェクト・ノードを選択します。

2	ツールバーの [image] ボタンをクリックするか、メイン・メニューから「ナビゲータ」 [image] 「削除」を選択します。

削除するオブジェクトの選択によっては、削除の確認を求めるメッセージが返される場合があります。


ノードの拡張

ノードを拡張し、サブノード・ファースト・レイヤーを表示するには:

ノードの横のプラス記号（+）をクリックします。

ノードを拡張し、すべてのサブオブジェクトを表示するには:

1	縮小したノードを選択します。

2	ツールバーの [image] ボタンをクリックするか、メイン・メニューから「ナビゲータ」 [image] 「すべて拡張」を選択します。

注意: 「すべて拡張」コマンドでは、Oracle8のデータタイプと属性ノードを再起的に拡張することはできません。たとえば、emp_typタイプのmanager属性が他のemp_typタイプの子である場合、「すべて拡張」コマンドを実行してもmanager属性は拡張されません。


ノードの縮小

ノードの縮小およびサブノード・ファースト・レイヤーを隠すには:

ノードの横のマイナス記号（-）をクリックします。

ノードを縮小し、すべてのサブオブジェクトを隠すには:

1	拡張したノードを選択します。

2	ツールバーの [image] ボタンをクリックするか、メイン・メニューから「ナビゲータ」 [image] 「すべて縮小」を選択します。


ブックマークの追加

ブックマークを追加するには:

1	ブックマークを設定するノードを選択します。

2	メイン・メニューから「ナビゲータ」 [image] 「ブックマーク追加」を選択します。

注意: オブジェクト・ナビゲータで設定できるブックマークは1つだけです。ブックマークを作成するたびに、新しいブックマークが以前作成したブックマークに置き換わります。


ブックマークへジャンプ

ブックマークへジャンプするには:

メイン・メニューから「ナビゲータ」 [image] 「ブックマークへジャンプ」を選択します。


インタプリタのオープン

インタプリタをオープンするには:

「プログラム」 [image] 「PL/SQLインタプリタ」を選択します。


インタプリタでのプログラム単位の実行

  例

インタプリタでプログラム単位を実行するには:

PL/SQL>プロンプトで、プログラム単位名と終止符のセミコロン（;）を入力します。

プログラム単位に引数が必要な場合は、引数をカッコで囲みます。[Enter]キーまたは[Return]キーを押します。

二次プロンプト（+>）が表示される場合、終止符のセミコロンを入力し忘れている可能性があります。セミコロンを入力し、もう一度[Enter]キーまたは[Return]キーを押します。


例: インタプリタでのプログラム単位の実行

hello_worldという名前のプロシージャを実行するには:

PL/SQL> hello_world;

数値引数を必要とするプロシージャprintoutを実行するには:

PL/SQL> printout(5);


ナビゲータ・ペインの非表示または表示

ナビゲータ・ペインを非表示にする、または表示するには:

1	「インタプリタ」がアクティブ・ウィンドウであることを確認します。

2	「表示」 [image] 「ナビゲータ・ペイン」を選択します。

この操作が有効なのは、モードレス・インタプリタの場合のみです。


インタプリタでのペインのサイズ変更

インタプリタでペインのサイズを変更するには:

1	カーソルを分割バー上に移動し、十字線（+）表示にします。

分割バーは、ウィンドウのペイン領域内、またはウィンドウの右側にあるスクロールバーで選択できます。

2	カーソルを上または下の希望位置までクリック・アンド・ドラッグします。

3	マウスのボタンを離して、新規のペイン・サイズを設定します。


Procedure Builderエラー・メッセージ

この項では、Procedure Builderのエラー・メッセージを説明しています。エラーは、エラー・コード番号順にリストされています。

PDE-ABP002:	トリガー本体のコンパイル・エラーのため、ブレークポイントがインストールされていません。

 原因:	トリガー本体に、無効なPL/SQL文が含まれています。

 処置:	エディタをクローズする前に、PL/SQL構文のエラーを修正してください。

PDE-ACX003:	デバッグ・トリガー内で禁止されているコマンドを実行しようとしました。

 原因:	デバッグ・トリガーの本体内で許可されていないDEBUGSUSPENDが起動されました。

 処置:	デバッグ・トリガーの本体からDEBUGSUSPENDのコールを削除してください。

PDE-AST001	STEP操作に失敗しました。 PL/SQLコードは現在実行されていません。

 原因:	STEPコマンドを使用してPL/SQLの実行を進めようとしましたが、その時点で実行を中断されているPL/SQLプログラム単位がありませんでした。

 処置:	STEPコマンドを使用するには、 デバッグ・アクションにより現在中断されている、 PL/SQLプログラム単位を実行する必要があります。詳細は、「デバッグ・アクションについて」を参照してください。

PDE-ATR003	トリガー本体のコンパイル・エラーのため、トリガーがインストールされていません。

 原因:	トリガー本体に、無効なPL/SQL文が含まれています。

 処置:	エディタをクローズする前に、PL/SQL構文のエラーを修正してください。

PDE-CAT001	ATTACHコマンドにライブラリが指定されていません。

 原因:	ライブラリを連結するためにATTACHコマンドを入力しましたが、ライブラリ名が指定されていません。

 処置:	ATTACHコマンドの構文をチェックしてください。詳細は、「ATTACH」を参照してください。連結するライブラリの名前を指定して、コマンドを再入力してください。

PDE-CAT002	<filename>はファイル・システム内に見つかりません。

 原因:	ファイル・システムに常駐しているライブラリを連結するためATTACHコマンドが入力されましたが、指定されたファイル名が見つかりません。

 処置:	指定したファイル名のスペルをチェックして、コマンドを再入力してください。

PDE-CAT003	ATTACHコマンドで名前領域が指定されていません。

 原因:	ライブラリを名前領域に連結するために、NAMESPACEキーワードを指定してATTACHコマンドを入力しましたが、既存の名前領域を指定しませんでした。

 処置:	既存の名前領域を指定して、ATTACHコマンドを再入力してください。

PDE-CAT004	ATTACHコマンドに指定した位置のオプションが多すぎます。

 原因:	ATTACHコマンドを入力しましたが、指定した位置のオプション（BEFORE、AFTER、START、END）が多すぎました。

 処置:	単一の位置オプションを指定して、ATTACHコマンドを再入力してください。

PDE-CAT005	<library name>がデータベース内に見つかりません。

 原因:	データベース内に常駐しているライブラリに連結するためATTACHコマンドが入力されましたが、指定された名前が見つからないか、データベース接続が現在存在しません。

 処置:	指定したライブラリ名のスペルをチェックし、データベースが接続されていることを確認して、コマンドを再入力してください。

PDE-CAT006	<library name>がデータベースおよびファイル・システムに見つかりません。

 原因:	位置が指定されずにライブラリを連結するATTACHコマンドが入力されましたが、指定された名前はファイル・システムおよびデータベース内に見つかりません。

 処置:	指定したライブラリ名のスペルをチェックして、コマンドを再入力してください。

PDE-CAT007	名前領域<name>が見つかりません。

 原因:	ライブラリを名前領域に連結するために、NAMESPACEキーワードを指定してATTACHコマンドを入力しましたが、既存の名前領域が見つかりません。

 処置:	指定した名前領域のスペルをチェックしてください。既存の名前領域を指定して、ATTACHコマンドを再入力してください。

PDE-CBR001	トリガー本体のコンパイル・エラーのため、ブレークポイントがインストールされていません。

 原因:	トリガー本体に、無効なPL/SQL構文を入力しました。

 処置:	無効なPL/SQL構文を訂正した後、エディタをクローズしてください。

PDE-CCL001	クローズするライブラリを指定してください。

 原因:	ライブラリをクローズするためにCLOSEコマンドを入力しましたが、ライブラリ名が指定されていません。

 処置:	CLOSEコマンドの構文をチェックしてください。詳細は、「CLOSE」を参照してください。クローズするライブラリの名前を指定して、コマンドを再入力してください。

PDE-CCL002	<library name>はオープン・ライブラリではありません。

 原因:	ライブラリをクローズするためにCLOSEコマンドを入力しましたが、現在オープンしていないライブラリを指定しました。

 処置:	現在オープンされているライブラリを指定して、CLOSEコマンドを再入力してください。

PDE-CCM001	COMPILEコマンドに対する引数が不足しています。

 原因:	1つ以上のプログラム単位、または1つ以上のライブラリ内にあるすべてのプログラム単位をコンパイルするために、COMPILEコマンドを入力しました。しかし、コマンド文字列内に、キーワードまたは値、あるいはその両方が指定されていません。

 処置:	適切なキーワードおよび値を指定して、COMPILEコマンドを再入力してください。詳細は、「COMPILE（ライブラリ）」または「COMPILE（プログラム単位）」を参照してください。

PDE-CCM002	<library name>はオープン・ライブラリではありません。

 原因:	ライブラリをコンパイルするためにCOMPILEコマンドを入力しましたが、現在オープンしていないライブラリを指定しました。オープンしていないライブラリをコンパイルすることはできません。

 処置:	オープンしていないライブラリをコンパイルする場合は、OPENを使用してライブラリをオープンしてから、COMPILEコマンドを入力してオープンしたライブラリをコンパイルしてください。詳細は、「OPEN」を参照してください。それ以外の場合は、すでにオープンしているライブラリを指定して、COMPILEを再入力してください。詳細は、「COMPILE（ライブラリ）」を参照してください。

PDE-CCO001	接続文字列の解析中にエラーが発生しました。

 原因:	データベースへ接続するためCONNECTコマンドが入力されましたが、無効な接続文字列が指定されました。

 処置:	接続文字列のスペルをチェックするか、または別の接続文字列を指定して、コマンドを再入力してください。

PDE-CCR001	CREATEコマンドの引数が不足しています。

 原因:	新ライブラリを作成するためにCREATEコマンドを入力しましたが、コマンド文字列内に、キーワードまたは値、あるいはその両方が指定されていません。

 処置:	適切なキーワードおよび値を指定して、CREATEコマンドを再入力してください。詳細は、「CREATE（ライブラリ）」を参照してください。

PDE-CCR003	ライブラリ<library name>は現在使用中です。

 原因:	新ライブラリを作成するためにCREATEコマンドを入力しましたが、その名前のライブラリは現在オープンしているか、または連結されています。

 処置:	ライブラリをクローズまたは連結解除、あるいはライブラリ名のスペルを確認してCREATEコマンドを再入力してください。

PDE-CCR004	名前領域<name>が存在していません。

 原因:	存在しない名前領域でライブラリをオープンしようとしました。

 処置:	名前領域を作成するか、別の名前領域を指定してください。

PDE-CCR005	名前領域がありません。

 原因:	NAMESPACEキーワードを指定してCREATEコマンドを入力しましたが、名前領域を入力しませんでした。

 処置:	CREATEコマンドの構文をチェックしてください。詳細は、「CREATE」を参照してください。名前領域の名前を指定して、コマンドを再入力してください。

PDE-CCR006	ファイルが指定されていません。

 原因:	指定したファイルを使用してライブラリを作成するために、SOURCEキーワードを指定してCREATE LIBRARYコマンドを入力しましたが、ファイル名が指定されていません。

 処置:	CREATE LIBRARYコマンドの構文をチェックしてください。詳細は、「CREATE（ライブラリ）」を参照してください。ファイル名を指定して、コマンドを再入力してください。

PDE-CCR007	操作を異常終了しました。

 原因:	外部に使用できる場所がないため、ライブラリのCREATEまたはSAVEの操作を異常終了しました。

 処置:	CREATEまたはSAVE操作を使用しライブラリに新規名を選択するか、既存オブジェクトを置換してください。

PDE-CCR008	ファイル<file name>は、有効なPL/SQLソース・ファイルではありません。

 原因:	SOURCEキーワードと共にCREATE LIBRARYコマンドが入力され、指定したファイルからのライブラリの作成が試行されましたが、ファイルが有効なPL/SQLソース・ファイルではありません。

 処置:	有効なソース・ファイルを指定して、コマンドを再入力してください。

PDE-CDE001	ライブラリ<library name>は連結されていません。

 原因:	DESCRIBEコマンドを入力して、現在連結されていないライブラリの情報を表示しようとしました。連結されていないライブラリの情報を表示することはできません。

 処置:	連結されていないライブラリに関する情報を表示するには、ATTACHによりライブラリを連結し、続いて以前のDESCRIBEコマンドを再入力して情報を表示してください。それ以外の場合は、すでに連結されているライブラリを指定して、DESCRIBEを再入力してください。

PDE-CDE002	<action ID>は、デバッグ・アクションとして定義されていません。

 原因:	ブレークポイントまたはデバッグ・トリガーに関する情報を表示するためにDESCRIBEコマンドを入力しましたが、既存のデバッグ・アクションのIDを指定しませんでした。

 処置:	既存のデバッグ・アクションIDを指定し、DESCRIBEを再入力してください。

PDE-CDE003	DESCRIBEでオブジェクトが指定されていません。

 原因:	DESCRIBEコマンドを入力して、プログラム単位、デバッグ・アクション、ライブラリ、ローカル変数、パラメータまたはロード・パスに関する詳細な情報を表示しようとしました。しかし、コマンド文字列内に、キーワードまたは値、あるいはその両方が指定されていません。

 処置:	表示する情報のタイプに適したキーワードおよび値を指定して、DESCRIBEコマンドを再入力してください。詳細は、次の項を参照してください。

DESCRIBE（デバッグ・アクション）

DESCRIBE（ライブラリ）

DESCRIBE（ロード・パス）

DESCRIBE（ローカル）

DESCRIBE（プログラム単位）

PDE-CDE004	<local>が、現行の有効範囲内に定義されていません。

 原因:	ローカル変数またはパラメータの情報を表示するためにDESCRIBEコマンドを入力しましたが、指定した<local>が現在の有効範囲の位置内にありません。

 処置:	現在の有効範囲の位置内のローカル変数またはパラメータを指定して、DESCRIBEコマンドを再入力してください。詳細は、「DESCRIBE（ローカル）」を参照してください。

PDE-CDE005	<progunit name>という<progunit type>はありません。

 原因:	プログラム単位に関する情報を表示するためにDESCRIBEコマンドを入力しましたが、指定したプログラム単位が現在の環境に定義されていません。

 処置:	現在の環境で定義されているプログラム単位を指定して、DESCRIBEコマンドを再入力してください。詳細は、「DESCRIBE（プログラム単位）」を参照してください。

PDE-CDE006	<table name>という表はありません。

 原因:	表に関する情報を表示するためにDESCRIBEコマンドを入力しましたが、指定した表がデータベース内にありません。

 処置:	データベース内に存在する表を指定して、DESCRIBEコマンドを再入力してください。詳細は、「DESCRIBE（表とビュー）」を参照してください。

PDE-CDE007	<view name>というビューはありません。

 原因:	ビューに関する情報を表示するためにDESCRIBEコマンドを入力しましたが、指定したビューがデータベース内にありません。

 処置:	データベース内に存在するビューを指定して、DESCRIBEコマンドを再入力してください。詳細は、「DESCRIBE（表とビュー）」を参照してください。

PDE-CDL001	<action ID>は、有効なアクションIDではありません。

 原因:	ブレークポイントまたはデバッグ・トリガーを削除するためにDELETEコマンドを入力しましたが、有効なデバッグ・アクションのIDを指定しませんでした。

 処置:	有効なデバッグ・アクションIDを指定して、DELETEを再入力してください。詳細は、「DELETE（デバッグ・アクション）」を参照してください。

PDE-CDL002	<bind variable>は、有効なバインド変数名ではありません。

 原因:	バインド変数を削除するためにDELETEコマンドを入力しましたが、有効なバインド変数名を指定しませんでした。

 処置:	有効なバインド変数名を指定して、DELETEを再入力してください。詳細は、「DELETE（バインド変数）」を参照してください。

PDE-CDL005	<library name>はオープン・ライブラリではありません。

 原因:	現在オープンしていないライブラリから1つ以上のプログラム単位を削除しようとしました。オープンしていないライブラリからプログラム単位を削除することはできません。

 処置:	オープンしていないライブラリから1つ以上のプログラム単位を削除する場合は、 OPENを使用してライブラリをオープンしてから、 DELETEコマンドを入力してライブラリからプログラム単位を削除してください。 それ以外の場合は、すでにオープンしているライブラリを指定して、DELETEを入力してください。 詳細は、次の項を参照してください。

DELETE（プログラム単位）

OPEN

PDE-CDL006	<progunit type> <progunit name>はビルトイン・プログラム単位であるため削除できません。

 原因:	プログラム単位を削除するためにDELETEコマンドを入力しましたが、指定したプログラム単位は、ビルトイン・プログラム単位です。ビルトイン・プログラム単位はProcedure Builderから削除できません。

 処置:	削除できるのは、Procedure Builder内で作成されたか、またはそれにロードされたプログラム単位のみです。

PDE-CDL007	現行の名前領域なので、削除できません。

 原因:	名前領域を削除するためにDELETEコマンドを入力しましたが、指定された名前領域は現行の名前領域です。

 処置:	現行の名前領域、現行の名前領域の親またはグローバル名前領域は削除できません。CHANGEコマンドを使用して現行名前の領域として別の名前領域を選択し、DELETEコマンドを再入力してください。

PDE-CDL008	グローバル名前領域なので、削除できません。

 原因:	名前領域を削除するためにDELETEコマンドを入力しましたが、指定された名前領域はグローバル名前領域です。

 処置:	現行の名前領域、現行の名前領域の親またはグローバル名前領域は削除できません。

PDE-CDL009	その名前領域は存在しないので、削除できません。

 原因:	名前領域を削除するためにDELETEコマンドを入力しましたが、指定された名前領域は存在しません。

 処置:	名前領域のスペルをチェックし、コマンドを再入力してください。

PDE-CDL010	DELETEコマンドにライブラリが指定されていません。

 原因:	1つ以上のライブラリを削除するためにDELETEコマンドを入力しましたが、ライブラリ名が指定されていません。

 処置:	DELETEコマンドの構文を確認してください。 詳細は、「DELETE（ライブラリ）」を参照してください。削除するライブラリの名前を指定して、コマンドを再入力してください。

PDE-CDL011	DELETEコマンドにプログラム単位が指定されていません。

 原因:	1つ以上のプログラム単位を削除するためにDELETEコマンドを入力しましたが、プログラム単位名が指定されていません。

 処置:	DELETEコマンドの構文をチェックしてください。詳細は、「DELETE（プログラム単位）」を参照してください。削除するプログラム単位の名前を指定して、コマンドを再入力してください。

PDE-CDL012	DELETEコマンドにライブラリが指定されていません。

 原因:	1つ以上のプログラム単位を削除するためにDELETEコマンドを入力しましたが、ライブラリ名が指定されていません。

 処置:	DELETEコマンドの構文をチェックしてください。詳細は、「DELETE（ライブラリ・プログラム単位）」を参照してください。1つ以上のプログラム単位を削除するライブラリの名前を指定して、コマンドを再入力してください。

PDE-CDL013	DELETEコマンドにバインド変数が指定されていません。

 原因:	1つ以上のバインド変数を削除するためにDELETEコマンドを入力しましたが、バインド変数名が指定されていません。

 処置:	DELETEコマンドの構文をチェックしてください。詳細は、「DELETE（バインド変数）」を参照してください。削除するバインド変数の名前を指定して、コマンドを再入力してください。

PDE-CDL014	名前領域を削除できません。 この名前領域は、現行の名前領域の親です。

 原因:	名前領域を削除するためにDELETEコマンドを入力しましたが、指定された名前領域は現行の名前領域を含んでいます。

 処置:	現行の名前領域、現行の名前領域の親またはグローバル名前領域は削除できません。CHANGEコマンドを使用して現行名前の領域として別の名前領域を選択し、DELETEコマンドを再入力してください。

PDE-CDS001	<action ID>は、有効なアクションIDではありません。

 原因:	ブレークポイントまたはデバッグ・トリガーを使用不可にするためにDISABLEコマンドを入力しましたが、有効なデバッグ・アクションのIDを指定しませんでした。

 処置:	有効なデバッグ・アクションIDを指定して、DISABLEを再入力してください。詳細は、「DISABLE（デバッグ・アクション）」を参照してください。

PDE-CDS002	DISABLEコマンドにターゲットが指定されていません。

 原因:	1つ以上のデバッグ・アクションを一時的に削除するか、または現行のログ・ファイルへのロギングを中断するためにDISABLEコマンドを入力しました。しかし、コマンド文字列内に、キーワードまたは値、あるいはその両方が指定されていません。

 処置:	使用不可にする項目に適したキーワードおよび値を指定して、DISABLEコマンドを再入力してください。詳細は、次の項を参照してください。

DISABLE（デバッグ・アクション）

DISABLE（デバッグ・アクション）

PDE-CDT001	連結解除するライブラリを指定してください。

 原因:	ライブラリを連結解除するためにDETACHコマンドを入力しましたが、ライブラリ名が指定されていません。

 処置:	DETACHコマンドの構文をチェックしてください。詳細は、「DETACH」を参照してください。連結解除するライブラリの名前を指定して、コマンドを再入力してください。

PDE-CDT002	<library name>は連結ライブラリではありません。

 原因:	ライブラリを連結解除するためにDETACHコマンドを入力しましたが、指定したライブラリは、現在連結されていません。連結していないライブラリを解除することはできません。

 処置:	指定したライブラリ名のスペルをチェックして、DETACHコマンドを再入力してください。

PDE-CEN001	<action ID>は、有効なアクションIDではありません。

 原因:	ブレークポイントまたはデバッグ・トリガーを使用可能にするためにENABLEコマンドを入力しましたが、有効なデバッグ・アクションのIDを指定しませんでした。

 処置:	有効なデバッグ・アクションIDを指定して、ENABLEを再入力してください。詳細は、「ENABLE（デバッグ・アクション）」を参照してください。

PDE-CEN002	ENABLEコマンドにターゲットが指定されていません。

 原因:	使用不可にされた1つ以上のデバッグ・アクションを再び使用可能にするか、または現行のログ・ファイルへのロギングを再開するためにENABLEコマンドを入力しました。しかし、コマンド文字列内に、キーワードまたは値、あるいはその両方が指定されていません。

 処置:	使用可能にする項目に適したキーワードおよび値を指定して、ENABLEコマンドを再入力してください。詳細は、次の項を参照してください。

ENABLE（デバッグ・アクション）

ENABLE（ロギング）

PDE-CET001	SETコマンドの引数が足りません。

 原因:	現行の名前領域を設定するため、または現行の有効範囲の位置を変更するためにSETコマンドを入力しましたが、コマンド文字列にキーワードまたは値（あるいはその両方）を指定しませんでした。

 処置:	適切なキーワードおよび値を指定して、SETコマンドを再入力してください。詳細は、「SET（有効範囲）」を参照してください。

PDE-CET002	指定された名前領域は、存在していません。

 原因:	現行の名前領域を変更するためにSET NAMESPACEコマンドを入力しましたが、既存の名前領域を指定しませんでした。

 処置:	既存の名前領域を指定して、SET NAMESPACEコマンドを再入力してください。

PDE-CET003	現行のPL/SQL実行スタックがありません。

 原因:	SET SCOPEコマンドを使用して現行の有効範囲の位置を変更しようとしましたが、その時点で実行が中断されているPL/SQLプログラム単位がなかったため、有効範囲の位置を設定できませんでした。

 処置:	SET SCOPEコマンドを使用する場合、PL/SQLプログラム単位を実行し、デバッグ・アクションを使用してその実行を中断する必要があります。詳細は、「デバッグ・アクションについて」を参照してください。

PDE-CET004	プログラム単位が指定されていません。

 原因:	SET SCOPEコマンドを使用して現行の有効範囲の位置を変更しようとしましたが、PL/SQLプログラム単位が指定されていなかったため、有効範囲の位置を設定できませんでした。

 処置:	プログラム単位を指定して、SET SCOPEコマンドを再入力してください。詳細は、「SET（有効範囲）」を参照してください。

PDE-CEX001	EXPORTコマンドにターゲット・ファイルが指定されていません。

 原因:	ファイルに1つ以上のプログラム単位のソースを書き込むためにEXPORTコマンドを入力しましたが、ファイル名が指定されていません。

 処置:	EXPORTコマンドの構文をチェックしてください。詳細は、「EXPORT」を参照してください。プログラム単位ソースを書き込むファイルの名前を指定して、コマンドを再入力してください。

PDE-CEX002	EXPORTコマンドにプログラム単位が指定されていません。

 原因:	ファイルに1つ以上のプログラム単位のソースを書き込むためにEXPORTコマンドを入力しましたが、プログラム単位名が指定されていません。

 処置:	EXPORTコマンドの構文をチェックしてください。詳細は、「EXPORT」を参照してください。ソースをエクスポートするプログラム単位を指定して、コマンドを再入力してください。

PDE-CEX003	エクスポートのために<filename>をオープンできません。

 原因:	ファイルに1つ以上のプログラム単位のソースを書き込むためにEXPORTコマンドを入力しましたが、指定したファイルへ書込みを行うために必要な権限がありません。

 処置:	ファイルに書込みができるように権限を変更するか、または書込みが可能な別のファイルを指定してください。

PDE-CEX004	ライブラリ<library name>は連結されていません。

 原因:	EXPORTコマンドを入力して、現在連結されていないライブラリの内容をエクスポートしようとしました。連結していないライブラリをエクスポートすることはできません。

 処置:	連結されていないライブラリをエクスポートする場合は、ATTACHコマンドを使用してライブラリを連結してから、EXPORTコマンドを再入力してください。詳細は、「ATTACH」を参照してください。それ以外の場合は、すでに連結されているライブラリを指定して、EXPORTを再入力してください。

PDE-CEX005	EXPORTコマンドにライブラリが指定されていません。

 原因:	ライブラリの内容をエクスポートするためにEXPORTコマンドを入力しましたが、ライブラリ名が指定されていません。

 処置:	EXPORTコマンドの構文をチェックしてください。詳細は、「EXPORT」を参照してください。ソースをエクスポートするライブラリの名前を指定して、コマンドを再入力してください。

PDE-CEX006	現在、データーベースに接続されていません。

 原因:	プログラム単位をエクスポートするためにSTOREDキーワードを指定してEXPORTコマンドを入力しましたが、現在データベースに接続されていません。

 処置:	データベースに接続し、EXPORTコマンドを再入力してください。詳細は、「EXPORT(ストアド・プログラム単位)」を参照してください。

PDE-CEX007	ストアド・プログラム単位<name1, name2...>はデータベース上に存在しません。

 原因:	1つ以上のストアド・プログラム単位をエクスポートするためにEXPORTコマンドを入力しましたが、指定されたストアド・プログラム単位は、データベースに存在していません。

 処置:	ストアド・プログラム単位の正確な名前を指定して、EXPORTコマンドを再入力してください。

PDE-CEX008	指定された型が現行のプログラミング言語に存在しません。

 原因:	言語キーワードと一致しない型キーワードを入力しました。

 処置:	正確な型と言語を指定して、EXPORTコマンドを再入力してください。

PDE-CGE001	GENERATEにファイルが指定されていません。

 原因:	プログラム単位から".c"ファイルを生成するためにGENERATEコマンドを入力しましたが、生成するファイルの名前が指定されていません。

 処置:	FILEキーワードおよび引数を指定して、GENERATEコマンドを再入力してください。

PDE-CGE002	指定したプログラム単位は、正しくコンパイルされていません。

 原因:	プログラム単位から".c"ファイルを生成するためにGENERATEコマンドを入力しましたが、プログラム単位を事前にコンパイルしていませんでした。

 処置:	プログラム単位をコンパイルしてから、GENERATEコマンドを再入力してください。

PDE-CGE003	GENERATEにSPECおよびBODYの両方が指定されています。

 原因:	プログラム単位から".c"ファイルを生成するためにGENERATEコマンドを入力しましたが、SPECとBODYの両方のキーワードが指定されています。".c"ファイルにはSPECまたはBODYのどちらか一方しか含めることができません。

 処置:	SPECとBODYを別々に指定して、2つのGENERATEコマンドを使用してください。

PDE-CGE004	GENERATEコマンドにプログラム単位が見つかりません。

 原因:	プログラム単位から".c"ファイルを生成するためにGENERATEコマンドを入力しましたが、プログラム単位が指定されていません。プログラム単位を指定してある場合は、そのタイプがSPECまたはBODYの各キーワードと一致しません。

 処置:	プログラム単位の有効なキーワードと引数を指定して、GENERATEコマンドを再入力してください。

PDE-CGE005	GENERATEファイルのオープンでエラーが発生しました。

 原因:	GENERATEコマンドで".c"ファイルをオープンしようとしたときに、オペレーティング・システム・エラーが発生しました。

 処置:	有効なFILEキーワードと引数を指定して、GENERATEコマンドを再入力してください。

PDE-CGE006	LIBRARYキーワードがありません。

 原因:	LIBRARYキーワードを指定せずに、GENERATEコマンドが発行されました。

 処置:	LIBRARYキーワードを指定して、GENERATEコマンドを再入力してください。詳細は、「GENERATE」を参照してください。

PDE-CGE007	GENERATEの記号が指定されていません。

 原因:	プログラム単位から".c"ファイルを生成するためにGENERATEコマンドを入力しましたが、記号名が指定されていません。

 処置:	記号名を指定して、GENERATEコマンドを再入力してください。

PDE-CGE008	<library name>はオープン・ライブラリではありません。

 原因:	現在オープンされていないライブラリのランタイム・ライブラリを生成しようとしました。オープンされていないライブラリに対して、この操作を実行することはできません。

 処置:	生成するライブラリがオープンされていることを確認するか、または指定したライブラリのスペルをチェックしてから、コマンドを再入力してください。詳細は、次の項を参照してください。

OPEN

GENERATE

PDE-CGE009	GENERATEでライブラリが指定されていません。

 原因:	ソース・ライブラリの名前を指定しないでGENERATEコマンドを入力し、ランタイム・ライブラリを生成しようとしました。

 処置:	LIBRARYキーワードおよび引数を使用して、GENERATEコマンドを再入力してください。詳細は、「GENERATE」を参照してください。

PDE-CGR001	権限を付与するときにライブラリを指定してください。

 原因:	データベースに格納されているライブラリへのアクセス権をユーザーに付与するためにGRANTコマンドを入力しましたが、ライブラリ名が指定されていません。

 処置:	GRANTコマンドの構文をチェックしてください。詳細は、「GRANT」を参照してください。アクセス権を付与するライブラリを指定して、コマンドを再入力してください。

PDE-CGR002	権限を付与するときにユーザーを指定してください。

 原因:	データベースに格納されているライブラリへのアクセス権をユーザーに付与するためにGRANTコマンドを入力しましたが、ユーザー名が指定されていません。

 処置:	GRANTコマンドの構文をチェックしてください。詳細は、「GRANT」を参照してください。アクセス権を付与するユーザー名を指定して、コマンドを再入力してください。

PDE-CHE001	コマンド<command>にヘルプを表示できません。

 原因:	HELPコマンドを入力して、Procedure Builderコマンドに関する情報を表示しようとしましたが、有効なコマンドを指定しませんでした。

 処置:	ヘルプが必要なProcedure Builderコマンドを指定して、HELPコマンドを再入力してください。詳細は、「HELP」を参照してください。

PDE-CIN001	INTERPRETコマンドにターゲットが指定されていません。

 原因:	1つ以上のProcedure Builderスクリプトを実行するためにINTERPRETコマンドを入力しましたが、コマンド文字列内に、キーワードまたは値、あるいはその両方が指定されていません。

 処置:	適切なキーワードおよび値を指定して、INTERPRETコマンドを再入力してください。詳細は、「INTERPRET」を参照してください。

PDE-CIN002	ファイルの解釈中に予期しないファイル終了を検出しました。

 原因:	ファイルの内容を解釈するためにINTERPRETコマンドを入力しましたが、ファイルの最後のPL/SQLブロックが不完全です。

 処置:	ファイルの内容をチェックしてください。エラーを訂正し、操作を再試行してください。

PDE-CIN003	ファイル<file name>は、有効なPL/SQLソース・ファイルではありません。

 原因:	FILEキーワードを指定してINTERPRETコマンドを入力しましたが、このファイルは有効なPL/SQLソース・ファイルではありませんでした。

 処置:	有効なソース・ファイルを指定して、コマンドを再入力してください。

PDE-CIS001	INSERTコマンドの引数が不足しています。

 原因:	INSERTコマンドを入力しましたが、コマンド文字列で必要なだけの引数を指定していません。

 処置:	INSERTコマンドの構文をチェックしてください。詳細は、次の項を参照してください。

INSERT（ライブラリ・プログラム単位）

INSERT（ロード・パス）

PDE-CIS002	ライブラリに挿入する1つ以上のプログラム単位を指定してください。

 原因:	オープンされているライブラリに1つ以上のプログラム単位を挿入するためにINSERTコマンドを入力しましたが、コマンド文字列にプログラム単位がリストされていません。

 処置:	INSERTコマンドの構文をチェックしてください。詳細は、「INSERT（ライブラリ・プログラム単位）」を参照してください。ライブラリに追加するプログラム単位を指定して、コマンドを再入力してください。

PDE-CIS003	<library name>はオープン・ライブラリではありません。

 原因:	INSERTコマンドを入力して、現在オープンされていないライブラリに1つ以上のプログラム単位を挿入しようとしました。オープンされていないライブラリにプログラム単位を追加することはできません。

 処置:	オープンされていないライブラリに1つ以上のプログラム単位を追加する場合は、OPENを使用してライブラリをオープンしてから、INSERTコマンドを入力してライブラリにプログラム単位を追加してください。それ以外の場合は、すでにオープンしているライブラリを指定して、INSERTを再入力してください。詳細は、「OPEN」を参照してください。

PDE-CIS004	ロード・パスに挿入する1つ以上のディレクトリを指定してください。

 原因:	ロード・パスを変更するためにINSERTコマンドを入力しましたが、キーワードまたは挿入するディレクトリ・パス（あるいはその両方）が指定されていません。

 処置:	INSERTコマンドの構文をチェックしてください。詳細は、「INSERT（ロード・パス）」を参照してください。ロード・パスに挿入するキーワードまたはディレクトリ・パス、あるいはその両方を指定して、コマンドを再入力してください。

PDE-CIS005	名前領域<name>が存在していません。

 原因:	名前領域に1つ以上のプログラム単位を挿入するためにINSERTコマンドを入力しましたが、その名前領域は存在しません。

 処置:	指定した名前領域のスペルをチェックするか、CREATEコマンドを使用して新しい名前領域を作成して、INSERTコマンドを再入力してください。

PDE-CIS006	名前領域が指定されていません。

 原因:	名前領域に1つ以上のプログラム単位を挿入するために、NAMESPACEキーワードを指定してINSERTコマンドを入力しましたが、名前領域が指定されていません。

 処置:	既存の名前領域を指定して、INSERTコマンドを再入力してください。

PDE-CLG001	LOGコマンドの引数が不足しています。

 原因:	LOGコマンドを入力しましたが、コマンド文字列内に、キーワードまたは値（あるいはその両方）が指定されていません。

 処置:	適切なキーワードおよび値を指定して、LOGコマンドを再入力してください。詳細は、「LOG」を参照してください。

PDE-CLG002	ファイル<filename>に対するオープン操作に失敗しました。

 原因:	ログ・ファイルにインタプリタの複写の入出力の保存を開始するためにLOGコマンドを入力しましたが、指定したファイルに書込みを行うために必要な権限がありません。

 処置:	ファイルに書込みができるように権限を変更するか、または書込みが可能な別のファイルを指定してください。

PDE-CLG003	LOGコマンドにファイルが指定されていません。

 原因:	FILEキーワードを指定してLOGコマンドを入力しましたが、ファイル名を指定していません。

 処置:	ファイル名を指定して、LOGコマンドを再入力してください。詳細は、「LOG」を参照してください。

PDE-CLO001	指定したライブラリは、連結されていません。

 原因:	LOADコマンドを入力して、現在連結されていないライブラリに格納された1つ以上のプログラム単位をロードしようとしました。連結されていないライブラリに格納されたプログラム単位をロードすることはできません。

 処置:	ライブラリに格納されたプログラム単位をロードする場合は、ATTACHを使用してライブラリを連結してから、LOADコマンドを入力してプログラム単位をロードしてください。詳細は、次の項を参照してください。

ATTACH

LOAD（ライブラリ・プログラム単位）

PDE-CLO002	LOADコマンドにターゲットが指定されていません。

 原因:	LOADコマンドを入力しましたが、コマンド文字列に、キーワードまたは値、あるいはその両方を指定していません。

 処置:	適切なキーワードおよび値を指定して、LOADコマンドを再入力してください。LOADを使用すると、連結されたライブラリまたはファイル、データベースから1つ以上のプログラム単位をロードできます。詳細は、次の項を参照してください。

LOAD（ライブラリ・プログラム単位）

LOAD（プログラム単位）

LOAD（ストアド・プログラム単位）

PDE-CLO003	ロードするプログラム単位が指定されていません。

 原因:	LOADコマンドを入力しましたが、ロードするプログラム単位を指定していません。

 処置:	ロードするプログラム単位の名前を指定して、LOADコマンドを再入力してください。詳細は、次の項を参照してください。

LOAD（ライブラリ・プログラム単位）

LOAD（プログラム単位）

LOAD（ストアド・プログラム単位）

PDE-CLO004	指定したストアド・プログラム単位は、データベース内にありません。

 原因:	LOADコマンドを入力して、データベース内に格納された1つ以上のプログラム単位をロードしようとしましたが、指定したプログラム単位はありません。

 処置:	格納されているプログラム単位の名前を指定して、LOADコマンドを再入力してください。詳細は、「LOAD（ストアド・プログラム単位）」を参照してください。

PDE-CLO005	現在、データーベースに接続されていません。

 原因:	データベースに格納された1つ以上のプログラム単位をロードするために、STOREDキーワードを指定してLOADコマンドを入力しましたが、現在、データベースに接続されていません。

 処置:	データベースに接続して、LOADコマンドを再入力してください。

PDE-CLO006	指定された名前領域は、存在していません。

 原因:	名前領域にプログラム単位をロードするために、NAMESPACEキーワードを指定してLOADコマンドを入力しましたが、指定された名前領域は存在しません。

 処置:	既存の名前領域を指定して、LOADコマンドを再入力してください。

PDE-CLO007	ロードするターゲット名前領域が指定されていませんでした。

 原因:	NAMESPACEを指定してLOADコマンドを入力しましたが、ロード先の名前領域を指定しませんでした。

 処置:	ロード先のストアド・プログラム単位を指定する適切なキーワードと値を指定して、LOADコマンドを再入力してください。詳細は、「LOAD（ストアド・プログラム単位）」を参照してください。

PDE-CLO008	ファイルが指定されていません。

 原因:	FILEキーワードを指定してLOADコマンドを入力しましたが、ロード元のファイルを指定していません。

 処置:	プログラム単位のロード元のファイルの名前を指定して、LOADコマンドを入力してください。詳細は、「LOAD（プログラム単位）」を参照してください。

PDE-CLO009	ファイル<file name>は、有効なPL/SQLソース・ファイルではありません。

  原因:	FILEキーワードを指定してLOADコマンドを入力しましたが、このファイルは有効なPL/SQLソース・ファイルではありません。

 処置:	有効なソース・ファイルを指定して、コマンドを再入力してください。

PDE-COP001	OPENコマンドにライブラリが指定されていません。

 原因:	ライブラリをオープンするためにOPENコマンドを入力しましたが、ライブラリ名を指定していません。

 処置:	OPENコマンドの構文をチェックしてください。詳細は、「OPEN」を参照してください。オープンするライブラリの名前を指定して、コマンドを再入力してください。

PDE-COP002	<filename>はファイル・システム内に見つかりません。

 原因:	ファイル・システム内に常駐するライブラリをオープンするためにOPENコマンドを入力しましたが、指定したファイルが見つかりません。

 処置:	指定したファイル名のスペルをチェックして、コマンドを再入力してください。

PDE-COP003	名前領域<name>が存在していません。

 原因:	存在しない名前領域でライブラリをオープンしようとしました。

 処置:	名前領域を作成するか、別の名前領域を指定してください。

PDE-COP004	OPENコマンドで名前領域が指定されていません。

 原因:	名前領域にあるライブラリをオープンするためにOPENコマンドを入力しましたが、名前領域を指定しませんでした。

 処置:	OPENコマンドの構文をチェックしてください。詳細は、「OPEN」を参照してください。名前領域を指定して、コマンドを再入力してください。

PDE-CPL001	現在、データーベースに接続されていません。

 原因:	SQL DDL文を発行しようとしましたが、現在、データベースに接続されていません。

 処置:	データベースに接続して、SQL DDL文を再実行してください。

PDE-CRK001	権限を取り消すときには、ライブラリを必ず指定してください。

 原因:	データベース内に格納されたライブラリに対するユーザーのアクセス権限を取り消すためREVOKEコマンドが入力されましたが、ライブラリ名が指定されませんでした。

 処置:	REVOKEコマンドの構文をチェックしてください。詳細は、「REVOKE」を参照してください。アクセス権を取り消すライブラリを指定して、コマンドを再入力してください。

PDE-CRK002	権限を取り消すときには、ユーザーを必ず指定してください。

 原因:	データベース内に格納されたライブラリに対するユーザーのアクセス権限を取り消すためREVOKEコマンドが入力されましたが、ユーザー名が指定されませんでした。

 処置:	REVOKEコマンドの構文をチェックしてください。詳細は、「REVOKE」を参照してください。アクセス権を取り消すユーザー名を指定して、コマンドを再入力してください。

PDE-CRN001	旧名が指定されていません。

 原因:	現行のデータベースに常駐するライブラリの名前を変更するためにRENAMEコマンドを入力しましたが、ライブラリの旧名を指定していません。

 処置:	RENAMEコマンドの構文をチェックしてください。詳細は、「RENAME（ライブラリ）」を参照してください。旧名を指定して、コマンドを再入力してください。

PDE-CRN002	新規名が指定されていません。

 原因:	現行のデータベースに常駐するライブラリの名前を変更するためにRENAMEコマンドを入力しましたが、ライブラリの新規名を指定していません。

 処置:	RENAMEコマンドの構文をチェックしてください。詳細は、「RENAME（ライブラリ）」を参照してください。新規名を指定して、コマンドを再入力してください。

PDE-CRN003	現在アクセス可能な<library name>というデータベース・ライブラリはありません。

 原因:	ライブラリの名前を変更するためにRENAMEコマンドを入力しましたが、次のいずれかの原因によりコマンドの実行に失敗しました。

A:指定したライブラリが現行のデータベース内にありません。

B:指定したライブラリの改名の権限がありません。

 処置:	このエラーを解決するために、次の処置を行ってください。

Aの場合:	正確なライブラリ名を指定して、RENAMEコマンドを再入力してください。

Bの場合:	ライブラリを改名するために必要な権限を取得し、RENAMEコマンドを再入力してください。

PDE-CRN004	データベースに接続しないで、ライブラリを改名することはできません。

 原因:	ライブラリの名前を変更するためにRENAMEコマンドを入力しましたが、データベースに接続されていません。

 処置:	ライブラリが格納されているデータベースに接続し、ライブラリを改名してください。

PDE-CRN007	<new library name>は現在連結されているため、<old library name>を<new library name>に改名できません。

 原因:	現行のデータベースに格納されたライブラリの名前を変更するためにRENAMEコマンドを入力しましたが、新規名で指定されたライブラリは、現在連結されています。現在連結されているライブラリの名前に改名することはできません。

 処置:	DETACHコマンドを使用して新規名で指定したライブラリを連結解除するか、または別の名前を使用して、RENAMEコマンドを再入力してください。DETACHの詳細は、「DETACH」を参照してください。

PDE-CRN008	<new library name>は現在オープンされているため、<old library name>を<new library name>に改名できません。

 原因:	現行のデータベースに格納されたライブラリの名前を変更するためにRENAMEコマンドを入力しましたが、新規名で指定されたライブラリは、現在オープンされています。現在オープンしているライブラリの名前に改名することはできません。

 処置:	CLOSEコマンドを使用して新規名で指定したライブラリをクローズするか、または別の新しい名前を使用して、RENAMEコマンドを再入力してください。CLOSEの詳細は、「CLOSE」を参照してください。

PDE-CRS001	指定のデバッグ・レベルはありません。

 原因:	明示的に指定したデバッグ・レベルに再設定するためにRESETコマンドを入力しましたが、指定のデバッグ・レベルはありません。

 処置:	RESETコマンドに対するLEVELキーワードの構文をチェックしてください。詳細は、「RESET」を参照してください。有効なデバッグ・レベルを指定して、コマンドを再入力してください。

PDE-CRS002	現在実行中のコードはありません。

 原因:	PL/SQLプログラム単位の実行を強制的に終了させるため、RESETコマンドを入力しましたが、その時点で実行を中断されているプログラム単位はありませんでした。

 処置:	RESETコマンドを使用する場合は、PL/SQLプログラム単位を実行し、デバッグ・アクションを使用してその実行を中断する必要があります。詳細は、「デバッグ・アクションについて」を参照してください。

PDE-CRV001	回復するライブラリを指定してください。

 原因:	ライブラリを回復するためにREVERTコマンドを入力しましたが、ライブラリ名を指定していません。

 処置:	REVERTコマンドの構文をチェックしてください。詳細は、「REVERT」を参照してください。回復するライブラリの名前を指定して、コマンドを再入力してください。

PDE-CRV002	<library name>はオープン・ライブラリではありません。

 原因:	現在オープンされていないライブラリを回復しようとしました。オープンしていないライブラリを回復することはできません。

 処置:	回復しようとしているライブラリがオープンされていることを確認してください。指定したライブラリのスペルをチェックして、コマンドを再入力してください。

PDE-CSA001	保存するライブラリは必ず指定してください。

 原因:	ライブラリを保存するためにSAVEコマンドを入力しましたが、ライブラリ名を指定していません。

 処置:	SAVEコマンドの構文をチェックしてください。詳細は、「SAVE」を参照してください。保存するライブラリの名前を指定して、コマンドを再入力してください。

PDE-CSA002	<library name>はオープン・ライブラリではありません。

 原因:	現在オープンされていないライブラリを保存しようとしました。オープンしていないライブラリを保存することはできません。

 処置:	保存しようとしているライブラリがオープンされていることを確認してください。指定したライブラリのスペルをチェックして、コマンドを再入力してください。

PDE-CSA003	保存先を指定してください。

 原因:	指定したファイルにライブラリを保存するために、ASオプションを指定してSAVEコマンドを入力しましたが、ファイル名を指定していません。

 処置:	SAVEコマンドの構文をチェックしてください。詳細は、「SAVE」を参照してください。ライブラリを保存するファイルの名前を指定して、コマンドを再入力してください。

PDE-CSE001	現在、データーベースに接続されていません。

 原因:	SQL SELECT文を入力しましたが、現在、データベースに接続されていません。

 処置:	データベースに接続して、文を再入力してください。データベースへの接続方法の詳細は、使用しているOracle製品マニュアルを参照してください。

PDE-CSH001	現行のPL/SQL実行スタックがありません。

 原因:	SHOWコマンドを使用してコール・スタック上のフレームをリストしようとしましたが、その時点で実行を中断されているPL/SQLプログラム単位がありませんでした。

 処置:	SHOWコマンドを使用してコール・スタック上のフレームをリストする場合は、PL/SQLプログラム単位を実行し、デバッグ・アクションを使用してその実行を中断する必要があります。詳細は、「デバッグ・アクションについて」を参照してください。

PDE-CSH002	指定された型が現行のプログラミング言語に存在しません。

 原因:	言語キーワードと一致しない型キーワードを入力しました。

 処置:	正確な型と言語を指定して、SHOWコマンドを再入力してください。

PDE-CSR001	データベースに格納するプログラム単位が指定されていません。

 原因:	STOREコマンドを入力しましたが、格納するプログラム単位を指定していません。

 処置:	適切なキーワードおよび値を指定して格納するプログラム単位を指定し、STOREコマンドを再入力してください。詳細は、「STORE」を参照してください。

PDE-CSR002	指定したプログラム単位は存在しません。

 原因:	データベース内に1つ以上のプログラム単位を格納するためにSTOREコマンドを入力しましたが、指定したプログラム単位は存在しません。

 処置:	プログラム単位の正確な名前を指定して、STOREコマンドを再入力してください。詳細は、「STORE」を参照してください。

PDE-CSR003	現在、データーベースに接続されていません。

 原因:	データベース内にプログラム単位を格納するためにSTOREコマンドを入力しましたが、現在、データベースに接続されていません。

 処置:	データベースに接続して、STOREコマンドを再入力してください。

PDE-CSR004	<progunit type> <progunit name>はビルトイン・プログラム単位であるため格納できません。

 原因:	データベース内にプログラム単位を格納するためにSTOREコマンドを入力しましたが、指定したプログラム単位は、ビルトイン・プログラム単位です。

 処置:	格納できるのは、Procedure Builder内で作成されたか、またはそれにロードされたプログラム単位のみです。

PDE-CSR005	プログラム単位のソースが不完全です。

 原因:	プログラム単位をデータベースに格納するためSTOREコマンドが入力されましたが、プログラム単位のソースは完全なPL/SQL構文ではありません。

 処置:	プログラム単位のソースとして完全なPL/SQL構文を入力してから、STOREコマンドを再入力してください。

PDE-CSR006	所有者が指定されていません。

 原因:	OWNERキーワードを指定してSTOREコマンドを入力しましたが、所有者名を指定していません。

 処置:	所有者名を指定して、STOREコマンドを再入力してください。詳細は、「STORE」を参照してください。

PDE-CSR007	プロシージャまたはファンクションの仕様部は格納できません。

 原因:	STOREコマンドを入力して、ファンクションまたはプロシージャの仕様部をデータベース内に格納しようとしました。格納できるのは、パッケージ仕様部のみです。

 処置:	格納しようとしているファンクションまたはプロシージャに本体があることを確認します。SPECIFICATIONキーワードを指定しないで、STOREコマンドを再入力してください。詳細は、「STORE」を参照してください。

PDE-CTR001	トリガー本体が指定されていません。

 原因:	デバッグ・トリガーを作成するためにTRIGGERコマンドを入力しましたが、トリガー本体としてPL/SQL文またはブロックを指定していません。

 処置:	TRIGGERコマンドの構文をチェックしてください。詳細は、「TRIGGER」を参照してください。有効なトリガー本体を指定して、コマンドを再入力してください。

PDE-CTR002	トリガー本体のコンパイル・エラーのため、トリガーがインストールされていません。

 原因:	トリガー本体に、無効なPL/SQL構文を入力しました。

 処置:	無効なPL/SQL構文を訂正した後、エディタをクローズしてください。

PDE-CXC001	EXECUTEコマンドの対象となるプログラム単位が見つかりません。

 原因:	パラメータのないプロシージャを実行するためにEXECUTEコマンドを入力しましたが、プロシージャ名を指定していません。

 処置:	EXECUTEコマンドの構文をチェックしてください。詳細は、「EXECUTE」を参照してください。実行するパラメータのないプロシージャの名前を指定して、コマンドを再入力してください。

PDE-CXC002	指定したプログラム単位は、正しくコンパイルされていません。

 原因:	パラメータのないプロシージャを実行するためにEXECUTEコマンドを入力しましたが、事前にプロシージャをコンパイルしていませんでした。

 処置:	（COMPILEコマンドを使用して）プロシージャをコンパイルしてから、EXECUTEコマンドを再入力してください。詳細は、次の項を参照してください。

COMPILE（プログラム単位）

EXECUTE

PDE-DDB001	<local>が、現行の有効範囲内に定義されていません。

 原因:	ローカル・パラメータまたは変数の値にアクセスするためにDEBUG.GETxファンクションまたはDEBUG.SETx プロシージャをコールしましたが、指定した<local>は、現行の有効範囲の位置に定義されていません。

 処置:	SHOW LOCALSコマンドを使用して、現行の有効範囲の位置にあるローカル・パラメータおよび変数をリストしてください。その後、有効なローカル名を渡すように、DEBUG.GETx コールまたはDEBUG.SETxコールを変更してください。詳細は、次の項を参照してください。

SHOW（ローカル）

DEBUGパッケージ

PDE-DDB002	<local>は、指定した型ではありません。

 原因:	ローカル・パラメータまたは変数の値にアクセスするためにDEBUG.GETxファンクションまたはDEBUG.SETx プロシージャをコールしましたが、指定したローカルの基礎型がxと一致しませんでした。 たとえば、ローカルNUMBER型ファンクションDEBUG.GETNを使用してローカルCHAR型変数の値を取得しようとすると、このエラーが発生します。

 処置:	指定したローカルの基礎型をチェックし、その型に適したDEBUG.GETx サブプログラムまたはDEBUG.SETx サブプログラムをコールします。詳細は、「DEBUGパッケージ」を参照してください。

PDE-DDB004	値を設定できません。デバッグ情報がありません。

 原因:	使用できるデバッグ情報のない変数について、値を設定しようとしました。

 処置:	デバッグ情報を記録して、パッケージまたはプロシージャを再コンパイルしてください。

PDE-DDB005	変数の値を変更しようとして、不正な値によるエラーが発生しました。

 原因:	変数に不適切な値を設定しようとしました。 値が長すぎるか、範囲外です。

 処置:	変数の定義をチェックして、適切な値を設定してください。

PDE-DDB006	この機能はまだインプリメントされていません(IN変数の設定など)

 原因:	インプリメントされていない機能を実行しようとしました（デバッガ内におけるIN変数の値の設定など）。

 処置:	この機能はまだ使用できません。

PDE-DFF001	引数のデータ型がサポートされていません。

 原因:	ORA_FFIパッケージではサポートされていない1つ以上のデータ型を使用して、外部ファンクションのコールを定義しました。

 処置:	ORA_FFIパッケージでサポートされているデータ型を使用してください。サポートされるデータ型の詳細は、ご使用のオペレーティング・システム用のOracle製品マニュアルを参照してください。

PDE-DFF002	戻り値のデータ型がサポートされていません。

 原因:	ORA_FFIパッケージではサポートされていない戻り値のデータ型を使用して、外部ファンクションのコールを定義しました。

 処置:	ORA_FFIパッケージでサポートされている戻り値のデータ型を使用してください。サポートされるデータ型の詳細は、ご使用のオペレーティング・システム用のOracle製品マニュアルを参照してください。

PDE-DFF003	ライブラリをオープンできません: <library name>。

 原因:	外部ライブラリの外部ファンクションをコールしようとしましたが、指定したライブラリがないか、またはオープンできません。

 処置:	指定した外部ライブラリが存在するかどうかを確認し、その内容の読込みを許可されていることを確認してください。また、コールの中のライブラリ名のスペルをチェックしてください。

PDE-DFF004	ライブラリ<library name>にファンクション<function name>が見つかりません。

 原因:	外部ライブラリの外部ファンクションをコールしようとしましたが、指定したファンクションは、そのライブラリの中には見つかりませんでした。

 処置:	指定したライブラリ内にそのファンクションが含まれていることを確認してください。また、コールの中のファンクション名およびライブラリ名のスペルをチェックしてください。

PDE-DFF005	ライブラリ・ハンドルが不適切です。

 原因:	外部ライブラリへのライブラリ・ハンドルに関する操作を実行しようとしましたが、指定したハンドルが無効です。

 処置:	ライブラリ・ハンドルが、ORA_FFI.LOAD_LIBRARYまたはORA_FFI.FIND_LIBRARYによって戻された有効なハンドルであるかどうかを確認してください。

PDE-DFF006	ファンクション・ハンドルが不適切です。

 原因:	外部ファンクションへのファンクション・ハンドルに関する操作を実行しようとしましたが、指定したハンドルが無効です。

 処置:	ファンクション・ハンドルが、ORA_FFI.REGISTER_FUNCTIONまたはORA_FFI.FIND_FUNCTIONによって戻された有効なハンドルであるかどうかを確認してください。

PDE-DFF007	引数のサイズが大きすぎます。

 原因:	これまでに登録されたすべての引数の合計サイズが大きすぎます。

 処置:	このファンクションまたはプロシージャの取る引数を減らし、定義し直してください。

PDE-DIO001	無効なファイル・モード指定: <file mode>。

 原因:	テキスト・ファイルをオープンするためにTEXT_IO.FOPENファンクションをコールしましたが、無効なファイル・モードを指定する引数を渡しました。

 処置:	TEXT_IO.FOPENファンクションの構文をチェックしてください。詳細は、「TEXT_IOパッケージ」を参照してください。有効なファイル・モードを指定する引数を渡すように、TEXT_IO.FOPENコールを変更してください。

PDE-DIO002	現在オープンしていないファイルを操作しようとしました。

 原因:	テキスト・ファイルの読込みまたは書込みのためにTEXT_IOパッケージ内のサブプログラムをコールしましたが、オープンしているファイルと関係付けられていないファイル・ハンドルの引数を渡しました。

 処置:	TEXT_IO.FOPENファンクションを使用して、ファイルをオープンし、有効なファイル・ハンドルを戻してください。その後、もう一度引数として有効なファイル・ハンドルを渡すTEXT_IOサブプログラムをコールしてください。詳細は、「TEXT_IOパッケージ」を参照してください。

PDE-DLI001	位置が無効です。

 原因:	指定した位置は無効です。

 処置:	0以上でリストの長さより短い、新しい位置を指定してください。

PDE-DST001	ストアド・サブプログラムの引数が多すぎます。

 原因:	クライアント側のプログラム単位からストアド（サーバー側）サブプログラムをコールしましたが、失敗しました。 ストアド・サブプログラムに必要な引数は、現在Procedure Builderでサポートされている引数(100)よりも多いためです。

 処置:	ストアド・サブプログラムの必要とする引数を少なくして定義し直すか、またはデータベース側で旧サブプログラムをコールする、引数の少ない新しいストアド・サブプログラムを定義してください。詳細は、「ストアド・プログラム単位について」を参照してください。

PDE-DST002	SYS.PSTUBTBL内にストアド・プロシージャ<procedure name>のエントリが複数見つかりました。

 原因:	前に行ったあるプログラムの実行の結果として、データベース内のSYS.PSTUBTBL表にレコードが残っています。

 処置:	SYS.PSTUBTBL表のすべてのエントリを削除して、操作を再試行してください。

PDE-DST005	ストアド・プログラム単位<name>のクライアント・スタブが作成できません。 この名前のプログラム単位が既に存在します。

 原因:	ストアド・プログラム単位へのコールによって同じ名前のスタブ・プログラム単位がクライアント側に作成されます。同じ名前のプログラム単位がすでに存在するため、このスタブを作成できません。

 処置:	既存のプログラム単位を改名してください。

PDE-FCA001	サブシステム・エラーです。

 原因:	カーネルまたはPL/SQLサブシステムを起動する操作でエラーが発生しました。

 処置:	サブシステム・エラーについて適切な処置を行ってください。

PDE-ICD003	認識できないキーワード: <keyword>。

 原因:	コマンドを入力しましたが、コマンド文字列で指定したキーワードが無効です。

 処置:	入力したコマンドの構文をチェックしてください。詳細は、「インタプリタ・コマンドの使用」を参照してください。適切なキーワード、値およびそのコマンドのオプションを指定して、コマンドを再入力してください。

PDE-ICD004	'<command>'コマンドは<product_name>により使用不可にされています。

 原因:	別の製品によって使用不可にされているProcedure Builderコマンドを入力しました。

 処置:	実行中の製品のコンテキスト内で、入力したコマンドの構文をチェックしてください。適切なキーワード、値およびそのコマンドのオプションを指定して、コマンドを正確に再入力してください。

PDE-IIN002	ファイル<filename>をオープンできません。

 原因:	ファイルに格納されているProcedure Builderスクリプトを実行するためにINTERPRETコマンドを入力しましたが、指定のファイルがないか、またはそのファイルの読込み権限がありません。

 処置:	読込み権限のあるProcedure Builderスクリプトの含まれたファイルを指定して、INTERPRETコマンドを再入力してください。

PDE-IIN003	現行のPL/SQL実行スタックがありません。

 原因:	PL/SQLの実行状態にアクセスしようとする操作を実行しましたが、その時点で実行を中断されているPL/SQLプログラム単位がありませんでした。

 処置:	この操作を実行する場合は、PL/SQLプログラム単位を実行し、デバッグ・アクションを使用してその実行を中断する必要があります。詳細は、「デバッグ・アクションについて」を参照してください。

PDE-IIN004	デバッグ・アクションによって無効にされた実行時状態を再開できません。

 原因:	プログラム単位を実行しようとしましたが、デバッグ・トリガーのアクションによって実行状態が無効にされたために実行は異常終了しました。たとえば、RESETコマンドをコールするように定義されたデバッグ・トリガーのプログラム単位をコールすると、このエラー・メッセージを受け取ります。

 処置:	元のプログラム単位を再起動し、無効となるような操作をしないように注意してください。

PDE-IIN005	<command>は未知のコマンドです。

 原因:	存在しないコマンドを発行しました。

 処置:	インタプリタのコマンド・ラインからHELP COMMANDを入力して、有効なコマンドのリストを表示してください。Procedure Builderコマンドの詳細は、「アルファベット順のコマンド一覧」を参照してください。

PDE-IIN006	NULLコマンドは無効です。

 原因:	空のコマンド（例: DEBUG.INTERPRET('');）が発行されました。

 処置:	コマンド文字列を有効なコマンドに変更してください。

PDE-IKP002	余分なコマンド・キーワードが無視されました: <keywords>。

 原因:	コマンドを入力しましたが、キーワードが多すぎるか、またはコマンドが実行されるコンテキストには不適切な余分のキーワードが指定されています。たとえば、コマンドSHOW PROCEDURES BREAKPOINTSを入力すると、このエラー・メッセージを受け取ります。 同じコマンドの中で、プロシージャとブレークポイントの両方をリストすることはできないためです。

 処置:	入力したコマンドの構文をチェックしてください。詳細は、「インタプリタ・コマンドの使用」を参照してください。適切なキーワード、値およびそのコマンドのオプションを指定して、コマンドを再入力してください。

PDE-IKP003	接続するデータベースが指定されていません。

 原因:	データベースに接続するためにCONNECTコマンドを入力しましたが、接続文字列を指定していません。

 処置:	CONNECTコマンドの構文をチェックしてください。詳細は、「CONNECT」を参照してください。適切なキーワードおよび接続文字列を指定して、コマンドを正確に再入力してください。

PDE-IKP004	現在、データーベースに接続されていません。

 原因:	データベースにアクセスするコマンドを入力しましたが、現在データベースに接続されていません。

 処置:	データベースに接続して、コマンドを再入力してください。

PDE-IKP005	<progunit type> <progunit name>が未定義です。

 原因:	1つ以上のプログラム単位が指定されてコマンドが入力されましたが（LIST、DESCRIBE、BREAKなど）、指定されたプログラム単位の少なくとも1つが環境の中で定義されませんでした。

 処置:	環境の中で定義されているプログラム単位のみを指定して、コマンドを再入力してください。

PDE-IKP006	デバッグ・アクション<action ID>が未定義です。

 原因:	デバッグ・アクションIDについてのソース位置を指定したコマンドが入力されましたが（LIST、BREAKなど）、指定されたIDで既存のデバッグ・アクションが識別されませんでした。

 処置:	有効なデバッグ・アクションIDを指定して、コマンドを再入力してください。

PDE-IKP008	現在のソース位置が未定義です。

 原因:	位置の指定（LIST、STEP、BREAKなど）がないか、何もないところで現行の位置を指定したProcedure Builderコマンドが入力されました。

 処置:	有効な位置を指定して、コマンドを再入力してください。

PDE-IKP010	指定したトリガーは、複数のソース行に関係付けられています。

 原因:	デバッグ・アクションIDについてののソース位置を指定したコマンドが入力されましたが（LIST、DESCRIBE、BREAKなど）、指定されたIDは複数のソース行に連結されたトリガー（DEBUGや* triggerなど）を識別しました。

 処置:	1つのソース行に関係付けられたデバッグ・アクションを識別するIDを指定してコマンドを再入力するか、別の方法でソース位置を指定してください。

PDE-IKP011	スペースで区切られたトークンが必要です。

 原因:	Procedure Builderコマンド（たとえば、CONNECT）を入力し、スペースで区切られた文字列から構成される引数が必要なキーワード（たとえば、DB）を指定しましたが、引数を指定していません。

 処置:	そのキーワードに適した引数を指定して、コマンドを再入力してください。

PDE-IKP012	ファイル名が必要です。

 原因:	コマンド（たとえば、LOAD）を入力し、1つ以上のファイル名の引数が必要なキーワード（たとえば、FILE）を指定しましたが、ファイル名を指定していません。

 処置:	入力したコマンドの構文をチェックしてください。詳細は、「インタプリタ・コマンドの使用」を参照してください。適切なキーワード、値およびそのコマンドのオプションを指定して、コマンドを再入力してください。

PDE-IKP013	名前を指定してください。

 原因:	コマンド（たとえば、DELETE）を入力し、1つ以上のオブジェクト名の引数が必要なキーワード（たとえば、PROCEDURE）を指定しましたが、オブジェクト名を指定していません。

 処置:	入力したコマンドの構文をチェックしてください。詳細は、「インタプリタ・コマンドの使用」を参照してください。適切なキーワード、値およびそのコマンドのオプションを指定して、コマンドを再入力してください。

PDE-IKP014	ユーザー名が必要です。

 原因:	Procedure Builderコマンド（BREAKなど）が入力され、USERキーワードが指定されました。USERは引数（ユーザー名）を必要としますが、1つも指定されませんでした。

 処置:	入力したコマンドの構文をチェックしてください。詳細は、「インタプリタ・コマンドの使用」を参照してください。適切なキーワード、値およびそのコマンドのオプションを指定して、コマンドを再入力してください。

PDE-IKP015	ユーザー名と区切り文字が見つかりました。

 原因:	Procedure Builderコマンド（BREAKなど）が入力され、USERキーワードが指定されました。また、フォームUSER.PUにプログラム単位名も入力されました。ユーザー名を指定するメソッドを1つ選択する必要があります。構文PACKAGE.PUは、現在サポートされていません。

 処置:	入力したコマンドの構文をチェックしてください。詳細は、「インタプリタ・コマンドの使用」を参照してください。適切なキーワード、値およびそのコマンドのオプションを指定して、コマンドを再入力してください。

PDE-IKP016	USERが見つかりましたが、接続されていません。

 原因:	Procedure Builderコマンド（BREAKなど）が入力され、USERキーワードが指定されたか、あるいはUSER.PU表記法が使用されました。しかし、Oracleデータベースに接続されていません。構文PACKAGE.PUはサポートされていません。

 処置:	Oracleデータベースに接続して再度コマンドを試してください。

PDE-IKP017	このオペレーションはビルトイン・プログラム単位では実行できません。

 原因:	Procedure Builderコマンド(LIST、BREAKなど)を入力し、1つ以上のプログラム単位を指定しました。ただし、最低1つのプログラム単位がビルトインであり、このオペレーションはビルトインに対して実行できません。

 処置:	ビルトイン以外のプログラム単位を指定して、コマンドを再入力してください。

PDE-IPR002	有効な整数の引数が必要です。

 原因:	整数値が必要なキーワード（たとえば、LINE、COUNT）を指定してコマンドを入力しましたが、有効な整数を指定していません。

 処置:	入力したコマンドの構文をチェックしてください。詳細は、「インタプリタ・コマンドの使用」を参照してください。適切なキーワード、値およびそのコマンドのオプションを指定して、コマンドを再入力してください。

PDE-IPR003	ファイル名が許容される最大長を超えています。

 原因:	1つ以上のファイル名の引数を必要とするキーワード（たとえば、FILE）を指定してコマンドを入力しましたが、指定したファイル名が、サポートされる最大長の128バイトを超えています。

 処置:	最大長のバイト数以下になるようにファイルを改名または移動して、短くしたファイル名を使用してコマンドを再入力してください。

PDE-IPR004	SQL名またはPL/SQL名は、先行文字で始める必要があります。

 原因:	1つ以上の有効なSQL名またはPL/SQL名の引数を必要とするキーワード（たとえば、PROCEDURE）を指定してコマンドを入力しましたが、指定した名前が文字で始まっていません。

 処置:	文字で始まる正確なSQLオブジェクト名またはPL/SQLオブジェクト名を指定して、コマンドを再入力してください。

PDE-IPR005	引用符で囲まれる入力トークンの右側の引用符が見つかりません。

 原因:	二重引用符で始まるキーワード引数を指定してコマンドを入力しましたが、対応する側の引用符がありません。

 処置:	引用符を付ける引数に、対応する側の引用符を付けて、コマンドを再入力してください。

PDE-IPR006	SQL名またはPL/SQL名が最大長の30バイトを超えています。

 原因:	1つ以上の有効なSQL名またはPL/SQL名の引数を必要とするキーワード（たとえば、PROCEDURE）を指定してコマンドを入力しましたが、指定した名前は、許容される識別子の最大長の30バイトを超えています。

 処置:	許容される最大長を超えないようにSQLオブジェクト名またはPL/SQLオブジェクト名を指定して、コマンドを再入力してください。

PDE-IPR007	単なるコメントではなく、PL/SQL構文が求められています。

 原因:	PL/SQL文またはPL/SQLブロックを次に指定する必要のあるキーワード（たとえば、IS）を指定してコマンド（たとえば、TRIGGER）を入力しましたが、 PL/SQLコメントしか指定されていません。

 処置:	最初に指定したコメントのかわりにPL/SQL文またはPL/SQLブロックを指定して、コマンドを再入力してください。PL/SQL構文にコメントを関係付けたい場合は、PL/SQLブロックを入力し、コメントをBEGINおよびENDキーワードの中に入れてください。

PDE-IPR008	入力トークンが最大サイズの制限（128バイト）を超えています。

 原因:	コマンド（たとえば、CONNECT）を入力して、スペースで区切られた引数を必要とするキーワード（たとえば、DB）を指定しましたが、指定した引数が、許容される最大長の128バイトを超えています。

 処置:	指定する引数の値を小さくしてから、コマンドを再入力してください。

PDE-IPR009	<string>は、有効なSQL名ではありません。

 原因:	コマンド（たとえば、CONNECT）を入力し、SQL命名規則に従う必要のある文字列を指定しましたが、入力した文字列は無効でした。

 処置:	有効なSQL名を指定して、コマンドを再入力してください。

PDE-MCL001	キーワード<keyword>が2回以上指定されました。

 原因:	同じ引数をコマンド・ライン上で複数回指定しました。

 処置:	引数を1回のみ指定してください。複数の値を指定する場合は、それらの値をリスト値として指定してください。

PDE-MCL002	<keyword>は、有効なキーワードではありません。

 原因:	コマンド・ライン上で、無効なキーワード引数を指定しました。

 処置:	正しいキーワード引数を指定してください。

PDE-MCL003	位置引数がキーワード引数の後に指定されています。

 原因:	位置引数をキーワード引数の後に指定しました。

 処置:	すべての位置引数をキーワード引数の前に指定する必要があります。キーワード引数を指定した後は、それ以降のすべての引数もコマンド・ライン上でキーワード引数にする必要があります。

PDE-MCL004	キーワード<keyword>に対する無効な値。

 原因:	コマンド・ライン上で、キーワード引数に無効な値を指定しました。

 処置:	正しいキーワード値を指定してください。

PDE-MCL005	リスト値の書式が不適切です。

 原因:	コマンド・ライン上で、不適切に書式設定されたリスト値をキーワード引数に指定しました。

 処置:	正しい書式でリストを指定してください。

PDE-MCL006	キーワード<keyword>に対する無効なリスト入力。

 原因:	リスト値を受け入れないキーワードにリスト値を指定しました。

 処置:	キーワードに1つの値を指定してください。

PDE-OGN001	ソース・ノードの型が宛先ノードの型と一致しません。

 原因:	オブジェクト・ナビゲータで、不適切な型のオブジェクトをペーストまたはドロップしようとしました。

 処置:	適切な型の別のノードにオブジェクトをドラッグまたはペーストしてください。

PDE-OSC002	選択するすべてのオブジェクトは、同じ型でなければなりません。

 原因:	オブジェクト・ナビゲータで、すべて同じ型の選択済みオブジェクトに対して行う操作を実行しようとしました。

 処置:	同じ型のオブジェクトを選択して、操作を再試行してください。

PDE-PAL001	連結ライブラリの操作中にメモリー操作に失敗しました。

 原因:	Procedure Builderでは、連結ライブラリの操作を完了するために必要なメモリーをシステムから取得できません。

 処置:	可能であれば使用可能なメモリーを増やすか、システム管理者に連絡してください。

PDE-PAL005	ライブラリ<library name>を連結できません。 同じ名前のライブラリがすでに連結されています。

 原因:	すでに連結されているライブラリを連結しようとしました。

 処置:	ライブラリはすでに連結されているので、それをもう1度連結する必要はありません。

PDE-PAL006	ライブラリ<library name>は、現在連結されているかオープンされているため削除できません。

 原因:	データベースからライブラリを削除するためにDELETEコマンドを入力しましたが、指定したライブラリは、現在連結されているか、またはオープンされています。

 処置:	DETACHコマンドを使用してライブラリを連結解除するか、またはCLOSEコマンドを使用してライブラリをクローズしてから、DELETEコマンドを再入力してデータベースからライブラリを削除してください。詳細は、「DETACH」を参照してください。詳細は、「CLOSE」を参照してください。

PDE-PAL007	ライブラリ<library name>をデータベースから削除できません。

 原因:	データベースに格納されているライブラリを削除するためにDELETEコマンドを入力しましたが、次のいずれかの原因により、この操作に失敗しました。

A:	間違ったライブラリ名を指定しました。

B:	現在連結されているライブラリを指定しました。

 処置:	このエラーを解決するために、次の処置を行ってください。

Aの場合:	正確なライブラリ名を指定して、DELETEコマンドを再入力してください。

Bの場合:	DETACHコマンドを使用して指定のライブラリを連結解除し、DELETEコマンドを再入力してください。

PDE-PAL008	指定のライブラリは、現在連結されていないため参照できません。

 原因:	現在連結されていないライブラリを参照しようとしました。

 処置:	連結ライブラリの名前を指定して、操作を再試行してください。ライブラリの連結の詳細は、「ATTACH」を参照してください。

PDE-PAL015	生成済みのライブラリ<library name>の連結が試行されました。

 原因:	生成したランタイム専用のライブラリ（.PLX拡張子）を連結しようとしました。これはサポートされていません。

 処置:	生成したランタイム専用のライブラリ（.PLX拡張子）ではなく、ソース・ライブラリ（.PLL拡張子）を連結してください。

PDE-PAL016	ライブラリ<library name>をそのライブラリ自身に連結できません。

 原因:	ライブラリをそのライブラリ自身に連結しようとしました。これはサポートされていません。

 処置:	ライブラリとその内容は、すでにアクセスできる状態になっています。もう一度連結する必要はありません。

PDE-PBV002	バインド変数<variable name>はすでに存在します。

 原因:	CREATEコマンドを使用して新しいProcedure Builderバインド変数を宣言しようとしましたが、指定した名前のバインド変数がすでにあります。

 処置:	バインド変数に使用されていない一意の名前を指定して、CREATEコマンドを再入力してください。

PDE-PCB002	定義されていないバインド変数を参照しようとしました。

 原因:	PL/SQLプログラム単位の中のバインド変数を参照しようとしましたが、指定したバインド変数は定義されていません。

 処置:	プログラム単位を編集して、有効なバインド変数名を参照するバインド変数に変更し、再コンパイルしてください。

PDE-PCX002	現在実行中のコードがないため、中断または再開に失敗しました。

 原因:	GOコマンドまたはSTEPコマンドを使用してPL/SQLの実行を進めようとしましたが、その時点で実行を中断されているPL/SQLプログラム単位がありませんでした。

 処置:	GOコマンドまたはSTEPコマンドを使用する場合は、PL/SQLプログラム単位を実行し、デバッグ・アクションを使用してその実行を中断する必要があります。詳細は、「デバッグ・アクションについて」を参照してください。

PDE-PCX012	SYS.PSTUBTBLに予期しない行が含まれています。

 原因:	前に行ったあるプログラムの実行の結果として、データベース内のSYS.PSTUBTBL表にレコードが残っています。

 処置:	SYS.PSTUBTBL表のすべてのエントリを削除して、操作を再試行してください。

PDE-PCX021	中断中のリモート・プログラム単位の実行を中断できません

 原因:	ブレークポイントで中断されているリモート（サーバー側の）プログラム単位が実行されました。今切断が許可されると、すべての依存プログラム単位が無効になります。実行がリセットされるか終了されるまで切断できません。

 処置:	プログラム単位の実行をリセットまたは終了し、その後切断してください。

PDE-PEP005	別のマシン・アーキテクチャからのコード化プログラム単位を復号できません。

 原因:	Procedure Builderで、別のマシン・アーキテクチャ上で作成されたプログラム単位を復号しようとしました。この処理にはプログラム単位の再コンパイルが必要ですが、ソース・コードが見つかりませんでした。

 処置:	現行のマシン・アーキテクチャ上で作成されたプログラム単位を指定するか、またはソース・コードで保存された外部マシンからのコピーを使用してください。

PDE-PEP006	コード化プログラム単位の書式が不明です。

 原因:	Procedure Builderは、ライブラリ管理コードのサポートされていないバージョンによってコード化されたプログラム単位を復号しようとしました。

 処置:	これは、内部エラーです。継続方法の詳細は、「異常な状況」を参照してください。

PDE-PEP011	プログラム単位<progunit name>が大きすぎて格納できません。

 原因:	ライブラリ内にプログラム単位を格納しようとしましたが、そのプログラム単位の格納時の形態が、このオペレーティング・システムで許容される最大サイズを超えています。

 処置:	問題のプログラム単位を小さいプログラム単位に分けて、操作を再試行してください。

PDE-PEP014	プログラム単位<progunit name>はビルトイン・パッケージ中の名前と衝突しているため<progunit name>と改名されました。

 原因:	Procedure Builderのバージョン1では、ビルトイン・パッケージと同じ名前のプログラム単位を作成できましたが、バージョン2では作成できません。ビルトイン・パッケージと同じ名前のプログラム単位をロードするときは、Procedure Builderによって2つのドル記号が追加され、プログラム単位名が変更されます。たとえば、プロシージャDEBUGは、DEBUG$$になります。

 処置:	ロードする前にプログラム単位名を変更し、必要であれば、プログラム単位名へのすべての参照も更新します。

PDE-PER001	内部エラー: (<error code>)。

 原因:	異常な状態とも呼ばれる内部エラーを引き起こす操作を試行しました。エラー・コード（カッコ内）によって、そのエラーに関係付けられた内部ルーチンが指定されます。

 処置:	継続方法の詳細は、「異常な状況」を参照してください。

PDE-PLI005	読込み専用としてオープンされているライブラリを変更しようとしました。

 原因:	読込み専用として連結されているライブラリを編集しようとしました。

 処置:	編集するライブラリを連結解除してから、そのライブラリを読み書き両用としてもう1度連結します。詳細は、「ATTACH」を参照してください。

PDE-PLI006	作成中のライブラリは、すでに存在しています。

 原因:	現行のデータベースに新ライブラリを作成しようとしましたが、同じ名前のライブラリがすでにあります。

 処置:	ライブラリに使用されていない一意の名前を指定して、作成操作を再試行してください。

PDE-PLI007	このライブラリは、読み込み専用としてだけサポートされる旧書式になっています。

 原因:	バージョン1.0.5またはそれ以前のProcedure Builderによって作成されたライブラリを編集しようとしましたが、対象のライブラリは、それよりも新しいバージョンから読込み専用としてのみアクセスできます。

 処置:	旧ライブラリの内容を、読み書き両用のアクセスがサポートされた新ライブラリにコピーしてください。ライブラリをコピーするには、ライブラリ・エディタの「ファイル」 [image] 「別名保存...」を使用するのが一番簡単です。

PDE-PLI008	この操作は、データベース・ライブラリに対してだけサポートされています。

 原因:	RENAMEコマンドまたはDELETEコマンドを使用して、ファイル・システムに常駐するライブラリを改名または削除しようとしましたが、この操作はデータベースに常駐するライブラリに対してのみ使用できます。

 処置:	ネイティブ・オペレーティング・システムの適切な機能を使用して、ファイル・システムに常駐するライブラリを改名または削除してください。

PDE-PLI011	Tools共通スキーマ表がオブジェクト・ストアからなくなっています。

 原因:	データベースに格納されたライブラリを作成またはそのライブラリへのアクセスを行おうとしましたが、表がOracle Tools共通スキーマからなくなっていたため、操作に失敗しました。

 処置:	DBAに連絡して、Oracle Tools共通スキーマが正しくインストールされていることを確認してください。

PDE-PLI017	指定されたライブラリ<library name>は、データベース内に存在しません。

 原因:	ライブラリ操作を試行しましたが、指定したライブラリがデータベース内にありません。

 処置:	ライブラリ名のスペルをチェックし、既存のデーターベース・ライブラリを指定して操作を再試行してください。

PDE-PLI018	ライブラリ<library name>は見つかりません。

 原因:	ライブラリを指定してコマンドを入力しましたが、指定したライブラリがファイル・システムまたは現行のデータベース内に見つからないか、またはありません。

 処置:	使用するライブラリの正しい位置と名前を指定して、コマンドを再入力してください。

PDE-PLI020	ライブラリ<library name>に対する低レベルのオープンに失敗しました。

 原因:	ライブラリ操作を試行しましたが、指定したライブラリがオープンできませんでした。

 処置:	このエラーは、他のエラーと関連して発行されます。このエラーの処理方法については、関連した他のエラーの指示に従ってください。

PDE-PLI021	ライブラリ名<new library name>は現在使用中のため、<old library name>は改名できませんでした。

 原因:	現行のデータベース内に格納されたライブラリを改名するためにRENAMEコマンドを入力しましたが、指定した新規名は、既存のライブラリ名と同じです。

 処置:	別の名前を新規名として指定し、RENAMEコマンドを再入力してください。または、失敗したコマンドで指定した新規名を現在使用しているライブラリを改名してから、失敗したコマンドを再入力してください。

PDE-PLI023	ライブラリ<library name>の作成に失敗しました。

 原因:	ライブラリを作成しようとしましたが、指定したファイルはオープンできませんでした。 ほとんどの場合、次のいずれかが原因です。

A:	無効なライブラリ名を指定しました。

B:	すでにファイル内に存在しているライブラリ名を指定しましたが、ファイルを変更するために必要な権限がありません。

 処置:	このエラーを解決するために、次の処置を行ってください。

Aの場合:	有効なライブラリ名を指定して、操作を再試行してください。

Bの場合:	別のライブラリ名を指定して、操作を再試行してください。同じライブラリ名を使用する場合（既存のライブラリを効率的に上書きする）、その操作に必要な権限を得ているかどうかを確認してください。

PDE-PLI031	表<table name>からレコードをフェッチできません。

 原因:	レコードをフェッチするためにライブラリ操作を試行しましたが、失敗しました。

 処置:	すべてのProcedure Builder関連の表が正しくインストールされていることを確認してください。すべての表に問題がないようであれば、サポート担当に連絡してください。詳細は、「サポート担当への連絡」を参照してください。

PDE-PLI038	PL/SQLライブラリとして使用するためのファイルをオープンできません。

 原因:	PL/SQLライブラリが含まれたファイルをオープンしようとしましたが、ファイルに関する権限が適切でないか、指定のファイルに有効なライブラリが含まれていないか、またはファイルが別のアプリケーションによって使用中です。

 処置:	指定したファイル名のスペル、ファイルの権限、ファイルの内容をチェックして、有効なPL/SQLライブラリ・ファイルをオープンしようとしているかどうかを確認してください。これらの点に問題がないようであれば、他のアプリケーションまたはユーザーがこのファイルを使用していないかどうかをチェックしてください。その後、操作を再試行してください。

PDE-PLI040	プログラム単位<program unit name>の格納時の形態が大きすぎます。

 原因:	ライブラリからプログラム単位をロードしようとしましたが、プログラム単位の格納時の形態が大きすぎてこのオペレーティング・システム上のメモリーに読み込むことができません。

 処置:	このライブラリが最初に生成されたオペレーティング・システムに戻って、問題のプログラム単位を小さいプログラム単位に分けてください。

PDE-PLI041	データベース内の指定されたライブラリをロックできません。

 原因:	データベースのライブラリをREAD/WRITEとして連結しようとしましたが、ライブラリをロックできませんでした。ほとんどの場合、他のユーザーがこのライブラリをREAD/WRITEとして連結していることが原因です。

 処置:	可能であれば、ライブラリをREADONLY（読み込み専用）として連結してください。それ以外の場合は、ライブラリをREAD/WRITEとして連結しているユーザーを見つけて、そのユーザーがライブラリを連結解除した後、操作を再試行してください。

PDE-PLI043	ライブラリの旧バージョンを更新できません。

 原因:	ライブラリの旧バージョンを更新するためにライブラリ操作を試行しました。

 処置:	保存されているか、またはクローズされているライブラリをデータベースに格納する場合は、DE_ATTACHED_LIBS表を更新する必要があります。この表のアップグレードの詳細は、プラットフォームのインストール情報を参照してください。ライブラリをファイルに格納する場合は、 SAVE ASコマンドを使用して別のファイルにライブラリを保存してから、そのファイルを改名して元の旧バージョンと置き換えます。

PDE-PLI044	<library>に対する書込みロックを取得できません。別のプロセスがアクセスしている可能性があります。

 原因:	テンポラリ・ファイルを実際のファイル名に改名するためにライブラリ操作を試行しましたが、このファイルに対する書込みロックを取得できませんでした。

 処置:	保存中のファイルの書込み権限を得ていること、および他の使用によりロックされていないことをチェックしてください。あるいは、SAVE AS（上書き保存）コマンドによりデータを別のファイルに保存してください。

PDE-PLI045	一時ファイル<filename1>を<filename2>に改名できません。データが<filename1>に残っています。

 原因:	テンポラリ・ファイルを実際のファイル名に改名するためにライブラリ操作を試行しましたが、失敗しました。競合状態が続いたため、データをテンポラリ・ファイルに残さなければならなかったからです。

 処置:	一時ファイルからライブラリを再度オープンし、SAVE AS（上書き保存）コマンドを使用して保存してください。

PDE-PLI046	<library>の改訂番号が許可されている最大を超えています。

 原因:	ライブラリの変更回数が多すぎます。

 処置:	ライブラリを再度作成し、すべて再コンパイルしてください。

PDE-PLU005	プログラム単位がコンパイルされていません。

 原因:	コンパイル済みであるべきプログラム単位に対する操作が試行されましたが、コンパイルされていません。

 処置:	プログラム単位をコンパイルし、操作を再試行してください。

PDE-PLU008	外部参照<reference>をロードできません。

 原因:	外部プログラム単位に依存するプログラム単位を操作しようとしましたが、この外部プログラム単位はProcedure Builderにロードする必要があります。操作が失敗したのは、外部プログラム単位が見つからなかったためです。

 処置:	次のうちいずれかの処置をして、Procedure Builderで参照できるようにしてください。

 ファイルまたはライブラリから、手動で外部プログラム単位をロードした後、操作を再試行します。

 外部プログラム単位が含まれているライブラリに連結した後、操作を再試行します。

 ストアド・プログラム単位として外部参照を定義するOracle Serverに接続した後、操作を再試行します。

PDE-PLU011	外部から参照されたプログラム単位<progunit name>にデバッグ記号がありません。

 原因:	外部から参照されるプログラム単位にデバッグ記号が必要なプログラム単位を操作しようとしましたが、参照されたプログラム単位にはデバッグ記号がありません。

 処置:	参照するプログラム単位をProcedure Builderで再コンパイルしてから、操作を再試行してください。

PDE-PLU012	プログラム単位<progunit name>にデバッグ記号がありません。

 原因:	デバッグ記号が必要なプログラム単位を操作しようとしましたが、プログラム単位にはデバッグ記号がありません。

 処置:	プログラム単位をProcedure Builderで再コンパイルしてから、操作を再試行してください。

PDE-PLU021	プログラム単位のソースがありません。

 原因:	ソース・コードのないプログラム単位をコンパイルしようとしました。

 処置:	プログラム単位のソース・コードを提供し、再コンパイルしてください。

PDE-PLU022	スキーマ<schema>からはストアド・プログラム単位<program unit>へのアクセスはできません。

 原因:	アクセス権限のないストアド・プログラム単位にアクセスしようとしました。多くの場合、プログラム単位は別のスキーマにあります。

 処置:	プログラム単位へのアクセス権限を取得してください。

PDE-PLV001	現行のPL/SQL実行スタックがありません。

 原因:	ローカルの値を検査または変更しようとしましたが、その時点で実行を中断されている PL/SQLプログラム単位がありませんでした。

 処置:	Procedure Builder内でローカルの値を検査または変更する場合は、PL/SQLプログラム単位を実行し、デバッグ・アクションを使用してその実行を中断する必要があります。詳細は、「デバッグ・アクションについて」を参照してください。

PDE-PLV003	このプログラム単位に使用できるデバッグ記号はありません。

 原因:	ローカルの値を検査または変更しようとしましたが、このプログラム単位には、操作を実行するために十分なデバッグ情報がありません。

 処置:	プログラム単位を再コンパイルし、操作を再試行してください。

PDE-PMS001	指定したコール・スタックの枠番号は範囲外です。

 原因:	SET SCOPEコマンドを使用してコールスタック上にある枠に移動しようとしましたが、指定した枠がありません。

 処置:	コールスタック上の有効な枠を指定して、コマンドを再入力してください。詳細は、「SET（有効範囲）」を参照してください。

PDE-PMS002	現在の有効範囲が定義されていません。

 原因:	SET SCOPEコマンドを使用して現在の有効範囲を設定しようとしましたが、実行中のPL/SQLはなく、したがってコール・スタックがありません。

 処置:	SET SCOPEコマンドを使用できるのは、PL/SQコール・スタックがある場合のみです。詳細は、「SET（有効範囲）」を参照してください。

PDE-PMS003	指定された<progunit frame>のオカレンスは、現行の有効範囲の上方には見つかりません。

 原因:	SET SCOPE UP PROGRAMUNITコマンドを使用して、コール・スタックを指定のプログラム単位の枠より上に移動しようとしましたが、指定のプログラム単位に関係付けられた枠は、現行の枠より上にはありません。

 処置:	コール・スタックの中の現行の枠の上にあるプログラム単位の名前を指定して、コマンドを再入力してください。詳細は、「SET（有効範囲）」を参照してください。

PDE-PMS004	指定された<progunit frame>のオカレンスは現行の有効範囲の下方には見つかりません。

 原因:	SET SCOPE DOWN PROGRAMUNITコマンドを使用して、コール・スタックを指定のプログラム単位の枠より下に移動しようとしましたが、指定のプログラム単位に関係付けられた枠は、現行の枠より下にはありません。

 処置:	コール・スタックの中の現行の枠の下にあるプログラム単位の名前を指定して、コマンドを再入力してください。詳細は、「SET（有効範囲）」を参照してください。

PDE-PMS005	一番上のスタック・フレームより上には有効範囲を設定できません。

 原因:	SET SCOPE UPコマンドを使用してコール・スタックの上方へ移動しようとしましたが、1番上のスタックより上のフレームを指定しました。

 処置:	コールスタック上の有効な枠を指定して、コマンドを再入力してください。詳細は、「SET（有効範囲）」を参照してください。

PDE-PMS006	一番下のスタック・フレームより下には有効範囲を設定できません。

 原因:	SET SCOPE DOWNコマンドを使用してコール・スタックの下方へ移動しようとしましたが、1番下のスタックより下のフレームを指定しました。

 処置:	コールスタック上の有効な枠を指定して、コマンドを再入力してください。詳細は、「SET（有効範囲）」を参照してください。

PDE-PMS007	この時点で実行中または中断されているPL/SQLプログラム単位はありません。

 原因:	コール・スタックを検査、またはローカルの値にアクセスするProcedure Builder操作を試行しましたが、その時点で実行中または実行を中断されているPL/SQLプログラム単位はありませんでした。

 処置:	Procedure Builderからコール・スタックを調べたり、ローカルの値にアクセスする場合は、PL/SQLプログラム単位を実行し、デバッグ・アクションを使用してその実行を中断する必要があります。詳細は、「デバッグ・アクションについて」を参照してください。

PDE-PNS006	指定した名前領域が重複しています。

 原因:	同じ親名前領域下で、他の名前領域と同じ名前の新しい名前領域を作成しようとしました。

 処置:	別の名前を選択し、コマンドを再実行してください。

PDE-PNS009	連結ライブラリ<library name>は見つかりません。

 原因:	見つけられない連結ライブラリの名前を入力しました。

 処置:	ライブラリ名のスペルをチェックして、コマンドを再入力してください。

PDE-PNS010	親の指定がNULLのまま子の名前領域を作成しようとしました。

 原因:	存在しない親を持つ名前領域を作成しようとしました。

 処置:	最初に親の名前領域を作成し、次に子の名前領域を作成してください。

PDE-POL001	オープン・ライブラリの操作中にメモリー操作に失敗しました。

 原因:	Procedure Builderでは、オープン・ライブラリの操作を完了するために必要なメモリーをシステムから取得できませんでした。

 処置:	使用可能なメモリーを増やすか、システム管理者に連絡してください。

PDE-POL005	ライブラリ<library name>はオープンできません。 同名のライブラリがすでにオープンされています。

 原因:	すでにオープンしているライブラリをオープンしようとしました。

 処置:	ライブラリはすでにオープンしているので、それを再オープンする必要はありません。

PDE-POL007	ライブラリ<libray name>に対するロックの再獲得ができません。

 原因:	ライブラリを保存またはクローズしている間、Procedure BuilderはOracleトランザクション・モデルに従って、現在オープンしているすべてのライブラリを一時的にアンロックします。保存またはクローズの操作が完了すると、残りのすべてのオープン・ライブラリは再ロックされます。保存またはクローズの操作を完了してからロックを再獲得するまでの間に、別のユーザーがライブラリをロックしてしまった場合、このエラーが呼び出されます。

 処置:	ライブラリを変更した場合は、SAVEコマンドを使用して変更内容を含めた新ライブラリを作成してください。ライブラリを変更していなければ、ただちにライブラリをクローズし、変更内容を廃棄して、他のユーザーが加えた変更を上書きしないようにします。詳細は、次の項を参照してください。

SAVE

CLOSE

PDE-POL008	ライブラリ<library name>を保存できません。 SAVE AS（別名保存）を使用してください。

 原因:	SAVE（上書き保存）コマンドまたはCLOSE（クローズ）コマンドを入力して、外部に保存場所がない新ライブラリを保存またはクローズしようとしました。

 処置:	ライブラリの内容を保存する場合、ASオプションを指定したSAVEコマンド（別名保存）を使用して変更内容を保存するか、またはDISCARDオプションを指定したCLOSE（クローズ）コマンドを使用して変更内容を廃棄してください。QUITの操作中にこのエラーが発生した場合は、ライブラリを保存または廃棄した後、QUITの操作を再試行してください。詳細は、次の項を参照してください。

SAVE

CLOSE

PDE-POL009	<library name>の連結ライブラリ情報を保存できません。

 原因:	連結ライブラリ情報を保存するためにSAVE（上書き保存）コマンドを入力しましたが、指定したディレクトリ・パスおよびファイル名が、許容される最大文字数を超えています。

 処置:	短縮名を使用して、操作を再試行してください。そのためには、INSERT LOADPATHコマンドを使用してディレクトリ・パスをロード・パス内に挿入します。その後、ライブラリのベース名のみを指定して、SAVE（上書き保存）コマンドを再入力してください。詳細は、次の項を参照してください。

INSERT（ロード・パス）

SAVE

PDE-POL010	生成済みのライブラリ<library name>のオープンが試行されました。

 原因:	生成したランタイム専用のライブラリ（.PLX拡張子）をオープンしようとしました。これはサポートされていません。

 処置:	生成したランタイム専用のライブラリ（.PLX拡張子）のかわりに、ソース・ライブラリ（.PLL拡張子）をオープンしてください。

PDE-POL011	保存していないライブラリの回復を試みました。

 原因:	保存されていないライブラリを回復しようとしました。

 処置:	ライブラリを保存してから、回復してください。

PDE-PPR001	現在、データーベースに接続されていません。

 原因:	データベースにアクセスするProcedure Builderコマンドを入力しましたが、現在データベースに接続されていません。

 処置:	データベースに接続して、コマンドを再入力してください。

PDE-PPR003	This database does not support server-side debugging.

 原因:	バージョン7.3.3よりも前のデータベースは、サーバー側のデバッグをサポートしていません。

 処置:	サーバー側のデバッグをサポートするバージョンにデータベースをアップグレードする方法は、サポート担当に問い合せてください。

PDE-PPU003	プログラム単位の操作に無効な行番号を指定しました。

 原因:	プログラム単位のソース行を操作しようとしましたが、指定した行番号が範囲外です。

 処置:	このプログラム単位で有効な行番号を指定して、操作を再試行してください。

PDE-PPU007	<progunit name>の実行中はそのコンパイル状態を破棄できません。

 原因:	プログラム単位のコンパイル済み状態を無効にする操作を試行（通常、デバッグ・トリガーから）しましたが、プログラム単位が現在実行中であるため、許可されませんでした。

 処置:	プログラム単位の実行が完了してから、操作を行ってください。

PDE-PPU008	指定したソース行に関してコンパイルされた実行可能なコードはありません。

 原因:	プログラム単位にブレークポイントまたはデバッグ・トリガーを定義しようとしましたが、指定したソース行は実行可能なコードに対応していません。

 処置:	実行可能なソース行を指定して、デバッグ・アクションを定義し直してください。詳細は、「実行可能なソース行について」を参照してください。

PDE-PPU009	指定したプログラム単位はコンパイルされていません。

 原因:	コンパイル済みであるべきプログラム単位に対する操作が試行されましたが、コンパイルされていません。

 処置:	プログラム単位をコンパイルし、操作を再試行してください。

PDE-PPU014	ビルトイン・プログラム単位は変更または編集できません。

 原因:	ビルトイン・プログラム単位を変更または編集しようとしましたが、ビルトイン・プログラム単位に対して破壊操作は許可されていません。

 処置:	編集または変更できるのは、Procedure Builder内で作成されたか、またはそれにロードされたプログラム単位のみです。

PDE-PPU015	PL/SQLコンパイラを使用できません。

 原因:	PL/SQLコンパイラを必要とする操作を試行しましたが、ランタイム専用環境に入っていました。

 処置:	製品のコンパイル時のバージョンで操作を再試行してください。

PDE-PPU016	プログラム単位<program unit name>は読込み専用です。

 原因:	プログラム単位のソースを変更しようとしましたが、そのプログラム単位は読込み専用でした。

 処置:	読込み専用プログラム単位のソースは変更できません。

PDE-PPU017	このプログラム単位のソースには、<program unit type>の定義が必要です。

 原因:	プログラム単位のソースを作成または変更しようとしましたが、指定したソースには、必須の型のプログラム単位が定義されていません。

 処置:	指定した型のプログラム単位を定義するために、プログラム単位のソースを編集してください。

PDE-PPU020	プログラム単位<program unit>は大きすぎてこのプラットフォームではコンパイルできません。

 原因:	このプログラム単位のコンパイル済みのサイズは、現行のプラットフォーム上で処理できる最大サイズを超えています。

 処置:	プログラム単位を複数の小さいプログラム単位に分けて、プログラム単位のサイズを小さくしてください。

PDE-PPU026	スキーマ<schema>からはストアド・プログラム単位<program unit>へのアクセスはできません。

 原因:	アクセス権限のないストアド・プログラム単位にアクセスしようとしました。多くの場合、プログラム単位は別のスキーマにあります。

 処置:	プログラム単位へのアクセス権限を取得してください。

PDE-PRF003	リソース・ファイル<resource file name>をオープンできません。

 原因:	Procedure Builderでリソース・ファイルからリソースをロードしようとしましたが、ファイルがオープンできませんでした。

 処置:	Procedure Builderを再インストールして、再試行してください。

PDE-PSD001	<progunit name>のロード中に<progunit name>に対する参照を解決できませんでした。

 原因:	プログラム単位をロードしようとしましたが、そのプログラム単位が参照するプログラム単位またはデータベース・オブジェクトを解決できませんでした。

 処置:	連結されていないライブラリ内または接続していないデータベース内に、未解決のオブジェクトが常駐している可能性があります。適宜、必要なライブラリを連結するか、または別のデータベースに接続してから、操作を再試行してください。

PDE-PSP006	ファイル<file name>をオープンできません。

 原因:	プログラム単位をソース・ファイルからロードしようとしましたが、ファイルをオープンできませんでした。

 処置:	存在するファイルのうち読込み権限のあるファイルの名前を指定して、ロード操作を再試行してください。

PDE-PSP007	識別子名が長すぎます。

 原因:	長すぎるPL/SQL識別子（たとえば、プログラム単位の名前）を指定しました。識別子は30文字を超えてはいけません。

 処置:	30文字以下の識別子を指定して、操作を再試行してください。

PDE-PSX006	フレームが存在しません。

 原因:	このフレームでは変数の値を変更できません。

 処置:	他のフレームを選択してください。

PDE-PSX007	デバッグ情報がありません。

 原因:	プログラム単位にデバッグ情報がありません。

 処置:	プログラム単位をデバッグ・モードで再コンパイルしてください。

PDE-PSX008	フレーム中にそのような変数はありません。

 原因:	現在のフレームに存在しない変数に対して、アクセスまたは変更（あるいはその両方）を行おうとしています。

 処置:	他のフレームまたは他の変数を選択してください。

PDE-PSX010	値が正しくありません。

 原因:	その型について正しくない値を変数に設定しようとしました。

 処置:	変数に正しい値を設定してください。

PDE-PSX011	非NULLオブジェクトにはNULLを割り当てられません。

 原因:	タイプがNOT NULLのオブジェクトにNULL値を割り当てることはできません。

 処置:	オブジェクトを別のタイプとして宣言するか、NULL以外の値を割り当ててください。

PDE-PSX014	ランタイム情報が非互換です。

 原因:	サーバーにインストールされたPBRUNパッケージのバージョンは互換性がありません。

 処置:	PBRUNパッケージの現行のバージョンをサーバーにインストールしてください。

PDE-PSX017	指定されたソース行には実行可能なコードが存在しません。

 原因:	ブレークポイントを不正な行に設定しようとしました。

 処置:	ブレークポイントを有効な行に設定してください。

PDE-PSX018	そのようなブレークポイントはありません。

 原因:	存在しないブレークポイントに対して操作を実行しようとしました。

 処置:	ブレークポイントを設定してから、操作を実行してください。

PDE-PSX019	ブレークポイントは使われていません。

 原因:	このブレークポイントは使用されていません。

 処置:	ブレークポイントを削除してください。

PDE-PSX020	ブレークポイントが設定された後、プログラム単位が変更されました。

 原因:	ブレークポイントを設定してから、プログラム単位を変更しました。

 処置:	ブレークポイントを再設定してください。

PDE-PSX022	この機能はまだインプリメントされていません。

 原因:	Procedure Builderでまだインプリメントされていない機能を使用しようとしました。

 処置:	タスクを実行するための別の方法を探してください。

PDE-PSX023	PL/SQLサーバー・サイド・デバッグ機能がサーバーに正しくインストールされていません。

 原因:	PL/SQLサーバー・サイド・デバッグ機能がサーバーに正しくインストールされていません。

 処置:	PL/SQLサーバー・サイド・デバッグのパッケージをサーバーに再インストールしてください。

PDE-PSX033	サーバー上のPL/SQLサーバー・サイド・デバッグ・パッケージに互換性がありません。

 原因:	サーバーにインストールされているPL/SQLサーバー・サイド・デバッグ・パッケージは、Procedure Builderの現行のバージョンと互換性がありません。

 処置:	互換性のあるPL/SQLサーバー・サイド・デバッグ・パッケージをサーバーにインストールしてください。

PDE-PSX034	データベース・アクセスがタイムアウトしました。

 原因:	データベースへのアクセスがタイムアウトしました。

 処置:	データベースへのアクセスを再試行してください。どうしてもアクセスできない場合は、データベースがダウンしていないかどうか、管理者に問い合わせてください。

PDE-PSX036	プログラム単位が無効です。

 原因:	プログラム単位が正しくコンパイルされていなかったため、ブレークポイントを設定できませんでした。

 処置:	プログラム単位ソース内のエラーを修正し、再コンパイルして、ブレークポイントを再設定してください。

PDE-PSX037	このデータベースではサーバー・サイド・デバッグをサポートしていません。

 原因:	バージョン7.3.3より前のデータベースでは、サーバー・サイド・デバッグをサポートしていません。

 処置:	サーバー・サイド・デバッグをサポートするバージョンにデータベースをアップグレードする方法は、サポート担当にお問い合わせください。

PDE-PUP001	<Oracle Server error>。

 原因:	Procedure Builderで操作を試行しましたが、このOracle Serverエラーのため失敗しました。

 処置:	エラーの詳細は、Oracle Serverマニュアルのエラー・メッセージの項を参照してください。

PDE-PUP002	接続が有効ではなくなっているため、データベース操作に失敗しました。

 原因:	Procedure Builderで操作を試行しましたが、データベース接続が有効ではなくなっているため失敗しました。

 処置:	データベースに再接続して、操作を再試行してください。

PDE-PUP004	指定されたデータベースに接続できません(<Oracle Server error>)。

 原因:	データベースに接続しようとしましたが、失敗しました。 このエラーの原因として、次のうちいずれかが考えられます。接続文字列を誤って入力した。 データベースが常駐するマシンにアクセスできない。 データベースが存在しない。

 処置:	接続文字列を正確に入力したことを確認して、操作を再試行してください。また、サーバーおよびネットワークをチェックして、データベースが存在していてアクセス可能であることも確認してください。

PDE-PXC002	未処理例外(<exception code>)のためプログラム単位の実行が中止されました。

 原因:	プログラム単位を実行しましたが、例外が呼び出され、その例外がまったく処理されないために、プログラム単位は異常終了しました。

 処置:	例外を処理するようにプログラム単位を再定義するか、または例外の原因をアドレス指定してください。

PDE-PXC007	指定したコール・スタックの枠番号は範囲外です。

 原因:	SET SCOPEコマンドを使用してコールスタック上にある枠に移動しようとしましたが、指定した枠がありません。

 処置:	コールスタック上の有効な枠を指定して、コマンドを再入力してください。詳細は、「SET（有効範囲）」を参照してください。

PDE-PXC016	実行に失敗しました。 無効にされたコンパイル済みプログラム単位の状態に依存しています。

 原因:	GOコマンドまたはSTEPコマンドを使用して実行を再開しようとしましたが、中断されたPL/SQL実行状態がProcedure Builder内の以前の操作によって無効にされています。たとえば、ブレークポイントでコール・スタック上のプログラム単位を削除してから、GOコマンドで実行を再開すると、このエラーを受け取ることがあります。

 処置:	元のプログラム単位を再起動し、無効となるような操作をしないように注意してください。

PDE-PXC017	PL/SQLプログラム単位の実行は、現在禁止されています。

 原因:	PL/SQLプログラム単位を実行しようとしましたが、このコンテキストではPL/SQLの実行は禁止されています。たとえば、Oracle製品のランタイム・シミュレーション・モードになっていないときに、このエラーを受け取ることがあります。

 処置:	Oracle製品のランタイム・シミュレーション・モードになっているときに、PL/SQLプログラム単位を再実行してください。

PDE-PXC018	デバッグ・アクション・トリガーが実行を中断しようとしました。

 原因:	デバッグ・トリガーまたはブレークポイント・トリガーを使用してプログラム単位の実行を中断しようとしましたが（通常、DEBUG.SUSPENDをコールします）、このコンテキストでは中断が禁止されています。

 処置:	問題のデバッグ・トリガーまたはブレークポイントを再定義し、実行を中断するトリガー本体内のコールを削除してから、操作を再試行してください。

PDE-PXC019	<Program unit execution error>。

 原因:	プログラム単位を実行しましたが、アプリケーション・エラーが呼び出されたため、異常終了しました。

 処置:	エラー原因および適切な処理の詳細は、アプリケーションのマニュアルを参照してください。

PDE-PXC024	引数と共に無名ブロックを実行できません。

 原因:	引数と共に無名のプログラム単位（コマンド・プロンプトで入力されたものなど）の実行が試行されました。これは現在サポートされていません。

 処置:	コマンドを自己完結のプログラム単位として書き直し、それをコマンド・ラインから実行してください。

PDE-PXC030	現時点で無効なコマンド。

 原因:	更新中または停止されたデバッグ・コンテキスト（つまり、ブレーク・ポイントで停止したプログラム単位）が存在しないときに、これを必要とする操作が試行されました。

 処置:	実行が中断されたときにのみ、このコマンドを使用してください。

PDE-SDEQT001	クイック・ツアーが見つかりません。クイック・ツアーを再インストールして、やり直してください。

 原因:	クイック・ツアー実行可能ファイルが見つかりませんでした。

 処置:	クイック・ツアーを再インストールし、再試行してください。

PDE-SDEUE002	タブ・サイズに範囲外の値が設定されています。デフォルト値の2を使用します。

 原因:	タブ・サイズに2から100の有効な範囲にない値が含まれています。

 処置:	2から100の範囲でタブ・サイズの値を設定してください。

PDE-UAC003	ユーザー名を入力してください。

 原因:	「アクセス権限リスト」ダイアログ・ボックスで、「追加」または「削除」ボタンを選択しましたが、最初にユーザーの選択または入力を行いませんでした。

 処置:	ユーザー名を選択または入力して、再試行してください。

PDE-UAC004	ユーザーは、すでにアクセス・リスト内に存在しています。

 原因:	アクセス・リスト内にすでに存在しているユーザー名を、「アクセス権限リスト」ダイアログ・ボックスで追加しようとしました。

 処置:	新しいユーザー名を選択または入力して、再試行してください。

PDE-UAL002	ライブラリを指定してください。

 原因:	「連結ライブラリ」ダイアログ・ボックスで「連結」ボタンを選択しましたが、連結するライブラリを指定していません。

 処置:	「ライブラリ」フィールドで連結するライブラリを指定してから、「連結」ボタンを選択してください。

PDE-UBK002	プログラム単位を指定してください。

 原因:	「ブレークポイント」ダイアログ・ボックスで「OK」ボタンを選択しましたが、プログラム単位を指定していません。

 処置:	「プログラム単位」フィールドでブレークポイントを設定するプログラム単位を指定してから、「OK」ボタンを選択してください。

PDE-UBK003	行番号を指定してください。

 原因:	「ブレークポイント」ダイアログ・ボックスで「OK」ボタンを選択しましたが、行番号を指定していません。

 処置:	「行」フィールドでブレークポイントを設定する行番号を指定してから、「OK」ボタンを選択してください。

PDE-UBK004	トリガーは、完全なPL/SQLコードでなければなりません。

 原因:	「ブレークポイント」ダイアログ・ボックスで「OK」ボタンを選択しましたが、完全なPL/SQL構文を「トリガー」フィールドに指定していません。

 処置:	完全なPL/SQL構文を「トリガー」フィールドに指定してから、「OK」ボタンを選択してください。

PDE-UBP004	上には移動できません。 最初のメッセージに置かれています。

 原因:	「エラー・サマリー」ウィンドウで上へ移動して前のメッセージを選択しようとしましたが、すでに最初のメッセージに位置しています。

 処置:	最初のメッセージの位置で、上向きの矢印キーを操作しないでください。

PDE-UBP005	下には移動できません。 最後のメッセージに置かれています。

 原因:	「エラー・サマリー」ウィンドウで下へ移動して次のメッセージを選択しようとしましたが、すでに最後のメッセージに位置しています。

 処置:	最後のメッセージの位置で、下向きの矢印キーを操作しないでください。

PDE-UCN002	ユーザー名を指定してください。

 原因:	「接続」ダイアログ・ボックスで「接続」ボタンを選択しましたが、ユーザー名を指定していません。

 処置:	「ユーザー名」フィールドで有効なユーザー名を入力してから、「接続」ボタンを選択してください。

PDE-UCX005	ウィンドウ・リソース<resource name>のロードに失敗しました。

 原因:	Procedure Builderで、ウィンドウを作成しようとして失敗しました。ほとんどの場合、すべてのウィンドウ・リソースを使い尽くしたか、または内部エラーを検出したことが原因です。

 処置:	多数の（つまり、30より多い）ウィンドウをオープンしている場合は、必要なだけの数のウィンドウをクローズしてウィンドウ・リソースを解放した後、操作を再試行してください。引き続き問題が発生する場合は、サポート担当に連絡してください。Oracleへの問合せの詳細は、「サポート担当への連絡」を参照してください。

PDE-UDD002	オブジェクトが選択されていません。

 原因:	データベース・オブジェクトに関する操作を実行するためにボタンを選択しましたが、操作するオブジェクトの名前を選択または入力していません。

 処置:	データベース・オブジェクトの名前を選択または入力して、再試行してください。

PDE-UDD003	新規名を入力してください。

 原因:	「ライブラリ改名」ダイアログ・ボックスで「改名」ボタンを選択しましたが、ライブラリの新規名を入力していません。

 処置:	「新規名」フィールドにライブラリの新規名を入力して、再試行してください。

PDE-UGS002	プログラム単位が見つかりません。

 原因:	プログラム単位での「検索と置換」ダイアログ・ボックスの「結果」ボックスで、選択されたプログラム単位に対して置換操作または編集操作を実行しようとしましたが、選択されたプログラム単位が見つかりませんでした。

 処置:	「結果」ボックス内のプログラム単位リストは古い可能性があります。もう一度検索操作を実行して、「結果」ボックス内のリストをリフレッシュしてください。

PDE-UIN002	ファイル名を指定してください。

 原因:	「インタプリタ・デバッグ・スクリプト」ダイアログ・ボックスで「インタプリタ」ボタンを選択しましたが、解釈するファイルを指定していません。

 処置:	「ファイル」フィールドに希望するファイル名を入力して、再試行してください。

PDE-ULD002	ファイル名を指定してください。

 原因:	「プログラム単位のロード」ダイアログ・ボックスで「ロード」ボタンを選択しましたが、ロードするファイルを指定していません。

 処置:	「ファイル」フィールドに希望するファイル名を入力して、再試行してください。

PDE-ULD003	プログラム単位<progunit name>がコンパイル・エラーと共にロードされました。

 原因:	「プログラム単位のロード」ダイアログ・ボックスを使用してファイル内に格納されたプログラム単位をロードしましたが、プログラム単位にはコンパイル・エラーが1つ以上含まれています。

 処置:	「プログラム単位」エディタを使用して、ロードしたプログラム単位を編集し、コンパイルしてください。詳細は、「プログラム単位エディタ」を参照してください。

PDE-ULD004	ファイル<filename>に有効なPL/SQLソースが含まれていません。

 原因:	「プログラム単位のロード」ダイアログ・ボックスを使用してファイルの内容をロードしましたが、指定したファイルには有効なPL/SQLソースが含まれていません。

 処置:	ロードするPL/SQLソースが含まれたファイルの名前を入力して、操作を再試行してください。

PDE-ULG002	ログ・ファイルが指定されていません。

 原因:	「ログ・インタプリタ」ダイアログ・ボックスで「OK」ボタンを選択しましたが、ログ・ファイルを指定していません。

 処置:	「ファイル」フィールドに希望するファイル名を入力して、再試行してください。

PDE-UMG003	上には移動できません。 最初のメッセージに置かれています。

 原因:	メッセージ・ペインで上へ移動して前のメッセージを選択しようとしましたが、すでに最初のメッセージに位置しています。

 処置:	最初のメッセージの位置で、上向きの矢印キーを操作しないでください。

PDE-UMG004	下には移動できません。 最後のメッセージに置かれています。

 原因:	メッセージ・ペインで下へ移動して次のメッセージを選択しようとしましたが、すでに最後のメッセージに位置しています。

 処置:	最後のメッセージの位置で、下向きの矢印キーを操作しないでください。

PDE-UMP004	上には移動できません。 最初のメッセージに置かれています。

 原因:	メッセージ・ペインで上へ移動して前のメッセージを選択しようとしましたが、すでに最初のメッセージに位置しています。

 処置:	最初のメッセージの位置で、上向きの矢印キーを操作しないでください。

PDE-UMP005	下には移動できません。 最後のメッセージに置かれています。

 原因:	メッセージ・ペインで下へ移動して次のメッセージを選択しようとしましたが、すでに最後のメッセージに位置しています。

 処置:	最後のメッセージの位置で、下向きの矢印キーを操作しないでください。

PDE-UNP001	プログラム単位名を指定してください。

 原因:	「新規プログラム単位」ダイアログ・ボックスで「OK」ボタンを選択しましたが、プログラム単位名を指定していません。

 処置:	「名前」フィールドにプログラム単位名を指定してから、「OK」ボタンを選択してください。

PDE-UNP002	ユーザー命名ストアド・プログラム単位<name>が既に存在します。

 原因:	新しいストアド・プログラム単位を作成しようとしましたが、同じ名前のストアド・プログラム単位がすでにあります。

 処置:	使用されていないストアド・プログラム単位名を「名前」フィールドに指定してから、再試行してください。

PDE-UNP003	ストアド・プログラム単位名が無効です。

 原因:	無効な名前で、新しいストアド・プログラム単位を作成しようとしました。

 処置:	「名前」フィールドに有効なストアド・プログラム単位名を指定してから、再試行してください。

PDE-UOL002	ライブラリ名を指定してください。

 原因:	「オープン・ライブラリ」ダイアログ・ボックスで「オープン」ボタンを選択しましたが、ライブラリ名を指定していません。

 処置:	「ライブラリ」フィールドにライブラリ名を指定してから、「オープン」ボタンを選択してください。

PDE-UPF006	ファイル<filename>をオープンできません。

 原因:	PL/SQLフィールド内でファイルのインポートまたはエクスポートを試行しましたが、ファイルをオープンできませんでした。

 処置:	インポートする場合は、存在するファイルを指定してください。エクスポートする場合は、書込み権限のあるファイルを指定してください。その後、再試行してください。

PDE-UPW004	プログラム単位<progunit name>は、すでに別のエディタ・ウィンドウで編集が行われています。

 原因:	別のエディタ・ウィンドウですでに編集中になっているプログラム単位を編集しようとしました。

 処置:	オープンしているエディタ・ウィンドウに移動して、プログラム単位を編集してください。

PDE-UQT001	クイック・ツアーが見つかりませんでした。

 原因:	クイック・ツアー・ファイルが正しくインストールされませんでした。

 処置:	クイック・ツアー・ファイルを再インストールしてください。

PDE-USR005	検索文字列を指定してください。

 原因:	検索または置換の操作を実行するために、「検索と置換」ダイアログ・ボックスでボタンを選択しましたが、「検索文字列」フィールドに検索文字列を入力しませんでした。

 処置:	「検索文字列」フィールドに検索文字列を入力して、操作を再試行してください。

PDE-USR006	正規表現が無効です。

 原因:	「検索と置換」ダイアログ・ボックスを使用して、正規表現を検索しようとしましたが、「検索文字列」フィールドに入力した文字列が解析できません。

 処置:	リテラル文字として使用したときに、エスケープ文字(\)を直前に指定しなかった、特殊なワイルドカード文字(,、(、)、~など)がないかどうか「検索文字列」フィールドでチェックしてください。

PDE- USW002	ストアド・プログラム単位のソースが不完全です。

 原因:	データベースでストアド・プログラム単位のコンパイルが試行されましたが、プログラム単位のソースは完全なPL/SQL構文ではありません。

 処置:	完全なPL/SQL構文をストアド・プログラム単位のソースとして入力してから、再コンパイルしてください。

PDE-UTA001	属性名を指定してください。

 原因:	「属性」ダイアログ・ボックスで、属性名を指定せずに「OK」ボタンを選択しました。

 処置:	「属性名」テキスト・ボックスで属性の名前を指定し、再試行してください。

PDE-UTE003	ファイル<filename>をオープンできません。

 原因:	テキスト編集フィールド内でファイルのインポートまたはエクスポートを試行しましたが、ファイルをオープンできませんでした。

 処置:	インポートする場合は、存在するファイルを指定してください。エクスポートする場合は、書込み権限のあるファイルを指定してください。

PDE-UTG002	トリガー名を指定してください。

 原因:	「データベース・トリガー」ダイアログ・ボックスで「保存」ボタンを選択しましたが、トリガー名を指定していません。

 処置:	「名前」フィールドにトリガー名を指定してから、「保存」ボタンを選択してください。

PDE-UTG003	表名を指定してください。

 原因:	「データベース・トリガー」ダイアログ・ボックスで「保存」ボタンを選択しましたが、実表を指定していません。

 処置:	「表」フィールドにトリガーの実表を指定してから、「保存」ボタンを選択してください。

PDE-UTG004	トリガー本体は、完全なPL/SQLコードでなければなりません。

 原因:	「データベース・トリガー」ダイアログ・ボックスで「保存」ボタンを選択しましたが、トリガー本体の完全なPL/SQL構文を指定していません。

 処置:	トリガー本体に完全なPL/SQL構文を指定してから、「保存」ボタンを選択してください。

PDE-UTG005	トリガーを設定する文を指定してください。

 原因:	「データベース・トリガー」ダイアログ・ボックスで「保存」ボタンを選択しましたが、トリガーを起動するSQL文を指定していません。

 処置:	トリガーを起動するSQL文を少なくとも1つ指定してください。SQL文は、3つまで指定することができます。

PDE-UTG006	破棄しているトリガーは無効です。

 原因:	トリガーを編集しようとしましたが、トリガーが1つも選択されていません。

 処置:	「作成」ボタンを選択して、新しいトリガーを作成してください。

PDE-UTG007	トリガーにエラーがあります。

 原因:	トリガー内のエラーは、構文エラーまたは参照が未解決である可能性があります。

 処置:	トリガーを編集してください。

PDE-UTM001	メソッド名を指定してください。

 原因:	「メソッド」ダイアログ・ボックスで、メソッド名を指定せずに「OK」ボタンを選択しました。

 処置:	「メソッド名」テキスト・ボックスでメソッドの名前を指定し、再試行してください。

PDE-UTM002	パラメータ名を指定してください。

 原因:	「メソッド」ダイアログ・ボックスでパラメータを追加するボタンを選択しましたが、パラメータ名を指定しませんでした。

 処置:	「パラメータ名」テキスト・ボックスでパラメータの名前を指定し、再試行してください。

PDE-UTR002	プログラム単位を指定してください。

 原因:	「トリガー」ダイアログ・ボックスで「OK」ボタンを選択しましたが、プログラム単位を指定していません。

 処置:	「プログラム単位」フィールドにトリガーを設定するプログラム単位を指定してから、「OK」ボタンを選択してください。

PDE-UTR003	行番号を指定してください。

 原因:	「トリガー」ダイアログ・ボックスで「OK」ボタンを選択しましたが、行番号を指定していません。

 処置:	「行」フィールドにトリガーを設定する行番号を指定してから、「OK」ボタンを選択してください。

PDE-UTR004	トリガー本体は、完全なPL/SQLコードでなければなりません。

 原因:	「トリガー」ダイアログ・ボックスで「OK」ボタンを選択しましたが、完全なPL/SQL構文を「トリガー本体」フィールドに指定していません。

 処置:	完全なPL/SQL構文を「トリガー本体」フィールドに指定してから、「OK」ボタンを選択してください。

PDE-UTW002	型名を指定してください。

 原因:	有効な型名を入力しませんでした。

 処置:	「タイプ名」テキスト・ボックスで型の名前を指定してから、次のステップへ進んでください。

PDE-UTW003	指定されたユーザー定義型をデータベースで作成できませんでした。

 原因:	タイプ・ウィザードを使用してユーザー定義型を作成しようとしましたが、原因不明の理由によって操作が失敗しました。

 処置:	タイプ・ウィザードの最終ページで、生成されたSQLコマンドを調べてください。エラーが見つかった場合は修正し、再試行してください。

PDE-XDA001	日付の操作が失敗しました。

 原因:	Procedure Builderで日付の操作を試行しましたが、失敗しました。

 処置:	詳細は、Oracle Serverマニュアルのエラー・メッセージの項を参照してください。

PDE-XGS004	検索文字列を指定してください。

 原因:	検索または置換の操作を実行するために、「検索と置換」ダイアログ・ボックスでボタンを選択しましたが、「検索文字列」フィールドに検索文字列を入力しませんでした。

 処置:	「検索文字列」フィールドに検索文字列を入力して、操作を再試行してください。

PDE-XGS005	正規表現が無効です。

 原因:	「検索と置換」ダイアログ・ボックスを使用して、正規表現を検索しようとしましたが、「検索文字列」フィールドに入力した文字列が解析できません。

 処置:	リテラル文字として使おうとして、エスケープ文字(\)を直前に指定しなかった、特殊なワイルドカード文字(,、(、)、~など)がないかどうか「検索文字列」フィールドでチェックしてください。詳細は、「正規表現」を参照してください。


タイプ・ウィザードについて

タイプ・ウィザードの指示に従って操作を行うと、新しいOracle8ユーザー定義データ型の作成に必要なステップを実行できます。作成するデータ型は、オブジェクト・タイプまたはコレクション・タイプになります。

オブジェクト・タイプとは、構造化されたデータ単位の要素または属性を指定するテンプレートのことです。属性は、ビルトイン・データ型またはその他の構造化されたデータ単位です。オブジェクト・タイプは、対象のデータ単位に実行できる操作またはメソッドも指定します。メソッドは、PL/SQLで記述され、データベースに格納されたファンクションまたはプロシージャです。これらは、C言語で記述され、外部に格納されることもあります。

コレクション・タイプとは、表タイプまたは可変配列タイプのことです。各コレクション・タイプは、すべてが同じデータ型で、数に制限のない要素によって構成されるデータ単位を記述します。

表タイプまたはネストされた表とは、順序付けのされていない一連のデータ要素です。このデータ要素は単一列で、ビルトイン・データ型またはオブジェクト・タイプです。オブジェクト・タイプの場合、この表は、オブジェクト・タイプの属性ごとに単一列が構成される複数列表として表示することもできます。

可変配列タイプ、つまりVARRAYは、順序付けされた一連のデータ要素です。このデータ要素は、要素の数が可変で、配列のサイズを参照します。可変配列タイプを宣言するときは、最大サイズを指定する必要があります。

タイプ・ウィザードを使用すると、(属性およびメソッドを指定した)オブジェクト・タイプ、表タイプまたはVARRAYを作成できます。特に、次のタスクを実行する場合は、タイプ・ウィザードを使用してください。

•	オブジェクト・タイプの名前、属性およびメソッドを指定します。

•	表タイプまたはVARRAYの名前およびデータ型の情報を指定します。

•	オブジェクト・タイプの属性を追加、編集または削除します。

•	オブジェクト・タイプのメソッドを追加、編集または削除します。

•	オブジェクト・タイプのメソッドの制限を定義します。

タイプ・ウィザード内での移動

ページ間を移動しやすくするために、次のボタンが用意されています。

•	「取消」-加えた変更をすべて取り消して、ウィザードを終了します。

•	「ヘルプ」-ウィザードの現在のページにオンライン・ヘルプのテキストを表示します。

•	「戻る」-ウィザードの前のページに移動します。

•	「次へ」-ウィザードの次のページに移動します。

•	「完了」-このウィザードで加えた変更内容を保存して、ウィザードを終了します。

注意: ある特定のページに必要なすべての情報を入力する前に「次へ」または「戻る」をクリックした場合でも、このウィザードでは、次の(または前の)ページには移動できないようになっています。同様に、「完了」をクリックしたときに必要な情報がウィザードにすべて入力されていないと、このウィザードから、必要なデータ入力を終了するためのページに自動的に移動します。


タイプ・ウィザード: 「タイプの選択」のページ

次のステップ	関連項目

作成するOracle8タイプを選択する手順は、次のとおりです。

1	「タイプの選択」のページで、ラジオ・ボタンをクリックして、作成するオブジェクトまたはコレクションのタイプを指定します。

次の2つのいずれかが選択されます。

•	「オブジェクト」を選択すると、タイプ・ウィザードから属性およびメソッドを追加できます。

•	「コレクション」を選択すると、タイプ・ウィザードからコレクション・タイプの種類やそのデータ型を指定できます。

2	「タイプ名」テキスト・ボックスに名前を入力します。

3	「次へ」をクリックすると、選択に基づいて次のオブジェクト・タイプのページまたはコレクション・タイプのページが表示されます。


タイプ・ウィザード: 「オブジェクト・タイプ属性の定義」のページ

次のステップ	関連項目

属性を追加する方法は、次のとおりです。

「オブジェクト・タイプ属性の定義」のページで、「追加」をクリックします。

「属性」ダイアログ・ボックスが表示されます。

属性を編集する方法は、次のとおりです。

「オブジェクト・タイプ属性の定義」のページで、属性を1つ選択して「編集」をクリックします。

または

リスト・ボックスで属性を1つダブルクリックします。

「属性」ダイアログ・ボックスが表示されます。

属性を削除する方法は、次のとおりです。

1	「オブジェクト・タイプ属性の定義」のページで、属性を1つ選択して「削除」をクリックします。

メッセージ・ボックスが表示され、削除の確認を求めてきます。

2	「はい」をクリックして、強調表示された属性を削除します。

属性定義の順序を変更する方法は、次のとおりです。

リスト・ボックスで、移動する属性をクリックおよびドラッグして、新しく置く場所でドロップします。

オブジェクト・タイプの暗黙コンストラクタ・メソッドのパラメータの順序を変更する場合は、この方法を使用してください。(コンストラクタ・メソッドは、該当するタイプのインスタンスを作成します。)

コンストラクタ・メソッドのパラメータは、オブジェクト・タイプの属性です。したがって、これらのパラメータの順序は、そのタイプの属性定義の順序と同じになります。


「属性」ダイアログ・ボックス

「属性」ダイアログ・ボックスでは、あるオブジェクト・タイプに新しい属性を追加したり、既存の属性を編集できます。

属性名	属性の名前を入力します。
データ型	コンボ・ボックスにビルトイン・データ型を入力するか、またはドロップダウン・リストから選択します。使用可能なオブジェクト・タイプを参照するには、「...」ボタンをクリックして、「タイプ選択」ダイアログ・ボックスを表示します。
長さ	数値を入力するか、または上向き矢印や下向き矢印を使用して数値を選択します。
精度	(数値データ型のみ) 総桁数の数値を入力します。
スケール	(数値データ型のみ) 小数点以下の桁数を指定する数値を入力します。


「タイプ選択」ダイアログ・ボックス

「タイプ選択」ダイアログ・ボックスでは、現在接続されているデータベース内のアクセス可能な既存のOracle8ユーザー定義データ型を参照して選択できます。

タイプ	「Object」、「Collection」、「ALL」のいずれかを選択して、「所有者」ドロップダウン・リストに表示されているユーザー名によって所有されている該当のデータ型を表示します。 オブジェクト・タイプの定義時には、オブジェクトのデータ型として他のオブジェクト・タイプや他のコレクション・タイプを選択できます。 コレクション・タイプの定義時には、オブジェクトのデータ型に他のコレクション・タイプを選択することはできません。「ALL」オプションは、コレクション・タイプの定義時には使用不可です。
所有者	アクセス可能なユーザー定義データ型の所有者ドロップダウン・リストを表示します。  ある所有者名を選択するか、または「ALL」を選択してすべての所有者のデータ型を表示します。
リスト・ボックス	「タイプ」フィールドおよび「所有者」フィールドで選択したデータ型のタイプおよび名前を表示します。アクセス権限のあるデータ型のみが表示されます。 「所有者」フィールドで「ALL」を選択すると、リストの名前に、それぞれドット区切り表記のスキーマ名が接頭辞として付加されます。 「タイプ」フィールドで「ALL」を選択すると、それぞれの名前に丸カッコで囲まれたタイプが付加されます。   データ型を選択するには、リスト内のデータ型名をクリックします。
オブジェクトへの参照	リスト・ボックスにある選択（強調表示）されたオブジェクト・タイプのオブジェクト参照（REF）を選択する場合は、このチェックボックスにチェック・マークを付けます。 リスト・ボックス内の選択（強調表示）されたオブジェクト・タイプのオブジェクト・インスタンスを選択する場合は、このチェックボックスのチェックを外します。 オブジェクト・タイプにのみ利用可能です。
OK	リスト内で強調表示されたデータ型を選択して、このダイアログ・ボックスを閉じます。


タイプ・ウィザード: 「オブジェクト・タイプ・メソッドの定義」のページ

次のステップ	関連項目

メソッドは、PL/SQLで記述され、データベースに格納されたファンクションやプロシージャです。これらは、C言語で記述され、外部に格納されることもあります。メソッドは、オブジェクト・タイプの動作特性を記述します。

メソッドを追加する方法は、次のとおりです。

「オブジェクト・タイプ・メソッドの定義」のページで、「追加」をクリックします。

「メソッド」ダイアログ・ボックスが表示されます。

メソッドを編集する方法は、次のとおりです。

「オブジェクト・タイプ・メソッドの定義」のページで、メソッドを1つ選択して「編集」をクリックします。

または

リスト・ボックスでメソッドを1つダブルクリックします。

「メソッド」ダイアログ・ボックスが表示されます。

メソッドを削除する方法は、次のとおりです。

1	「オブジェクト・タイプ・メソッドの定義」のページで、メソッドを1つ選択して「削除」をクリックします。

メッセージ・ボックスが表示され、削除の確認を求めてきます。

2	「はい」をクリックして、強調表示されたメソッドを削除します。

オブジェクト・タイプのメソッドの制限を変更する方法は、次のとおりです。

「オブジェクト・タイプ・メソッドの定義」のページで、「変更」をクリックします。

「デフォルトの制限」ダイアログ・ボックスが表示されます。


「デフォルトの制限」ダイアログ・ボックス

「デフォルトの制限」ダイアログ・ボックスでは、オブジェクト・タイプのメソッドにデフォルトのプラグマ制限を指定できます。プラグマ制限は、SQL文からコールされたメンバー関数に適用されます。この制限により、データベースの表またはパッケージ変数、あるいはその両方に対するメンバー関数の読取り/書込みアクセスが拒否されます。

オブジェクト・タイプのメソッドのデフォルトのプラグマ制約を指定する方法は、次のとおりです。

すべてのチェックボックスにチェック・マークを付けるか、またはチェックを外します。

注意: 個々のメンバー関数にプラグマ制限を宣言できます。このようなプラグマでは、デフォルトの制限が上書きされます。


「メソッド」ダイアログ・ボックス

「メソッド」ダイアログ・ボックスには、「定義」と「制限」の2つのページがあります。これらのページでは、オブジェクト・タイプ・メソッドとそのパラメータ、およびそのオブジェクト・タイプの制限を定義できます。

「定義」ページを使用すると、メソッド名とタイプ、およびオプションのパラメータを定義できます。関数には、戻り値の型を指定できます。ページは次のように構成されています。

メソッド名	メソッドの名前を入力します。ここでは、オブジェクト・タイプ名またはオブジェクト・タイプ属性のいずれとも同じ名前は使用できません。
メソッド・タイプ	ドロップダウン・リストからメソッド・タイプを選択します。 メソッド・タイプには、プロシージャ、ファンクション、マップ・ファンクションおよびオーダー・ファンクションがあります。 マップ・ファンクションおよびオーダー・ファンクションは、比較メソッドです。オブジェクト・タイプにはマップ・ファンクションかオーダー・ファンクションのいずれかを指定できますが、両方を指定することはできません。
戻り値の型	ファンクションには、ドロップダウン・リストから戻り値の型を選択します。
パラメータ名	パラメータの名前を入力します。
データ型	ドロップダウン・リストからビルトイン・データ型を選択します。既存のオブジェクト・タイプを参照するには、「...」ボタンをクリックして、「タイプ選択」ダイアログ・ボックスを表示します。
方向	ドロップダウン・リストからIN、OUTまたはIN/OUTのいずれかを選択します。
デフォルト値	パラメータのデフォルト値を入力します。
	リストにパラメータを追加する場合にクリックします。「パラメータ名」フィールドが消去されます。
	リストから強調表示されたパラメータを削除する場合にクリックします。メッセージ・ボックスが表示され、操作の確認を求めてきます。
リスト・ボックス	このメソッドに定義したパラメータのリストが表示されます。 リスト・ボックス内のパラメータ定義の順序を変更するには、パラメータをクリックして、それを新しい場所にドラッグします。

「制限」ページを使用すると、オブジェクト・タイプにあらかじめ定義しておいたデフォルトのプラグマ制限を上書きできます。プラグマ制限は、SQL文からコールされたメンバー関数に適用されます。この制限では、データベースの表、パッケージ変数、またはその両方に対するメンバー関数の読取り/書込みアクセスが拒否されます。この「制限」ページの構成内容は、次のとおりです。

デフォルトの制限を上書き	デフォルトの制限のかわりにメソッド制限を使用するには、このボックスをチェックし、次に示すオプションをチェックするかまたはチェックを外して制限を指定します。  デフォルトのプラグマ制限を使用する場合は、このボックスのチェックを外してください。このチェックボックスのチェックが外してある場合、次に示すオプションは使用不可になります。
RNDS、WNDS、RNPS、WNPS	ルールを強制するには、該当するチェックボックスのチェック・マークを付けます。ルールを削除するには、該当するチェックボックスのチェックを外します。


タイプ・ウィザード: 「コレクション・タイプの定義」のページ

次のステップ	関連項目

コレクション・タイプを定義する方法は、次のとおりです。

1	「コレクション・タイプの定義」のページで、ラジオ・ボタンをクリックして、作成する表タイプまたは可変配列(VARRAY)タイプを指定します。

2	VARRAYを作成している場合は、「上限」テキスト・ボックスに配列の最大サイズを入力します。

3	「データ型」ドロップダウン・リストで、右側の矢印をクリックしてビルトイン・データ型を選択します。既存のオブジェクト・タイプを選択するには、「...」ボタンをクリックして、「タイプ選択」ダイアログ・ボックスを表示します。

4	「長さ」ボックスが使用可能な場合は、このボックスに数値を入力します。

5	(数値データ型の場合のみ)「精度」ボックスで、総桁数の数値を入力します。

6	(数値データ型の場合のみ)「スケール」ボックスで、小数点以下の桁数を指定する数値を入力します。


タイプ・ウィザード: 「完了」ページ

関連項目

タイプ・ウィザードの最後のページには、ここで定義したOracle8のタイプを生成するSQL文が表示されます。このページは読取り専用です。SQL文を編集することはできません。

「完了」をクリックすると、タイプ・ウィザードで次が実行されます。

•	コレクション・タイプの場合 - CREATE TYPE AS TABLEまたはCREATE TYPE AS VARYING ARRAYというSQL文をデータベースに発行します。

•	オブジェクト・タイプの場合 - CREATE TYPE AS OBJECTというSQL文をデータベースに発行します。タイプ指定が無効か、または不完全な場合は、オブジェクト・ナビゲータのオブジェクト・タイプ・ラベルの後にアスタリスク(*)が表示されます。

•	メソッド付きのオブジェクト・タイプの場合 - 最初のオブジェクト本体を作成して、これをストアド・プログラム単位エディタに表示します。メソッドを埋め込んで、「保存」をクリックします。CREATE TYPE BODYというSQL文がデータベースに発行されます。オブジェクト本体が無効の場合は、コンパイル・メッセージ・ペインにエラー・メッセージが表示されます。オブジェクト・ナビゲータのオブジェクト本体ラベルの後にアスタリスク(*)が表示されます。

注意: タイプ・ウィザードを使用すると、オブジェクト・タイプまたはコレクション・タイプは、現在接続されているOracle8データベース・サーバーに格納されます。


タイプ・ウィザードについて

関連項目

Oracle8のユーザー定義データ型を作成するには、タイプ・ウィザードを使用するのが最も早く簡単な方法です。タイプ・ウィザードでは、オブジェクト・タイプやコレクション・タイプ(多くの場合、表タイプまたは可変配列タイプ(VARRAY))を新規に作成するのに必要な手順が示されます。タイプ・ウィザードは、既存のタイプを編集するときは使用できません。

特に、次のタスクを実行する場合は、タイプ・ウィザードを使用してください。

•	オブジェクト・タイプの名前、属性およびメソッドを指定する場合

•	表タイプまたはVARRAYの名前およびデータ型情報を指定する場合

•	オブジェクト・タイプの属性を追加、編集または削除する場合

•	オブジェクト・タイプのメソッドを追加、編集または削除する場合

•	オブジェクト・タイプのメソッドの制限を定義する場合


タイプ・ウィザードによるOracle8ユーザー定義データ型の作成

関連項目

新しいOracle8データ型を作成する場合は、必ずOracle8データベース・サーバーに接続する必要があります。

新しいOracle8ユーザー定義データ型を作成する方法は、次のとおりです。

1	オブジェクト・ナビゲータにおいて、「データベース・オブジェクト」ノードを拡張します。

2	新しいデータ型の作成場所となるスキーマ・ノードを拡張します。

3	スキーマの「タイプ」ノードをクリックします。

4	ナビゲータ・ツールバーの [image] をクリックするか、またはメニューから「ナビゲータ」 [image] 「作成」の順に選択して、タイプ・ウィザードを表示します。

5	手順に従ってオブジェクト・タイプまたはコレクション・タイプを作成します。詳細は、タイプ・ウィザードのヘルプを参照してください。

タイプ・ウィザードを使用すると、オブジェクト・タイプまたはコレクション・タイプは、現在接続されているOracle8データベース・サーバーで作成され、格納されます。


Oracle8ユーザー定義データ型の編集

関連項目

既存のオブジェクト・タイプおよびコレクション・タイプを変更するには、ストアド・プログラム単位エディタを使用します。

オブジェクト・タイプやコレクション・タイプのタイプ仕様を編集できます。タイプ仕様では、データ構造の属性が宣言されます。オブジェクト・タイプの場合は、データを操作するオプションのメソッドもこの仕様によって指定されます。

オブジェクト・タイプの本体を編集することもできます。本体では、メソッドが完全に定義され、仕様がインプリメントされます。タイプ仕様を変更せずに本体をデバッグおよび置換できます。

オブジェクト・タイプまたはコレクション・タイプのタイプ仕様を編集する方法は、次のとおりです。

オブジェクト・ナビゲータで、タイプ・アイコンをダブルクリックして、ストアド・プログラム単位エディタにあるタイプ仕様を表示します。

または

オブジェクト・ナビゲータ内のあるタイプの(Windowsでは右クリックして表示される)ポップアップ・メニューから、「タイプ編集」をクリックして、ストアド・プログラム単位エディタのタイプ仕様を表示します。

または

ストアド・プログラム単位エディタの「名前」ドロップダウン・リストで、タイプ名をクリックして、ソースを表示します。

注意: オブジェクト・タイプの属性およびデフォルトの制限は、タイプ仕様の一部です。

オブジェクト・タイプのメソッドを編集する方法は、次のとおりです。

オブジェクト・ナビゲータ内のオブジェクト・タイプの(Windowsでは右クリックして表示される)ポップアップ・メニューから、「本体編集」をクリックして、ストアド・プログラム単位エディタのオブジェクト本体(メソッド)を表示します。

または

ストアド・プログラム単位エディタの「名前」ドロップダウン・リストで、オブジェクト・タイプ名をクリックして、ソースを表示します。


Oracle8ユーザー定義データ型の削除

関連項目

ユーザー定義データ型を削除すると、メッセージ・ボックスが表示され、確認が求められます。

ユーザー定義データ型を削除する方法は、次のとおりです。

 オブジェクト・ナビゲータで、オブジェクト・タイプ、表タイプ、可変配列タイプのいずれかをクリックして、メニューから「ナビゲータ」 [image] 「削除」の順に選択するか、またはツールバーの [image] をクリックします。

または

ストアド・プログラム単位エディタの「名前」ドロップダウン・リストからタイプ名を選択し、「削除」をクリックして、そのタイプを削除します。

注意: 別のデータ型、ネスト・オブジェクトまたはREFオブジェクトで参照しているタイプを削除することはできません。必ず先に参照を削除してから、タイプ定義を削除してください。


Oracle8のユーザー定義データ型について

関連項目

Oracle8は、オブジェクト・リレーショナル・データベース管理システムです。この意味は、データの種類を追加して定義できること、つまりデータの指定およびそのデータの操作方法の両方の指定ができ、リレーショナル・モデル内でこれらのタイプを使用できるということです。

ユーザー定義データ型には、オブジェクト・タイプおよびコレクション・タイプの2つの項目があります。ユーザー定義データ型では、アプリケーションのデータの構造や動作をモデル化するデータ型の作成ブロックとして、ビルトイン・データ型(CHAR、VARCHAR2およびNUMBERなど)およびその他のユーザー定義データ型が使用されます。

オブジェクト・タイプは、オブジェクトのテンプレートとして使用できます。オブジェクト・タイプは、発注書などの構造化されたデータ単位を構成する要素(または属性)を指定します。明細項目のリストなど、いくつかの属性は、別に構造化されたデータ単位である場合があります。オブジェクト・タイプは、発注書の合計値計算のように、実行対象のデータ単位の操作(またはメソッド)も指定します。

コレクション・タイプは、すべてが同じデータ型で、数に制限のない要素で構成されるデータ単位を記述します。コレクション・タイプには、可変配列タイプおよび表タイプがあります。

可変配列タイプは、VARRAYと呼ばれるデータ単位を指定します。このデータ単位は、すべてが同じデータ型を持つ、順序付けされた一連のデータ要素です。VARRAY内の要素数(またはそのサイズ)は可変です。ただし、可変配列タイプを宣言するときは、最大サイズを指定する必要があります。

表タイプは、ネスト表と呼ばれるデータ単位を指定します。このデータ単位は、すべてが同じデータ型を持つ、順序付けのされていない一連のデータ要素です。ネストされた表には、単一列があり、その列のタイプはビルトイン・タイプまたはオブジェクト・タイプです。


PL/SQL V1変換ユーティリティについて

  関連項目

PL/SQL V1変換ユーティリティは、PL/SQL V1またはV2で作成されたアプリケーションをアップグレードするプロセスを自動化するときに役立ちます。

フォーム、レポートおよび図表のトリガー、プログラム単位およびPL/SQLブロックが、PL/SQL V1またはV2で書かれている場合、コードはアップグレードする必要があります。アップグレードを行わないと、次の2種類の問題が発生する可能性があります。

•	PL/SQL V1またはV2コードの中には、それより後のバージョンでは構文上有効でないためにコンパイル・エラーを起こすものがあります。

•	PL/SQL V1またはV2コードの中には、それより後のバージョンでは構文上は正しいが、意味が異なるため、予期しない動作や不正な動作を起こすものがあります。

変換ユーティリティは、この両方の問題に対応します。


PL/SQL V1変換ユーティリティの実行方法

  関連項目

変換ユーティリティは、対話形式またはバッチ・モードで使用できます。いずれの場合も、ユーティリティによりコードを実際に更新するかどうかは、ユーザーが制御します。対話形式モードでは、ユーティリティによる変更も、手動での変更も可能なため、柔軟性があります。バッチ・モードでは、ユーティリティは可能な変換をすべて行うか、まったく行わないかのどちらかです。変換は対話形式モードまたはバッチ・モードのいずれかで行われても、変換処理の概略がmodule.plgというログ・ファイルに記録されます。

ユーティリティを対話形式で実行するには、対応するBuilderで、保存されたフォーム、レポート、図表、またはPL/SQL V1またはV2コードを含むライブラリをオープンします。

ユーティリティをバッチ・モードで実行する場合、次の項目を参照してください。

•	バッチ・モードでのフォームの変換

•	バッチ・モードでのレポートの変換

•	バッチ・モードでの図表の変換

ヒント

変換ユーティリティはコードをアップグレードし、V1またはV2の非互換性の一部を解決しますが、変換ユーティリティで対処できない場合もあります。その場合は、コンパイル・エラーとなります。 変換結果は「PL/SQL V1の変換サマリー」ダイアログ・ボックス（対話形式モード）またはログ・ファイルに表示されるので、手動でエラーに対処できます。詳細は、「PL/SQL V1変換ユーティリティでは変換されないもの」を参照してください。

変換ユーティリティによるアプリケーションの変換、保存後は、推奨される変換をすべて無視した場合でも、そのアプリケーションに対しユーティリティを再起動することはできません。これにより、手動で加えた変更がユーティリティにより上書きされることが防止されます。


使用するモードを決定する前に、各タイプのいくつかのモジュールを対話形式で変換してみます。これで、各タイプのモジュールで発生しているのが、どういう種類の問題なのかわかるので、今後の進め方を決定するのに役立ちます。たとえば、レポートおよびPL/SQLライブラリをバッチ・モードで確実に変換できても、フォームが対話モードで提供されるクローズ監視を必要としていることを発見できる可能性もあります。


対話形式によるPL/SQL V1変換ユーティリティの使用

  関連項目

変換ユーティリティを対話形式で実行するには、対応するBuilderで、保存されたフォーム、レポート、図表、またはPL/SQL V1またはV2コードを含むライブラリをオープンし、アプリケーションを保存します。

重要事項:

•	変換ユーティリティによるアプリケーションの変換、保存後は、推奨される変換をすべて無視した場合でも、そのアプリケーションに対しユーティリティを再起動することはできません。これにより、手動で加えた変更がユーティリティにより上書きされることが防止されます。

トリガー内の各PL/SQL V1またはV2文、PL/SQLブロックまたはプログラム単位は、「変換」ダイアログ・ボックス内に表示されます。このダイアログ・ボックスには、変換を選択した場合に変換ユーティリティによって実行されるアクションも表示されます。提示された変更の実行、提示された変更の無視、アプリケーション全体の変換またはプロセス全体の停止を行うかについては、自由に選択できます。（「PL/SQL V1の変換オプション」ダイアログ・ボックスを使用して、変換プロセスを制御するパラメータを設定することもできます。）

変換ユーティリティによって、変更（または変更しなかった部分）が追跡され、変換プロセスの最後にmodule.plgという名前のログ・ファイルに要約されます。次にPL/SQLエディタを起動して、アプリケーションを手動で更新できます。


バッチ・モードでのPL/SQL V1変換ユーティリティの使用

  関連項目

ユーティリティをバッチ・モードで実行する場合、次の項目を参照してください。

•	バッチ・モードでのフォームの変換

•	バッチ・モードでのレポートの変換

•	バッチ・モードでの図表の変換


バッチ・モードでのフォームの変換

  関連項目

フォームをバッチ・モードで変換する手順

1	フォームに関連したすべてのPL/SQLライブラリを変換したことを確認します。

2	次のいずれかの操作を行います。

•	Forms compilerのGUIバージョンを実行します。

•	Forms compilerをコマンド・ラインで実行します。

どちらを選択しても、変換処理の概略は自動的にログ・ファイルmodule.plg(moduleは変換されたフォーム・モジュールの名前)に書き込まれます。

使用上の注意

•	変換ユーティリティによるアプリケーションの変換、保存後は、推奨される変換をすべて無視した場合でも、そのアプリケーションに対しユーティリティを再起動することはできません。これにより、手動で加えた変更がユーティリティにより上書きされることが防止されます。


Form CompilerGUIバージョンを使用したフォームの変換

Forms CompilerのGUIバージョンを使用したフォームの変換手順

1	「Form Compiler」アイコンをダブルクリックします。

2	適切なモジュール・タイプとモジュール・アクセスを選択します。

3	「PL/SQLをV1からV2.3にアップグレードしますか?」と書かれたボックスを選択します。

4	「OK」をクリックします。


コマンド・ラインでのフォームの変換

  関連項目

コマンド・ラインでForm Compilerを使用しフォームを変換する手順

コマンドラインで次のコマンドを発行します。

<Form Compiler> MODULE=form BATCH=yes UPGRADE_PLSQL=yes UPGRADE=yes

パラメータの内容は次のとおりです。

<Form Compiler>	プラットフォーム上のForm Compilerの実行可能プログラムの名前。
form	変換するフォームの名前。
使用上の注意:

•	UPGRADE=YESを同時に指定せずにUPGRADE_PLSQL=YESを指定すると、エラー・メッセージが生成されます。すべてのフォームをForms 6.0に更新しておかないと、PL/SQLをフォーム内で変換できません。 このため、UPGRADE_PLSQL= YESの場合は、UPGRADE=YESを指定する必要があります。

•	大量の図表を一度に変換する場合は、Project Builderを使用します。Project Builderのヘルプ・トピックを参照してください。


接続されたPL/SQLライブラリのフォームへの変換

PL/SQLライブラリを対話形式で変換する手順

 Form Builder内でライブラリをオープンし、保存します。

Form CompilerのGUIバージョンを使用して、PL/SQLライブラリを変換する手順

1	「Form Compiler」アイコンをダブルクリックします。

2	「ファイル」フィールドで、変換するPL/SQLライブラリを選択します。

3	「出力内容の書き込み先ファイル」フィールドで、ターゲット・ファイルに拡張子.PLLが付いていることを確認します。

4	「OK」をクリックします。

コマンド・ラインでForm Compilerを使用しPL/SQLライブラリを変換する手順

コマンドラインで次のコマンドを発行します。

<Form Compiler> MODULE=library BATCH=yes UPGRADE_PLSQL=yes UPGRADE=yes

パラメータの内容は次のとおりです。

<Form Compiler>	プラットフォーム上のForm Compilerの実行可能プログラムの名前。
library	変換するライブラリの名前。
使用上の注意

•	UPGRADE=YESを同時に指定せずにUPGRADE_PLSQL=YESを指定すると、エラー・メッセージが生成されます。すべてのフォームをForms 6.0に更新しておかないと、PL/SQLをフォーム内で変換できません。 このため、UPGRADE_PLSQL= YESの場合は、UPGRADE=YESを指定する必要があります。

•	大量の図表を一度に変換する場合は、Project Builderを使用します。Project Builderのヘルプ・トピックを参照してください。


Form Compilerパラメータの指定

次の表は、BATCH、UPGRADEおよびUPGRADE_PLSQLのパラメータの組合せの違いにより、変換処理にどのような影響があるかを示しています。

BATCH	UPGRADE_PLSQL	UPGRADE	動作
NO	YES	YES	フォーム内のPL/SQLは、バッチ・モードで変換されます(BATCH=NOの場合も)。ユーティリティは、Builderの外から対話形式で起動できません。
YES	YES	YES	フォーム内のPL/SQLは、バッチ・モードで変換されます。
NO	NO	YES	フォーム内のPL/SQLは変換されませんが、推奨される変換の一覧がmodule.plgに書き込まれます。フォームは、Forms 6i にアップグレードされます。
YES	NO	YES	フォーム内のPL/SQLは変換されませんが、推奨される変換の一覧がmodule.plgに書き込まれます。フォームは、Forms 6i にアップグレードされます。
NO	NO	NO	FMBを変更することなく新規のFMXをコンパイルする場合に使用します。フォームにV1.3のPL/SQLが含まれる場合、コンパイラ・エラーが発生するか、コードが異なる動作を起こす場合があります。
YES	NO	NO	FMBを変更することなく新規のFMXをコンパイルする場合に使用します。フォームにV1.3のPL/SQLが含まれる場合、コンパイラ・エラーが発生するか、コードが異なる動作を起こす場合があります。
重要事項:

45FMTから60FMBへのアップグレードを、UPGRADE_PLSQLオプションを指定せずに行うと、フォーム内のPL/SQLは変換されません。ただし、変換されるべきフォームがログ・ファイルに記録されます。このログ・ファイルは現行のワーキング・ディレクトリに保存されるため、FMTファイルが保存されているディレクトリとは異なる場合があります。


バッチ・モードでのレポートの変換

レポートをバッチ・モードで変換する手順

1	レポートに接続したPL/SQLライブラリをすべて変換したことを確認します。

2	次のいずれかの操作を行います。

•	Report CompilerのGUIバージョンを実行します。

•	コマンド・ラインからReport Compilerを実行します。

どちらを選択しても、変換処理の概略は自動的にログ・ファイルmodule.plg(moduleは変換されたレポート・モジュールの名前)に書き込まれます。モジュールごとに個別のログが生成されます。

使用上の注意

•	変換ユーティリティによるアプリケーションの変換、保存後は、推奨される変換をすべて無視した場合でも、そのアプリケーションに対しユーティリティを再起動することはできません。これにより、手動で加えた変更がユーティリティにより上書きされることが防止されます。


Report CompilerのGUIバージョンを使用したレポートの変換

Report CompilerのGUIバージョンを使用し、1つ以上のレポートを変換する手順

1	「Report Compiler」アイコンをダブルクリックします。

2	「文書タイプ」フィールドで、「レポート」を選択します。

3	適切な「ソース・タイプ」および「宛先タイプ」を選択します。

4	「ソース」フィールドの「参照」ボタンを使用し、変換するレポートの位置を確認します。

5	「宛先」フィールドの「参照」ボタンを使用し、変換したレポートの宛先を選択します。

6	「OK」をクリックします。


コマンド・ラインでのレポートの変換

1つ以上のレポートをコマンド・ラインで変換する手順

コマンドラインで次のコマンドを発行します。

<Report Compiler> SOURCE=rep1,rep2, UPGRADE_PLSQL=yes

パラメータの内容は次のとおりです。

<Report Compiler>	プラットフォーム上のReport Compilerの実行可能プログラムの名前。
rep1,rep2,	変換するレポートの名前。


接続されたPL/SQLライブラリのレポートへの変換

PL/SQLライブラリを対話形式で変換する手順

 Report Builder内でライブラリをオープンし、保存します。

Report CompilerのGUIバージョンを使用して、PL/SQLライブラリを変換する手順

1	「Report Compiler」アイコンをダブルクリックします。

2	「文書タイプ」フィールドで、「PL/SQLライブラリ」を指定します。

3	「ソース・タイプ」フィールドで、.PLLを指定します。

4	「宛先タイプ」フィールドで、.PLLまたは.PLXを指定します。.PLDを指定すれば、V1またはV2のPL/SQLは変換されません。

コマンド・ラインでReport Compilerを使用してPL/SQLライブラリを変換する手順

 コマンドラインで次のコマンドを発行します。

<Report Compiler> SOURCE=lib1,lib2, UPGRADE_PLSQL=yes

パラメータの内容は次のとおりです。

<Report Compiler>	プラットフォーム上のReport Compilerの実行可能プログラムの名前。
lib1, lib2	変換するライブラリの名前。
使用上の注意

•	大量の図表を一度に変換する場合は、Project Builderを使用します。Project Builderのヘルプ・トピックを参照してください。


バッチ・モードでの図表の変換

バッチ・モードで図表を変換する手順

1	図表に関連するすべてのPL/SQLライブラリの変換が終了したことを確認します。

2	次のコマンドを発行します。

<Graphics Builder> openfile=temp.ogd upgrade_plsql=yes savefile=temp1.ogd quit=yes

パラメータの内容は次のとおりです。

<Graphics Builder>	プラットフォーム上のGraphics Builderの実行可能プログラムの名前。
openfile=temp.ogd	Graphics Builderで図表temp.ogdをオープンします。
upgrade_plsql=yes	V1またはV2のPL/SQLを変換します。
savefile=temp1.ogd	変換した図表をtemp1.ogdに保存します。
quit=yes	図表が変換された後、Graphics Builderをクローズします。
使用上の注意:

•	変換処理の概略は、ログファイルmodule.plg（moduleは変換された図表の名前）に自動的に書き込まれます。

•	大量の図表を一度に変換する場合は、Project Builderを使用します。Project Builderのヘルプ・トピックを参照してください。

•	変換ユーティリティによるアプリケーションの変換後は、推奨される変換をすべて無視した場合でも、そのアプリケーションに対しユーティリティを再起動することはできません。これにより、手動で加えた変更がユーティリティにより上書きされることが防止されます。


接続されたPL/SQLライブラリの図表への変換

PL/SQLライブラリを対話形式で変換する手順

 Graphics Builderでライブラリをオープンし、保存します。

PL/SQLライブラリをバッチ・モードで変換する手順

 次のコマンドを発行します。

<Graphics Builder> openfile=temp.lib upgrade_plsql=yes savefile=temp1.lib quit=yes

パラメータの内容は次のとおりです。

<Graphics Builder>	プラットフォーム上のGraphics Builderの実行可能プログラムの名前。
openfile=temp.lib	Graphics Builderでライブラリ temp.lib をオープンします。
upgrade_plsql=yes	V1またはV2のPL/SQLを変換します。
savefile=temp1.lib	変換されたライブラリを temp1.lib に保存します。
quit=yes	ライブラリが変換された後、Graphics Builderをクローズします。
使用上の注意:

•	変換処理の概略は、ログファイル module.plg（module は変換されたライブラリの名前）に自動的に書き込まれます。

•	変換ユーティリティによるアプリケーションの変換後は、推奨される変換をすべて無視した場合でも、そのアプリケーションに対しユーティリティを再起動することはできません。これにより、手動で加えた変更がユーティリティにより上書きされることが防止されます。

•	大量の図表を一度に変換する場合は、Project Builderを使用します。Project Builderのヘルプ・トピックを参照してください。


PL/SQL V1変換ユーティリティにより変換されるもの

  関連項目

次に、変換ユーティリティがアプリケーション内で解決できる場合を示します。

CHARをVARCHAR2に置換

VARCHAR2に必要な文字列の長さを設定

OUTおよびIN OUTのデフォルト式を削除

式に必須なRETURN文

廃止されたビルトインの置換

ファンクションlengthはゼロ長の文字列に対しNULLを返す

NULLを渡すオーバーロードしたサブプログラムへの対処

ファンクションにRETURN文を指定しないとランタイム・エラーが発生する

長さの制限を削除


CHARをVARCHAR2に置換

PL/SQL V1では、データ型CHARとVARCHAR2は、相互に交換して使用できました。V1より後のバージョンでは、CHARデータ型は右側にスペースが埋められます。

PL/SQL V1では、次の文は、

var1 CHAR(10) := 'hello';

'hello'に同じです。

しかしV1より後のバージョンでは、この文は'hello     '(合計で10文字)として解釈します。

CHAR変数のV1の動作を保つため、変換ユーティリティでは、すべてのCHAR(n)宣言を同義のVARCHAR2(n)文と置換します。上記の例では、var1はVARCHAR2(10)になります。

また、変換ユーティリティでは、VARCHAR文をすべて同義のVARCHAR2式と置換します。


VARCHAR2に必要な文字列の長さを設定

PL/SQL V1より後のバージョンでは、すべてのVARCHAR2変数に対して、長さの指定が必要です。CHARデータ型にすでに長さが指定されている場合、変換ユーティリティは宣言をVARCHAR2に置換する際、その長さを使用します（詳細は、「CHARをVARCHAR2に置換」を参照）。次に例を示します。

var1 CHAR(10);

は、次のように変換されます。

var1 VARCHAR2(10);

変換プログラムは、文字長のないCHARまたはVARCHAR2文を検出すると、1文字の長さを設定します。次に例を示します。

var2 CHAR;

は、次のように変換されます。

var2 VARCHAR2(1);

同様に、

var3 VARCHAR2;

は、次のように変換されます。

var3 VARCHAR2(1);

VARCHAR2宣言に対し長さを指定しないと、コンパイラで次のエラー・メッセージが生成されます。

エラー215: 文字長は1～32767の範囲に制限されています


OUTおよびIN OUTのデフォルト式を削除

  例

PL/SQL V1では、OUTパラメータとIN OUTパラメータの後にデフォルト式を続けることができましたが、この式は常に無視されていました。変換ユーティリティで、OUTパラメータとIN OUTパラメータのデフォルト式を削除します。

既存のコード（デフォルト式の付いたOUTパラメータとIN OUTパラメータを含みます）をコンパイルすると、次のエラー・メッセージが生成されます。

エラー230: OUTおよびIN OUT形式のパラメータに、デフォルト式を付けることはできません


デフォルト式の削除例

  関連項目 	   すべての例

変換ユーティリティは、次のPL/SQL V1コードを、

PROCEDURE p (p1 IN OUT NUMBER DEFAULT 25,
             p2 OUT NUMBER DEFAULT 16) IS

BEGIN
. . .
END;

次のように変換します。

PROCEDURE p (p1 IN OUT NUMBER, p2 OUT NUMBER) IS

BEGIN
. . .
END;


式に必須なRETURN文

  例

PL/SQL V1では、式のないRETURN文を使用して、NULL値を返すことができました。ファンクションはすべて値を返す必要があるため、V1より後のバージョンではRETURN文が必須となります。変換ユーティリティは、式が続いていないRETURN文をすべてRETURN NULLと置換します。

式のないRETURN文を含むPL/SQLをコンパイルすると、次のエラー・メッセージが生成されます。

エラー503:このファンクションからの戻り値にはRETURN文が必要です


NULLをRETURN文に追加する例

  関連項目 	   すべての例

変換ユーティリティは、次のPL/SQL V1コードを、

FUNCTION f RETURN NUMBER IS
x NUMBER;
BEGIN
x :=13;
IF .. . THEN
RETURN;
END IF;
RETURN x;
END;

次のように変換します。

FUNCTION f RETURN NUMBER IS
x NUMBER;
BEGIN
x :=13;
IF .. . THEN
RETURN NULL; ここでNULLが追加されます
END IF;
RETURN x;
END;


廃止されたビルトインの置換

  例

文字列をPL/SQLの整数に変換するTO_PLS_INTEGERビルトインは、V1より後のバージョンでは廃止されています。変換ユーティリティは、TO_PLS_INTEGERをビルトインTO_NUMBERに置換します。

TO_PLS_INTEGERビルトインを置換しないと、次のコンパイル・エラーが生成されます。

エラー201:識別されたTO_PLS_INTEGERを宣言する必要があります

注意: 廃止されているその他のビルトインは、手動で置換する必要があります。


廃止されたビルトインの置換例

  関連項目 	   すべての例

変換ユーティリティは、次のPL/SQL V1コードを、

PROCEDURE foo IS
     v INTEGER;
BEGIN
     v := TO_PLS_INTEGER(24);
END;

次のように変更します。

PROCEDURE foo IS
     v INTEGER;
BEGIN
     v := TO_NUMBER(24);     TO_PLS_INTEGERはTO_NUMBERで置換されます
END;


ファンクションlengthはゼロ長の文字列に対しNULLを返す

  例

PL/SQL V1では、NULL式に適用されたファンクションlengthは、ゼロを返しました。V1より後のバージョンでは、NULL式に適用されたファンクションlengthは、NULLを返します。

V1の動作を保つために、PL/SQL変換ユーティリティはNVL SQL述語を追加して、NULL式に適用されたファンクションlengthがゼロを返すようにします。


ファンクションlengthの例

  関連項目 	   すべての例

変換ユーティリティは、次のPL/SQL V1コードを、

c:=null;
l=LENGTH( c );         V1では、これが0に変わります

次のように変換します。

c:=null;
l=NVL(LENGTH( c ),0);  コンバータはNVL( )ビルトインでファンクションlength
                           をラップし、式がゼロを返すようにします


NULLを渡すオーバーロードしたサブプログラムへの対処

  例

PL/SQL V1では、パッケージ内の同じプログラム単位を2つの異なるデータ型、VARCHAR2型とRECORD型として定義できました。これをサブプログラムをオーバーロードするといいます。オーバーロードしたサブプログラムにNULL値を渡した場合、PL/SQLはデータ型をVARCHAR2と仮定しました。ただし、V1より後のバージョンでは、パッケージ内のオーバーロードしたサブプログラムにNULL値を渡す場合、そのデータ型を定義する必要があります。

V1の動作を保つために、PL/SQL変換ユーティリティは、オーバーロードしたサブプログラムに渡されたNULL値を検出すると、必要に応じて次のようなアクションを行います。

•	NULLをTO_CHAR( )でラップします。

•	NULLをTO_NUMBER( )でラップします。

•	NULLをTO_DATE( )でラップします。

•	NULLをNOTでラップします。

希望するデータ型を定義しないで、オーバーロードしたプログラム単位にNULL値を渡す場合、コンパイラで次のエラー・メッセージが生成されます。

エラー307:このコールと一致する'PU名'宣言が多すぎます...


オーバーロードしたサブプログラムにNULL値を渡す例

  関連項目 	   すべての例

変換ユーティリティは、次のPL/SQL V1コードを、

PACKAGE ps1 IS
  TYPE foo IS RECORD(id PLS_INTEGER);
                              サブプログラムpがオーバーロードされます
    PROCEDURE p(a VARCHAR2);    aはVARCHAR2型の変数として定義されます
  PROCEDURE p(a FOO);         aは他のデータ型の変数としても定義されます
END;

PROCEDURE foo2 IS
BEGIN
  ps1.p(NULL);                V1では、VARCHAR2データ型が仮定されます
END;

次のように変換します。

PACKAGE ps1 IS
  TYPE foo IS RECORD(id PLS_INTEGER);

  PROCEDURE p(a VARCHAR2);
  PROCEDURE p(a FOO);

END;

PROCEDURE foo2 IS
BEGIN
  ps1.p(TO_CHAR(NULL));      aはVARCHAR2型であるためNULL値は
                                 TO_CHAR( )によってラップされます
END;


ファンクションにRETURN文を指定しないとランタイム・エラーが発生する

  例

PL/SQL V1では、ファンクションでRETURN文を省略しても実行時に問題は発生しません。ただし、V1より後のバージョンでは、ランタイム・エラーが発生します。

V1の動作を保つために、PL/SQL変換ユーティリティは、引数にNULLを持つRETURN文を、RETURN文のないファンクションに追加します。

注意: ファンクションにRETURN文がない場合でもコンパイラ・エラーは発生しませんが、V1より後のバージョンではランタイム・エラーが発生します。


RETURN文が指定されていない例

  関連項目	 	   すべての例

変換ユーティリティは、次のPL/SQL V1コードを、

FUNCTION noreturn (arg IN NUMBER) RETURN char IS
BEGIN
  IF (arg > 100000) THEN
    TEXT_IO.PUT_LINE ('The point of no return.');
  ENDIF;
                         RETURN文が欠落しています。
END;

次のように変換します。

FUNCTION noreturn (arg IN NUMBER) RETURN char IS
BEGIN
  IF (arg > 100000) THEN
    TEXT_IO.PUT_LINE ('The point of no return.');
  ENDIF;
  RETURN NULL;             コンパータによってRETURN NULLが追加されました。
END;


長さの制限を削除

  例

PL/SQL V2では、DATE、BOOLEAN、MLSLABEL、ROWIDの長さの制限は無視されます。ただし、このためにV8でコンパイル・エラーが発生します。

V2の動作を保つため、PL/SQL変換ユーティリティは制限を削除します。


長さの制限の削除例

  関連項目 	   すべての例

変換ユーティリティは、次のコードを、

PROCEDURE badconstraint IS
d DATE(5);
b BOOLEAN(5);
d MLSLABEL(5); --V2 のみ
r ROWID(5); --V2 のみ
BEGIN
  null;
END;

次のように変換します。

PROCEDURE badconstraint IS
d DATE;
b BOOLEAN;
d MLSLABEL; --V2のみ
r ROWID; --V2のみ
BEGIN
  null;
END;


PL/SQL V1変換ユーティリティでは変換されないもの

  関連項目

PL/SQLの多くの非互換項目は変換ユーティリティにより変換できますが、次のものは手動で修正する必要があります。

パッケージ内で必要とされる一意名

標準パッケージ・ファンクションが使用されない場合への対処

PL/SQL V2.3以降における新規予約語

変数の宣言に必要な%ROWTYPEまたは%TYPE

致命的なコンパイラ・エラーが発生し、変換プロセスが継続できない場合は、警告 "Encountered a non-recoverable error; conversion aborted at line <line number> column <column>" が表示されます。


パッケージ内で必要とされる一意名

  例

PL/SQL V1では、同一パッケージ内で変数と同じ名前を持つプロシージャまたはファンクションを作成すると、変数が常に使用され、同一名が付けられたプロシージャやファンクションは無視されました。V1より後のバージョンでは、同一パッケージ内の変数、ファンクションおよびプロシージャは、他と重複しないでください。

エラーを防ぐには、パッケージ内のすべてのプロシージャが一意の名前を持つようにします。 明示的に異なる名前を付けるか、または「Unused」という語をプロシージャ名に付けます。

注意: V1では、Procedure Builderによってビルトイン・パッケージと同じ名前のプログラム単位を作成できます。V1より後のバージョンでは、これは許可されません。Procedure Builderは、ビルトイン・パッケージと同じ名前を持つプログラム単位を検出すると、プログラム単位名の末尾に2個のドル記号$$を追加することで、ロード時にプログラム単位の名前を変更します。したがって、DEBUGはDEBUG$$に変更されます。


パッケージのプロシージャ名を一意名に変更する例

  関連項目 	   すべての例

次の例では、まずコンパイラ・エラーを生成するPL/SQL V1コードを示します。 続いてエラーを防ぐ編集例を示します。

次のコードを、

PACKAGE pk1 IS
  v1 NUMBER;           v1は変数として確立されます
  PROCEDURE v1;        v1はプロシージャとしても確立されます
  PROCEDURE p2 (x OUT NUMBER);
END;

PACKAGE BODY pk1 IS
  PROCEDURE v1 IS
  BEGIN
   .. .
  END;

  PROCEDURE p2 (x OUT NUMBER) IS
  BEGIN
x := pk1.v1;
  END;

END;

次のように変換します。

PACKAGE pk1 IS
  v1 NUMBER;
  PROCEDURE v1Unused;	  プロシージャv1はUnusedと宣言されます
  PROCEDURE p2 (x OUT NUMBER);
END;

PACKAGE BODY pk1 IS
  PROCEDURE v1Unused IS
  BEGIN
   .. .
  END;

  PROCEDURE p2 (x OUT NUMBER) IS
  BEGIN
x := pk1.v1;
  END;

END;


標準パッケージ・ファンクションが使用されない場合への対処

  例

PL/SQL V1では、次に示すようにユーザー自身のパッケージp1からファンクションFLOORをコールできました。

v := p1.FLOOR(x).

パッケージp1にファンクションFLOORがないと、PL/SQLは標準パッケージ内のファンクションFLOORを使用していました。これは、PL/SQL V2.3以降では修正されている、PL/SQLコード・エラーです。したがって、PL/SQL V2.3では、コンパイラはそのファンクション名の標準パッケージをチェックしないで、エラーを報告します。

エラー302:コンポーネント'CCCCC'を宣言する必要があります

ここで'CCCCC'は、標準パッケージ・ファンクションまたは標準パッケージ拡張にあるファンクションまたはプロシージャです。

メッセージ "Incorrect references will resolve to built-in package V1" が、ログに書き込まれます。

コンパイラで標準パッケージのファンクションを指定するには、不正なパッケージ名を削除してください。


パッケージ接頭辞の削除例

  関連項目 	   すべての例

次の例では、まずコンパイラ・エラーを生成するPL/SQL V1コードを示します。続いてエラーを防ぐ編集例を示します。

次のコードを、

PACKAGE pk1 IS a NUMBER;
END;

PROCEDURE p IS v NUMBER;
BEGIN
v := pk1.FLOOR(20.5);
END;

次のように変換します。

PACKAGE pk1 IS a NUMBER;
END;

PROCEDURE p IS v NUMBER;
BEGIN
v := FLOOR(20.5);     接頭辞を削除します
END;


PL/SQL V2.3以降における新規予約語

  例

VARIANCEはPL/SQL V2.3以降の予約語なので、この語を使用するとコンパイラ・エラーが発生します。

エラーを生成せずにVARIANCEを使用する方法の詳細は、例を参照してください。


予約語の例

  関連項目 	   すべての例

次の例では、まずコンパイラ・エラーを生成するPL/SQL V1コードを示し、続いてエラーを防ぐ編集例を示します。

例1:

次のコードを、

FUNCTION variance (y IN NUMBER)
RETURN NUMBER IS

BEGIN
     .. .
     RETURN .. .;
END;

次のように変更します。

FUNCTION varianceUniqueName (y IN NUMBER)
          /* Varianceに一意名が付けられます*/
RETURN NUMBER IS

BEGIN
     .. .
     RETURN .. .;
END;

例2:

サブプログラムをコールするときに、次のコードを、

PROCEDURE foo IS
     x NUMBER;
     y NUMBER;
BEGIN
     .. .
     x := variance(someNumber);
END;

次のように変更します。

PROCEDURE foo IS
     x NUMBER;
     y NUMBER;
BEGIN
     .. .
     x := varianceUniqueName(someNumber);
END;


変数の宣言に必要な%ROWTYPEまたは%TYPE

  例

PL/SQL V8コンパイラは、次のような不正な構文に対してエラーを生成します(PL/SQL V2では、この構文は間違って認められてしまいます)。

return variable-expression

procedure (parameter IN <table_name>)

procedure (parameter IN <table_name>.<column_name>)

正しい構文は次のとおりです。

return variable-type

procedure (parameter IN <table_name>%ROWTYPE)

procedure (parameter IN <table_name>.<column_name>%TYPE)

エラーを防ぐために、式のデータ型を使用するか、表の名前に%ROWTYPEを追加するか、列名に%TYPEを追加します。


変数の宣言例

  関連項目 	   すべての例

次の例では、まずコンパイラ・エラーを生成するPL/SQL V2コードを示し、続いてエラーを防ぐ編集例を示しています。

例1:

次のコードを、

FUNCTION return_column RETURN dept.dname IS
. . .

次のように変更します。

FUNCTION return_column RETURN dept.dname%TYPE IS
. . .

次のコードを、

PROCEDURE foo (name IN dept.dname) IS
. . .

次のように変更します。

PROCEDURE foo (name IN dept.dname%TYPE) IS
. . .

例2:

次のコードを、

FUNCTION return_table RETURN dept IS
. . .

次のように変更します。

FUNCTION return_table RETURN dept.%ROWTYPE IS
. . .

次のコードを、

PROCEDURE foo (name IN dept) IS
. . .

次のように変更します。

PROCEDURE foo (name IN dept%ROWTYPE) IS
. . .

例3:

次の例は、例外的に%TYPEを使用できない場合を示しています。

パラメータを宣言する際に、次のコードを、

FUNCTION return_parm (x IN NUMBER)
  RETURN x IS
. . .

次のように変更します。

FUNCTION return_parm (x IN NUMBER)
  RETURN number IS
. . .


エラー・メッセージについて

各コンポーネントには、次に示す一意のエラー・メッセージ接頭辞があります。

接頭辞	コンポーネント
FRM	Form Builder
OG	Graphics Builder
PDE	Procedure Builder
REP	Reports Builder
BRW	Query Builder
BRS	Schema Builder
NX, XBD	Translation Builder
注意: UNIXでは、Report Builderにより、いくつかのメッセージに表示される$status変数の値は0(正常終了)または1(異常終了)に設定されます。

Forms DeveloperおよびReports Developerのエラー・メッセージに加え、次に示す他のソースからのエラー・メッセージが発生する場合があります。

接頭辞	ソース	ヘルプ
ORA	Oracle Server	『Oracle8 Serverエラー・メッセージ』
PLS	PL/SQL	『Oracle8 Serverエラー･メッセージ』
『Oracle8 Serverエラー・メッセージ』には、SQL*DBA、SQL*Loader、SQL*Module、エクスポート、インポート、Oracleプリコンパイラなど、すべてのデータベース・ユーティリティのエラー・メッセージ・コードと説明が挙げられています。

システム固有のエラー・メッセージについては、オペレーティング・システムのマニュアルに記述されています。


サポート担当への連絡

エラーによっては（内部エラーなど）、エラー報告のためサポート担当に連絡が必要なものがあります。カスタマ・サポートに連絡する場合、次の情報を用意しておいてください。

1	氏名、会社名およびOracleサポートID番号。

2	ハードウェア、オペレーティング・システムおよび使用しているオペレーティング・システムのリリース番号。

3	エラー発生時に使用していたコンポーネントの完全なバージョン番号、および改訂番号とポート・リリース番号（存在する場合）。（コンポーネントのバージョン番号が不明な場合は、「ヘルプ」 [image] 「バージョン情報」を選択してください。）

4	エラー発生時に使用していたその他のすべてのコンポーネント（およびバージョン番号）（たとえば、Oracle 8.0.4）。

5	1つ以上のエラー・メッセージが発生した場合、それらが現れた順に、正確なメッセージ番号と説明。

6	問題の説明（異常な状態など）。

7	次のコードに基づいた、問題の重大度。

•	1:  プログラムが使用できない。操作に重大な影響がある。

•	2:  プログラムは使用できる。操作がかなり制限される。

•	3:  プログラムは使用できるが機能に制限がある。全体の操作に重大な影響はない。

•	4:  使用方法が限定される。操作にはわずかな影響しかない。


異常な状態

時々、異常な状態として知られているエラーが発生する場合があります。これは、次に挙げる原因から起きる可能性があります。

•	アプリケーションが要求されたタスクを完了できない事態が生じました。たとえば、誰かが標準のユーザー・インタフェースを使用せずに、データベースの表の中のデータを変更した場合、無効な値を入力する可能性があります。

•	ソフトウェアのバグが、要求されたタスクの完了を妨げました。

対策  まず、メッセージがForms DeveloperおよびReports Developer以外のものが原因で起きたかどうかを確認するため、システム管理者に連絡してください。メッセージがユーザー・エラーやシステム問題から発生したのではないことが確認された場合、サポート担当に連絡してください。


Forms Developerの各国語サポート

  関連項目

世界各国で使用できるアプリケーションを設計する場合、データの表示方法について各国語固有の表記法規約を使用することにより、世界中のユーザーがそれぞれの言語でアプリケーションと対話できるようにしたいものです。Oracleの各国語サポート（NLS）は、次の3つの主要な階層で構成されます。

•	各国語文字コード体系のサポート

•	言語および地域の表記法規約のサポート

•	アプリケーションの翻訳

このように、文字レベル、データ表示レベルおよびインタフェース・レベルでのサポートを組み合せることにより、作成したアプリケーションは、マルチバイト・キャラクタのコード体系および双方向性を含め、ヨーロッパ、中東およびアジアのほとんどの言語で使用できるようになります。


NLSアーキテクチャ

  関連項目

NLSアーキテクチャには、次の2つの主要な部分で構成されます。

•	言語に依存しない機能

•	言語依存のデータ

言語に依存しない機能では、実行時にオペレータが使用する言語および地域に応じて適切な方法でデータを処理し、その国での日付および時刻の表記法規約に従って、データを自動的に書式設定します。

言語依存のデータを特定することにより、作成したアプリケーションに固有な文字列の翻訳のみをアプリケーションで処理できるようになります。


各国語サポートの環境変数

  関連項目

次に示すパラメータを環境変数として使用することにより、Forms Developerの言語設定を指定できます。

パラメータ	指定する言語設定
NLS_CALENDAR	使用するカレンダー・システム
NLS_CREDIT	正の通貨値を示す文字列
NLS_CURRENCY	各国通貨記号
NLS_DATE_FORMAT	日付用のデフォルト書式
NLS_DATE_LANGUAGE	日付用のデフォルト言語
NLS_DEBIT	負の通貨値を示す文字列
NLS_ISO_CURRENCY	ISO通貨記号
NLS_LANG	Forms Developerの言語設定
DEVELOPER_NLS_LANG	Forms Developer Builderの言語
USER_NLS_LANG	Forms Developer Runtimeコンポーネントの言語
NLS_LIST_SEPARATOR	リスト内の項目を区切るための文字
NLS_MONETARY_CHARACTERS	通貨値用の小数点記号と3桁区切り
NLS_NUMERIC_CHARACTERS	数値用の小数点記号と桁グループ・セパレータ
NLS_SORT	文字データ用のソートのタイプ

これらのパラメータの詳細は、『Oracle8 Serverリファレンス・マニュアル』を参照してください。


NLS_LANG環境変数

  例	  関連項目

NLS_LANG環境変数によって、Forms Developerで使用される言語設定が決まります。

NLS_LANGによって指定される設定は次のとおりです。

•	'しばらくお待ちください...'メッセージなど、ユーザーに対して表示されるメッセージの言語

•	日付と数値用のデフォルトの書式マスク

•	ソート基準

•	キャラクタ・セットを構成する文字

NLS_LANGの構文を次に示します。

NLS_LANG=language_territory.charset

パラメータの内容は次のとおりです。

language	メッセージおよび日と月の名前を表示するための言語とその規約を指定します。 言語を指定しないと、その値はデフォルトで米語に設定されます。
territory	地域を指定し、デフォルトの日付書式や、数値、通貨記号および週番号と曜日番号の計算に使用される表記法規則も指定します。 地域を指定しないと、値はデフォルトでアメリカに設定されます。
charset	データを表すキャラクタ・セットを指定します。これは、使用している言語とプラットフォームに一致するキャラクタ・セットである必要があります。この引数は、メッセージの表示に使用するキャラクタ・セットも制御します。

NLS_LANGの詳細は、『Oracle8 Serverリファレンス・マニュアル』を参照してください。


DEVELOPER_NLS_LANG環境変数とUSER_NLS_LANG環境変数

  例	  関連項目

ほとんどの場合、NLS_LANGには1つの値を設定するのみで十分です。ただし、同一コンピュータ上で2か国語のリソース・ファイルとメッセージ・ファイルを同時に使用する必要がある場合、次の2つの環境変数が使用できます。

•	DEVELOPER_NLS_LANGは、製品のBuilder用の言語を指定します。

•	USER_NLS_LANGは、製品のRuntimeコンポーネント用の言語を指定します。

DEVELOPER_NLS_LANGとUSER_NLS_LANGの構文は、NLS_LANGと同じです。

次のような状況の場合は、NLS_LANGを1つ使用するかわりに、上記の2つの変数を使用します。

•	Builderは英語で使用する必要があるが、アプリケーションを他言語用に開発している場合。

•	双方向キャラクタ・セットを使用する言語で実行するアプリケーションを作成している場合。

•	Builderの各国語バージョンが使用できない言語で実行するアプリケーションを作成している場合。

注意  これらの環境変数を個別に指定しないと、それぞれがNLS_LANGのデフォルト値を取ります。

NLS_LANGの詳細は、『Oracle8 Serverリファレンス・マニュアル』を参照してください。


NLS_LANG環境変数の設定

  例	  関連項目

NLS_LANG環境変数を設定するには:

  NLS_LANG環境変数の値を定義する方法は、使用しているオペレーティング・システムについて他の環境変数を定義する場合と同じです。パスの長さなど、プラットフォームに固有の規則に注意してください。

たとえば、Microsoft Windows NTについてNLS_LANGを設定するには、次の手順を実行します。

1	「スタート」メニューの「ファイル名を指定して実行」を選択します。

2	'regedit'と入力し、「OK」をクリックして、レジストリ・エディタをオープンします。

注意  Windowsのレジストリを変更すると、システムの動作に大きく影響します。環境変数の変更は、必要な場合にのみ行います。操作を誤った場合は、「キャンセル」をクリックし、再度実行します。

1	「HKEY_LOCAL_MACHINE」ノードを拡張し、次に「SOFTWARE」ノードを拡張します。

2	「ORACLE」をクリックし、レジストリ・エディタの右側のパネルにOracle環境変数を表示します。

3	NLS_LANG環境変数をダブルクリックします。

4	「値のデータ」テキスト・ボックスにNLS_LANGの新しい値を入力し、「OK」をクリックします。

注意  NLSの機能を使用する場合は、製品がNLSコンポーネントを特定できるように、少なくともNLS_LANGを設定する必要があります。


Windowsプラットフォームでのフォントのエイリアシング

  関連項目

特定のフォントを使用してアプリケーションを作成しても、実行すると別のフォントが使用されている場合があります。この問題は、多くの場合、西ヨーロッパ圏以外の言語環境で英語フォント（MS Sans SerifやArialなど）を使用すると発生します。この問題が起こる理由は、フォントに関連付けられているキャラクタ・セットと、言語環境変数によって指定されたキャラクタ・セットが一致しているかどうかが、Forms Developerによってチェックされるためです。2つのキャラクタ・セットが一致しない場合、Forms Developerでは、言語環境変数によって指定されているキャラクタ・セットと一致するキャラクタ・セットに関連付けしているフォントに自動的に置換します。この自動置換によって、データベースから返されるデータがアプリケーション内で正しく表示されます。

注意  英語フォントを使用して各国語の文字を入力した場合、Windowsでは他のフォントに暗黙的な関連付けを行います。

ただし、このような自動置換を行いたくない場合もあります。自動置換が行われないようにするには、希望するすべてのフォントを、フォント・エイリアス・ファイル内のWE8ISO8859P1キャラクタ・セットにマッピングします。たとえば、アプリケーション内でArialフォントを使用できないときは、フォント・エイリアス・ファイルに次の行を追加します。

Arial.....=Arial...WE8ISO8859P1


サポートされているMicrosoft Windowsのキャラクタ・セット

キャラクタ・セット名	説明
AR8MSWIN1256	MS Windowsコード・ページ1256、8ビット、ラテン語/アラビア語
BG8MSWIN	MS Windows 8ビット、キリル語（ブルガリア）
CL8MSWIN1251	MS Windowsコード・ページ1251、8ビット、ラテン語/キリル語
EE8MSWIN1250	MS Windowsコード・ページ1250、8ビット、東ヨーロッパ言語
EL8MSWIN1253	MS Windowsコード・ページ1253、8ビット、ラテン語/ギリシア語
ET8MSWIN923	MS Windowsコード・ページ923、8ビット、エストニア語
IW8MSWIN1255	MS Windowsコード・ページ1255、8ビット、ラテン語/ヘブライ語
JA16SJIS	Shift-JIS、16ビット、日本語
KO16KSC5601	KSC5601、16ビット、韓国語
LT8MSWIN921	MS Windowsコード・ページ921、8ビット、リトアニア語
TH8TISASCII	タイ工業規格620-2533 - ASCII、8ビット
WE8ISO8859P1	ISO 8859-1、西ヨーロッパ言語
ZHS16CGB231280	CGB2312-80、16ビット、簡体字中国語
ZHT16BIG5	BIG5、16ビット、繁体字中国語


サポートされているアラビア語の表示キャラクタ・セット

Id	キャラクタ・セット名	説明
61	AR8ASMO708PLUS	ASMO 708 Plus Client、8ビット、ラテン語/アラビア語
72	AR8XBASIC	EBCDIC XBASIC Client、8ビット、ラテン語/アラビア語
504	AR8NAFITHA711T	Nafitha Enhanced 711 Client、8ビット、ラテン語/アラビア語
505	AR8SAKHR707T	SAKHR 707 Client、8ビット、ラテン語/アラビア語
506	AR8MUSSAD768T	Mussa'd Alarabi/2 768 Client 8-bit ラテン語/アラビア語
507	AR8ADOS710T	Arabic MS-DOS 710 Client、8ビット、ラテン語/アラビア語
508	AR8ADOS720T	Arabic MS-DOS 720 Client、8ビット、ラテン語/アラビア語
509	AR8APTEC715T	APTEC 715 Client、8ビット、ラテン語/アラビア語
511	AR8NAFITHA721T	Nafitha International 721 Client、8ビット、ラテン語/アラビア語
514	AR8HPARABIC8T	HP ARABIC8 Client、8ビット、ラテン語/アラビア語
567	AR8ARABICMACT	Mac Client、8ビット、ラテン語/アラビア語


言語および地域の表記法規約

  関連項目

文字コード体系によって各言語に必要な個々の文字が使用できる一方で、各国語の表記法規約のサポートにより、ローカライズされたデータ項目が正しく表示されます。

指定の言語によって、次の要素についてデフォルトの表記法規約が決まります。

•	サーバー・メッセージの言語

•	曜日名、月名およびそれらの省略形（SQL関数TO_CHARとTO_DATEによって指定）の言語

•	AM、PM、ADおよびBCを表す記号

•	ORDER BYを指定したときのデフォルトのソート基準（ORDER BYが指定されない限り、GROUP BYではバイナリ・ソートが使用されます）。

•	文字表記の方向

•	肯定応答または否定応答の文字列

たとえば、言語にフランス語を設定すると、次のメッセージ

ORA-00942：表またはビューが存在しません
FRM-10043:ファイルをオープンできません。

は、次のように表示されます。

ORA-00942：table ou vue inexistante
FRM-10043:Ouverture de fichier impossible.

指定された地域によって、次のような日付および数値に関するデフォルトの書式設定が決まります。

•	日付書式

•	小数点記号と桁グループ・セパレータ

•	各国通貨記号

•	ISO通貨記号

•	週の開始日

•	貸し方および借り方の記号

•	ISO週フラグ

•	リスト・セパレータ

たとえば、地域にフランスを設定すると、カンマを小数点記号として使用して数値が書式設定されます。


サポートされている言語

省略形	言語
us	米語
ar	アラビア語
bn	ベンガル語
ptb	ポルトガル語（ブラジル）
bg	ブルガリア語
frc	フランス語（カナダ）
ca	カタロニア語
hr	クロアチア語
cs	チェコ語
dk	デンマーク語
nl	オランダ語
eg	エジプト語
gb	英語
et	エストニア語
sf	フィンランド語
f	フランス語
d	ドイツ語
din	ドイツ工業規格
el	ギリシア語
iw	ヘブライ語
hu	ハンガリー語
is	アイスランド語
in	インドネシア語
i	イタリア語
ja	日本語
ko	韓国語
esa	スペイン語（ラテン・アメリカ）
lv	ラトビア語
lt	リトアニア語
ms	マレー語
esm	スペイン語（メキシコ）
n	ノルウェー語
pl	ポーランド語
pt	ポルトガル語
ro	ルーマニア語
ru	ロシア語
zhs	簡体字中国語
sk	スロバキア語
sl	スロベニア語
e	スペイン語
s	スウェーデン語
th	タイ語
zht	繁体字中国語
tr	トルコ語
uk	ウクライナ語
vn	ベトナム語

注意  特定の言語がサポートされていても、その言語の翻訳が使用できるとは限りません。


サポートされている地域

アルジェリア	ギリシア	ポルトガル
アメリカ	香港	カタール
オーストリア	ハンガリー	ルーマニア
バーレーン	アイスランド	サウジ・アラビア
バングラデシュ	イラク	スロバキア
ブラジル	イスラエル	スロベニア
ブルガリア	イタリア	ソマリア
カナダ	日本	スペイン
カタロニア	ヨルダン	スーダン
中国	韓国	スウェーデン
CIS	クウェート	スイス
クロアチア	ラトビア	シリア
キプロス	レバノン	台湾
チェコ共和国	リビア	タイ
チェコスロバキア	リトアニア	オランダ
デンマーク	マレーシア	チュニジア
ジブティ	モーリタニア	トルコ
エジプト	メキシコ	ウクライナ
エストニア	モロッコ	アラブ首長国連邦
フィンランド	ノルウェー	イギリス
フランス	オマーン	ベトナム
ドイツ	ポーランド	イエメン


Forms Developerの双方向サポート

  関連項目

中東圏の言語および北アフリカ圏の言語についてのNLSサポートには、通常の文字表記方向が右から左である言語の双方向サポートが含まれます。

双方向サポートによって、開発者は次の事項を制御できるようになります。

•	レイアウト方向。右側にラベルがあり、チェックボックスおよびラジオ・ボタンが正しい位置に配置されている項目の表示を含みます。

•	読み方向。右から左または左から右のテキスト方向を含みます。

•	整列。原点の左上から右上への切替えを含みます。

•	初期キーボード状態。エンド・ユーザーがフォームへの入力を開始したときに、各国語文字またはローマ字が自動的に生成されるかどうかを制御します（エンド・ユーザーはこの設定を上書きできます）。

NLS_LANG環境変数に加え、双方向アプリケーションでは次の2つの環境変数を使用する場合があります。

•	DEVELOPER_NLS_LANG

•	USER_NLS_LANG

たとえば、Windows環境でアラビア語のアプリケーションを開発しているときに、米語のインタフェースを使用する場合は、これらの環境変数を次のように設定します。

DEVELOPER_NLS_LANG=AMERICAN_AMERICA.AR8MSWIN1256
USER_NLS_LANG=ARABIC_territory.charset


Form Builderの双方向サポート

  関連項目

双方向アプリケーションでのオブジェクトの外観を指定するには、「方向」、「文字位置」、「読込み順序」、「キーボード状態」および「初期キーボード状態」の5つのプロパティが使用されます。

「方向」は包括的なプロパティで、各オブジェクトについてできる限り多くの機能を提供します。テキスト項目と表示項目を除くすべてのオブジェクトについて、「方向」プロパティが唯一の双方向プロパティで、その設定によって双方向機能の他の局面が制御されます。（ただし、リスト項目には、「初期キーボード状態」と「キーボード状態」の各プロパティが含まれます。）

テキスト項目と表示項目には「方向」プロパティはありませんが、「文字位置」、「読込み順序」、「初期キーボード状態」および「キーボード状態」の各プロパティに限り、これらの項目について設定できます。

キーボード状態は1つの言語に制限できます。たとえば、「キーボード状態」に「ローカル」を設定すると、エンド・ユーザーはキーボードを他の言語に切り替えることができなくなります。

双方向プロパティに「デフォルト」を設定すると、これらのプロパティは、言語環境変数で指定された通常の文字表記方向の値を継承します。ほとんどの場合、これによって希望する機能は提供されます。継承されたデフォルト値を上書きしたいときは、双方向プロパティを指定するのみです。

双方向プロパティの継承は次のとおりです。

	デフォルト設定の値が導出されるオブジェクト
フォーム	言語環境変数
警告、ブロック、値リスト、ウィンドウおよびキャンバスビューなど、すべてのオブジェクト	フォーム
テキスト項目、表示項目、チェックボックス、ボタン、ラジオ・グループおよびリスト項目などのすべての項目	キャンバスビュー

双方向機能に関連する大部分のプロパティは、プログラムによって取り出し、設定できます。詳細は、適切なビルトイン・サブプログラムの説明を参照してください。たとえば、ボタンの「方向」プロパティの値を取得する方法の詳細は、GET_ITEM_PROPERTYの説明を参照してください。


Report Builderの双方向サポート

  関連項目

双方向アプリケーションでのオブジェクトの外観を指定するには、「位置揃え」、「方向」（オブジェクト用）および「方向」（レポート用）の3つのプロパティが使用されます。双方向プロパティは、次に示す階層でオブジェクトに追加されます。

モジュール

ボイラープレート

フィールド

外部ボイラープレート

ボタン

パラメータ・フォーム・ボイラープレート

このリストにないオブジェクトは、双方向サポートを必要としないか（イメージなど）、上記のいずれかのオブジェクト・プロパティからデフォルト値を継承します。


Forms DeveloperのUnicodeサポート

  関連項目

Unicodeは、1つのアプリケーションで多言語テキストを表示できるようにするグローバルなキャラクタ・セットです。これによって多国籍企業では、次に説明するように、1つの多言語アプリケーションを開発し、それを世界各国で実行できます。

グローバルな市場では、次のようなキャラクタ・セットが必要です。

•	すべての言語について製品の1つのインプリメンテーションで済み、さらに世界各国で簡単にインプリメントできること。

•	主要スクリプトをすべて含むこと。

•	多言語ユーザーおよび多言語組織をサポートします。

•	インターネットを使用して世界各国間でのデータ交換が可能であること。

Forms DeveloperではUnicodeをサポートしています。Unicodeを使用すると、西ヨーロッパ、東ヨーロッパおよび中東（双方向）などのシングルバイト言語や、中国語、日本語および韓国語（CJK）などマルチバイトのアジア言語といった複数の言語を、同一アプリケーションで表示できるようになります。

すべての言語を網羅する1つのキャラクタ・セットを使用することにより、さまざまな言語についてさまざまなキャラクタ・セットを用意する必要がなくなります。

たとえば、日本語などのマルチバイト言語を表示するには、NLS_LANG環境変数を次のように設定する必要があります（Windowsプラットフォームの場合）。

Japan_Japanese.JA16SJIS

ドイツ語などのシングルバイト言語を表示するには、NLS_LANGを次のように設定する必要があります（Windowsプラットフォームの場合）。

German_Germany.WE8ISO8859P1

この方式の明らかな短所は、アプリケーションで一度に表示できる文字が1つのキャラクタ・セットに限られることです。複数のキャラクタ・セットを組み合せた言語データは生成できません。

Unicodeキャラクタ・セットでは、NLS_LANGのキャラクタ・セット部分に、特定言語のキャラクタ・セットのかわりにUTF8を設定できます。これによって、異なる言語およびキャラクタ・セットの文字を同時に表示できます。

たとえば、画面上に日本語とドイツ語を同時に表示するには、NLS_LANGの変数を次のように設定する必要があります。

Japanese_Japan.UTF8

または

German_Germany.UTF8

Forms DeveloperのUnicode機能によって、アプリケーション開発者とエンド・ユーザーは、多言語テキストをフォーム内で表示できるようになります。これには、Unicodeを含むデータベースのテキスト、多言語テキスト、GUIオブジェクト内のテキスト（ボタン・ラベルなど）、キーボード入力されたテキストおよびクリップボードのテキストなども含まれます。Forms Developerでは現在、Windows NT 4.0とWindows 95/98（限定サポート）上でUnicodeをサポートしています。

注意  Web用にアプリケーションを開発する場合は、Unicodeを使用できます。これは、JavaによってUnicodeがサポートされているためです。


構成に関する考慮点

  関連項目

UNIXサーバーでは複数のORACLE_HOME(ORACLE_HOMEはOracleソフトウェアについてそれ自体によって作成されるディレクトリ）をサポートできるため、複数のNLS設定をサポートできます。つまり、1台のUNIXサーバーで複数の言語をサポートできます。

ただし、Windows NTでは、サポートできるORACLE_HOMEは1つに限られるため、サポートできるNLS設定も1つのみです。つまり、Windows NTでサポートできる言語は1つのみです。


Unicodeフォントのサポート

  関連項目

Unicodeの多言語テキストを表示するには、絵文字または表示される言語の文字を含むフォントを使用する必要があります。Windows NT、Windows 95およびWindows 98の場合、Microsoft社によって提供されるTrueTypeの'Big Fonts'か、サード・パーティーのUnicodeフォントを使用する必要があります。多言語テキストを入力、表示または印刷して、予期しない文字が表示された場合は、Big Fontを使用していない可能性があります。Microsoft社がNT 4.0で提供しているBig Fontは次のとおりです。

•	Arial

•	Courier New

•	Lucida Console

•	Lucida Sans Unicode

•	Times New Roman

WindowsのBig Fontで表示要件が満たされない場合は、サード・パーティーのフォントを使用します。


Unicodeサポートの有効化

  関連項目

Forms DeveloperでUnicodeサポートを有効にするには、NLS_LANGを次のように設定します。

NLS_LANG=language_territory.UTF8


キャラクタ・セット間の変換

  関連項目

複数の言語で使用するアプリケーションの設計を始めるとき、アプリケーションのエンド・ユーザーによって使用されるキャラクタ・セットと、アプリケーション開発者によって使用されるキャラクタ・セットの両方を考慮する必要があります。実行時におけるキャラクタ・セット・レベルでの変換は自動ですが、この変換によってパフォーマンスは影響を受けます。

たとえば、1つのキャラクタ・セットでアプリケーションを構築し、別のキャラクタ・セットで実行すると、パフォーマンスの低下が見られる場合があります。また、特定の文字と同等の文字がキャラクタ・セットに含まれていない場合、クエスチョン・マーク（?）などの代替文字が表示されます。ただし、目に見える違いがわからない場合でも、パフォーマンスの問題があるため、言語の生成に使用するキャラクタ・セットには開発者として十分な注意を払う必要があります。

注意  Forms Developerでは、AR8MSWINとAR8ISOまたはIW8MSWINとIW8ISOなど、同一言語のキャラクタ・セット間の変換のみを行います。

複数の言語または同一言語でも異なるキャラクタ・セットで実行するアプリケーションを設計する場合、最適なパフォーマンスを実現するため、生成する環境を実行時環境に合せる必要があります。たとえば、次の作業を行います。

•	実行時に最も幅広く使用されるキャラクタ・セットを判断します。

•	言語環境変数をそのキャラクタ・セットに設定して環境を生成します。

注意  Form Builderの場合、生成時に使用されるキャラクタ・セットは、実行時環境でキャラクタ・セットを指定した場合でも、実行時に使用されます。


Forms Developerユーザー・インタフェース

  関連項目

Oracleではソフトウェアの多言語化で1つの実行可能なアプローチを使用します。つまり、シングルバイトのヨーロッパ言語やマルチバイトのアジア言語を処理するために、別の実行可能ファイル（f60des.exeなど）が不要になることを意味します。同一のツール・セットを使用して、英語および英語以外のアプリケーションを作成できます。

注意  Forms Developerでは、異なる言語のフォントおよび入力方式について、Microsoft社のWindowsオペレーティング・システムに依存しています。任意の言語でテキストを入力および表示するには、その言語をサポートするWindowsのバージョンを実行している必要があります（タイ語を表示するには、Thai語のWindowsを実行している必要があります）。

Forms Developerのインストール時に、インストールするメッセージ・ファイルの言語を選択します。Forms Developerのコンポーネント（Form Builderなど）を使用すると、言語環境変数に基づく適切なメッセージ・ファイルを使用してインタフェースが表示されます。たとえば、次のインタフェース要素が含まれます。

•	メッセージ

•	メニューとメニュー項目

•	ダイアログ・ボックス

•	プロンプトとヒント

•	警告

現行の言語設定に対応するメッセージ・ファイルがForms Developerによって検索されない場合、デフォルトで米語のメッセージ・ファイルが設定されます。

注意  メッセージ・ファイルのインストール時に指定できる言語は、米語の他に1つのみです。Forms Developerを別の言語で使用する必要が生じた場合は、適切なメッセージ・ファイルを使用してForms Developerを再インストールする必要があります。

メッセージ・ファイル名によって、Forms Developerコンポーネントと言語が指定されます。その場合、次のようなファイル命名規則が使用されます。

<product_id><language_id>.MSB

たとえば、Form Builderの場合を次に示します。

FMDUS.MSBには、デフォルト（米語）のBuilderメッセージが含まれます。

FMGUS.MSBには、デフォルト（米語）のGenerateメッセージが含まれます。

FMFUS.MSBには、デフォルト（米語）のRunformメッセージが含まれます。

FMFI.MSBには、イタリア語のRunformメッセージが含まれます。

FMFD.MSBには、ドイツ語のRunformメッセージが含まれます。

言語に依存するメッセージ・ファイルのインストールの詳細は、使用しているプラットフォーム用インストレーション・ガイドおよびユーザーズ・ガイドを参照してください。

注意  言語用の補足製品には上位互換性がありません。それらの製品は、共にリリースされたバージョンのForms Developerとのみ動作するように提供されています。以前のリリースの言語用の補足製品がすでにインストールされている場合は、システムから削除する必要があります。


CONVERTを使用したデータ変換

SQL関数CONVERTを使用すると、キャラクタ・セット間でデータを変換できます。この関数は、1つのキャラクタ・セットでの文字列のバイナリ表現を、別のキャラクタ・セットのバイナリ表現に変換します。変換の詳細は、「キャラクタ・セット間の変換」を参照してください。

CONVERTの詳細は、『Oracle8 Serverリファレンス・マニュアル』を参照してください。


デフォルトの書式マスク

  例	  関連項目

言語環境変数によって、Forms Developerインタフェース（BuilderとRuntime）で使用される言語のみでなく、データの表示に使用される一連のデフォルト書式マスクも定義されます。ただし、明示的な書式マスクによってデフォルトが上書きされない場合に限ります。アプリケーション開発者としてデフォルトの表示マスクを上書きする場合は、NLS関連の追加の書式マスクも使用できます。

Forms Developerまたはアプリケーションに入力されるすべてのデータでは、特定の地域に関連付けられたデフォルトの書式マスクが使用されます。そのため、アプリケーションの構築時および実行時に言語を変更でき、日付および数値の書式を変える必要はありません。

Forms Developerでは、次の場合に限りデフォルトの書式マスクを使用します。

•	Builderの使用時: Builderによって、項目、範囲またはパラメータのデフォルト値が表示される場合

•	実行時： ユーザーが、DATEやNUMBERなど、地域固有の型を持つテキスト項目に対してデータを入力する場合

多言語アプリケーションの日付フィールドおよび通貨フィールドについて作業するときは、次の点を考慮する必要があります。

•	表示されるすべての項目（ボイラープレート、テキスト項目、ボタンなどのインタフェース・オブジェクトおよび値リスト）の長さを増やして、テキストの翻訳、および各国語固有の表記法規約に基づく形式で数値を表示できるようにするかどうか。

•	特別な書式マスクを作成するために、NLS関連の書式マスク文字を使用する必要があるかどうか、またはNLS_LANGによって起動されるデフォルトの書式マスクで十分かどうか。


ヒント
暗黙的な型変換の場合、PL/SQLでは常にデフォルトの米語書式（DD-MON-YYなど）が使用されるため、地域固有の型を持つ項目をPL/SQLで使用する場合は、正しい書式マスクを指定する必要があります。PL/SQLで地域固有の項目を翻訳する場合、オラクル社では次に示すとおり、TO_DATEを使用することをお薦めします。

IF :emp.hiredate < TO_DATE('30-12-1996','DD-MM-YYYY') THEN
   ...


書式マスク文字

  例	  関連項目

次の書式マスク文字を使用すると、デフォルトの書式マスクを上書きできます。

日付の書式マスク文字

文字	戻り値
D	日の桁（1～7）
DY	曜日の名前（省略形）
DAY	曜日の名前（空白埋めによって9文字分の長さにされます）
WW	週の桁。アルゴリズムint((day-jan1)/7)によって計算されます。
IW	ISO週の桁
MON	月の名前（省略形）
MONTH	月の名前（空白埋めによって9文字分の長さにされます）
RM	ローマ数字による月の文字
I,IY,IYY,IYYYY	先頭から順に、ISO年の最後の1桁、2桁、3桁およびISO年
BC,AD,B.C.,A.D.	BCまたはADの記号（ピリオド付きとピリオドなし）
AM,PM,A.M.,P.M.	AMまたはPMの記号（ピリオド付きとピリオドなし）
ISOとその日付書式マスクの詳細は、『Oracle Server SQLリファレンス』を参照してください。

数値の書式マスク文字

文字	戻り値
C	国際通貨記号
L	各国通貨記号
D	小数点セパレータ
G	桁グループ（3桁）セパレータ


文字データのソート

  制約	  例	  関連項目

従来から文字データをソートするときは、文字コード体系によって定義される文字の数値に基づいてソート基準が決定されます。このようなソートはバイナリ・ソートと呼ばれ、英語アルファベットについて順序どおりの結果を生みます。これは、ASCII標準およびEBCDIC標準では、AからZまでの文字が昇順の数値で定義されるためです。注意

ただし、他の言語で使用される文字が含まれている場合、バイナリ・ソートでは順序どおりの結果は生まれません。たとえば、昇順のORDER BY問合せによって、文字列ABC、ABZ、BCDおよびﾄBCがこの順序で返されます。文字コード体系では、ﾄはBよりも高い数値を持ちます。

特定の言語について文字のアルファベット順に一致するソート基準を生成するには、文字コード体系の数値を考慮せずに文字をソートする、別のソート手法を使用する必要があります。このような手法は言語ソートと呼ばれます。言語ソートは、バイナリ・ソートで希望の結果が返されるように、文字本来の言語順序を反映する他のバイナリ値と文字を置き換えることによって動作します。

言語上の特殊ケース  言語上の特殊ケースとは、ソート時に1つの文字として扱う必要のある文字順序です。そのような特殊ケースは、言語ソートを使用すると自動的に処理されます。たとえば、スペイン語の言語ソート基準では、2文字のchとllは、cとdの間およびlとmの間にそれぞれ来るとき1つの文字としてソートされることが指定されます。

もう1つの例としてドイツ語のシャープs（ﾟ）があります。ドイツ語の言語ソート基準では、この順序が2文字のSSとしてソートされ、米語の言語ソート基準ではSZとしてソートされます。

このような特殊ケースは、大文字を小文字にまたは小文字を大文字に変換するときにも処理されます。たとえば、ドイツ語でシャープsの大文字は2文字のSSです。このような大/小文字変換の問題は、言語ソート基準によって定義された規則に従って、NLS_UPPER、NLS_LOWERおよびNLS_INITCAPの各関数によって処理されます。（標準関数のUPPER、LOWERおよびINITCAPではこれらの特殊ケースは処理されません。

NLSSORT関数  SQL関数NLSSORTを使用して、文字データをソートできます。この関数は、ソート機構で使用される同等のソート文字列によって文字列を置き換えます。バイナリ・ソートの場合、ソート文字列は入力文字列と同じです。言語ソートが使用されている場合、NLSSORTは元の文字列を置き換えるために使用されたバイナリ値を返します。


注意
ASCII標準では、すべての大文字は小文字の前に表示されます。EBCDIC標準ではそれとは反対に、すべての小文字は大文字の前に表示されます。


言語ソートの制約

  関連項目

言語ソートは、マルチバイト・キャラクタ・セットでサポートされていません。


WHERE句に含まれる文字列の比較

  例	  関連項目

WHERE句に含まれる文字列は、文字のバイナリ値を使用して比較されます。データベース・キャラクタ・セットにおいてより高いバイナリ値を持つ文字は、より低いバイナリ値を持つ文字より'大きい'と言えます。データベース・キャラクタ・セットにおいてより高いバイナリ値を持つ文字は、より低いバイナリ値を持つ文字より'大きい'と言えます。バイナリ値に基づく文字順序は、その言語のアルファベット順と一致しない場合があるため、アルファベット規則に従った比較はあまり行われません。バイナリ・ソートのかわりに言語ソートを実行するには、NLSSORT関数を使用します。


ORDER BY句の制御

  関連項目

言語ソートの順序が使用されている場合、NLSSORTはORDER BY句の各文字項目について暗黙的に使用されます。その結果、ORDER BYについて使用されるソート機構（言語またはバイナリ）は、アプリケーションにとって透明です。

ただし、ORDER BY項目の文字項目についてNLSSORT関数が明示的に指定された場合、暗黙的なNLSSORTは実行されません。つまり、NLSSORTの言語置換は1度のみ適用され、2度目からは適用されません。

デフォルトのソート機構が言語ソートの場合、NLSSORT関数は通常、ORDER BY句では必要ありません。ただし、デフォルトのソート機構がバイナリの場合、次のような問合せでバイナリ・ソートが使用されます。

SELECT ENAME FROM EMP

ORDER BY ENAME

は、バイナリ・ソートを使用します。言語ソートは（次の例に示すドイツ語の場合）、次の構文を使用して取得できます。

SELECT ENAME FROM EMP

ORDER BY NLSSORT(ENAME, 'NLS_SORT = GERMAN')


ALTER SESSIONの使用

  例	  関連項目

NLSデフォルトを上書きするには、ALTER SESSION SQLコマンドを使用できます。たとえば、一部のパラメータ（languageやterritoryなど）を作成し、ユーザーがその値を指定すると仮定します。すると、ユーザーが指定したとおりにセッションを変更できます。

注意  実行時に、サーバーは、NLS_LANGで指定された値に基づいてクライアントのためにALTER SESSIONコマンドを実行します。NLS_LANGが定義されていないと、ALTER SESSION文は実行されません。

Form Builderでは、ALTER SESSIONコマンドについて次のNLSパラメータを指定できます。ただし、Report BuilderとGraphics Builderの場合は、NLS_SORTパラメータしか指定できません。

パラメータ	説明
NLS_LANGUAGE	メッセージおよびエラーを返すためにサーバーによって使用される言語
NLS_TERRITORY	デフォルトの日付マスクおよび通貨マスク用の地域
NLS_DATE_FORMAT	日付用のデフォルト書式
NLS_DATE_LANGUAGE	日付用のデフォルト言語
NLS_NUMERIC_CHARACTERS	小数点記号および桁グループ・セパレータ
NLS_ISO_CURRENCY	ISO国際通貨記号
NLS_CURRENCY	各国通貨記号
NLS_SORT	文字ソート基準
NLS_CALENDAR	現行のカレンダー・システム

これらのパラメータの詳細は、『Oracle8 SQL リファレンス』マニュアルを参照してください。


SQL関数でのNLSパラメータの使用

  関連項目

SQLを使用する場合は常に、次のNLSパラメータを使用してデフォルトのNLS動作を上書きできます。

SQL関数	NLSパラメータ
TO_DATE	NLS_DATE_LANGUAGE NLS_CALENDAR
TO_NUMBER	NLS_NUMERIC_CHARACTERS NLS_CURRENCY NLS_ISO_CURRENCY
TO_CHAR	NLS_DATE_LANGUAGE NLS_NUMERIC_CHARACTERS NLS_CURRENCY NLS_ISO_CURRENCY NLS_CALENDAR
NLS_UPPER	NLS_SORT
NLS_LOWER	NLS_SORT
NLS_INITCAP	NLS_SORT
NLSSORT	NLS_SORT

これらのパラメータの詳細は、『Oracle8 SQLリファレンス』マニュアルを参照してください。


Form BuilderのNLSパラメータ

  関連項目

PL/SQLコードで使用されるNLS環境変数の現行値を取得するには、Form Builderのビルトイン関数を使用できます。

	DEVELOPER_NLS_LANG	USER_NLS_LANG
ビルトイン	GET_FORM_PROPERTY	GET_APPLICATION_PROPERTY
パラメータ	MODULE_NLS_LANG	USER_NLS_LANG

USER_NLS_LANGとDEVELOPER_NLS_LANGはどちらもNLS_LANGの値にデフォルトで設定されるため、どちらかの変数が設定されない場合、Form BuilderのNLSパラメータはNLS_LANGの値を持ちます。

Form BuilderのNLSパラメータはどちらも4つのバリエーションがあり、環境変数のすべてまたは特定部分のみを取り出せます。次の表に、USER_NLS_LANG環境変数を返すGET_APPLICATION_PROPERTYビルトインの4つのパラメータを示します。

パラメータ	戻り値
USER_NLS_LANG	すべてのUSER_NLS_LANG変数
USER_NLS_LANGUAGE	言語部分のみ
USER_NLS_TERRITORY	地域部分のみ
USER_NLS_CHARACTER_SET	キャラクタ・セット部分のみ

DEVELOPER_NLS_LANG環境変数を取り出すには、MODULE_NLS_LANGパラメータを使用してGET_FORM_PROPERTYをコールします。


プリンタ定義ファイルと各国語サポート

  関連項目

レポートを文字モードで使用する場合、レポートの物理ページ幅を、プリンタ定義ファイル（.PRTファイル)で定義されたページ幅より1文字分少なくして定義する必要があります。そのように定義しなかった場合、マルチバイト文字は行の最後の文字スペースから印刷され、すべてを印刷するために次の行に渡る場合があります。たとえば、物理ページ幅が80文字で、プリンタ定義の幅も80文字の場合、マルチバイト文字は80番目の文字から印刷される場合があります。マルチバイト文字は分割できないため、マルチバイト文字をすべて印刷するために81番目の文字を次の行に渡す必要があります。これを回避するため、物理ページ幅はレポートについて79に設定する必要があります。

次に示すアラビア語およびヘブライ語に固有のNLSパラメータは、プリンタ定義ファイルで設定できます。

使用するパラメータ	目的	パラメータの値
nls locale	印刷エンジンの地域を設定する。	hebrewまたはarabic
nls datastorageorder	論理データ格納または可視データ格納を設定する。	logicalまたはvisual
nls contextuallayout	アラビア語プリンタについて、事前の文脈依存レイアウトを実行する。	noまたはyes
nls contextualshaping	アラビア語プリンタについて、事前の文脈依存形状を実行する。	noまたはyes
nls pcharset	プリンタのキャラクタ・セットを指定する。	任意のキャラクタ・セット

プリンタ定義ファイルの詳細は、Report Builderのヘルプ・システムを参照してください。


アプリケーションの翻訳

  関連項目

すべてのエラー・メッセージとボイラープレート・テキストは、同じ言語で表記される必要があります。アプリケーションの実行時、エンド・ユーザーに対して表示されるメッセージまたはボイラープレート・テキストのソースには、次の3つがあります。

•	サーバーからのエラー・メッセージ

•	Forms Developerによって生成される実行時エラー・メッセージ

•	アプリケーションの一部として定義されるメッセージまたはボイラープレート・テキスト

OracleのNLSでは、最初の2つのソースの翻訳を処理します。アプリケーション開発者は、3つ目のソースであるメッセージおよびボイラープレート・テキストを翻訳する必要があります。

通常、翻訳する必要のあるアプリケーション固有のテキストには、次の2つのタイプがあります。

•	メニュー、ボイラープレート・テキスト、項目ラベル、メッセージおよびヒントなど、翻訳可能なテキスト

•	トリガー内で定義された警告およびメッセージを含む、トリガーおよびプロシージャ内の文字列

Translation Builderを使用することによって、ユーザー・インタフェース内の'翻訳可能テキスト'を、複数の言語に翻訳できます。Translation Builderを使用すると、各言語について個別のバイナリ・ファイルを生成することにより、ほとんどすべてのForms Developer多言語アプリケーションを翻訳できるようになります。

Translation Builderではユーザー・インタフェース内の文字列を検索および翻訳できますが、PL/SQLトリガーおよびプロシージャ内の文字列定数を取り出すことはできません。PL/SQLブロック内の定数テキストについては、手動で翻訳する必要があります。これは、テキストが明確に区切られておらず、多くの場合、変数や文字列から構築されているためです。

Translation Builderの詳細は、Translation Builderのヘルプ・システムを参照してください。


設計に関する考慮点

  関連項目

後で翻訳されるアプリケーションを設計する場合、ウィジェットおよびボイラープレート・ラベル用に、追加スペースを残しておくことに注意します。複数のキャラクタ・セットに対応し、翻訳によるスペースの拡張に対処するには、フィールド、境界線およびボイラープレート・テキストの周辺に、30パーセントの空白を残しておくことをお薦めします。

次に例を示します。

フィールド左側のプロンプト	拡張に備えてプロンプトの左側に30パーセントの余白を残す。
フィールドの上のプロンプト	拡張に備えてプロンプトの右側に30パーセントの余白を残す。
ボタン、チェックボックス、ラジオ・グループおよびポップリスト	30パーセントの拡張を考慮する。
タイトル	タイトルを右に30パーセント拡張できるように、バウンディング・ボックスをサイズ設定する。
表示のみのフィールド	基本言語で必要となるサイズより30パーセント広くサイズ設定する。
すべてのウィジェット	すべての翻訳が表示されるように、ウィジェットのサイズを十分に大きくする。たとえば、ボタンは翻訳されたラベルを表示できるだけの大きさが必要です。 使用する必要のある文字で最も高さのある文字が表示できるように、ボタンの長さだけでなく高さもチェックします。たとえば、漢字の表示に必要なピクセル数を計算します。


Translation Builderアプローチの使用

  関連項目

Translation Builderを使用すると、ほとんどすべてのForms Developer多言語アプリケーションを翻訳できます。アプリケーション側でエンド・ユーザーが実行時に言語を切り替える必要がない限り、Translation Builderを使用して、各言語について個別のバイナリ・ファイルを生成できます。

実行時に1つの言語から別の言語に変更する場合、ユーザーはアプリケーションを終了し、言語環境変数を変更します。次に、アプリケーションを再起動します。

Translation Builderアプローチでは、次の段階に従ってアプリケーションを開発します。

•	ソース言語で1つの基本的なアプリケーション定義を作成します（.FMBや.RDFなど）。

•	Translation Builderを使用して、翻訳する文字列を抽出します。次に、文字列を再度アプリケーション定義内に格納します。

•	PL/SQLライブラリの標準メッセージを手動で翻訳します。

•	Generatorを使用して、各ターゲット言語についてアプリケーションのバイナリ・バージョンを生成します。

メリット  上記の方法は、複数言語のアプリケーションを短時間でインプリメントする最も簡単な方法です。このアプローチを使用すると、最も効率よくTranslation Builderを使用できます。動作が安定しているアプリケーションであれば、このアプローチが最適です。

たとえば、4つの言語でアプリケーションを作成し、後でフィールド・ラベルのテキストを変更する必要が生じた場合は、Builder内で変更を行い、定義ファイルに変更を保存します。次に、Translation Builderを使用して新しいフィールド・ラベルを翻訳し、新しいメッセージを定義ファイルに挿入し、再生成して、新しいラベルを含んだバイナリ・ファイルを作成します。

デメリット  アプリケーションで複数の言語を同時にサポートする必要がある場合、かわりに実行時言語切替えアプローチを使用する必要があります。


実行時言語切替えアプローチの使用

  関連項目

アプリケーションの中には、複数の言語を同時にサポートする必要のあるものが少数ながらあります。たとえば、ウィンドウに英語を表示して起動するアプリケーションは終了するまでその状態である必要がありますが、エンド・ユーザーがそのウィンドウ内のボタンを押すことによってプロンプトをフランス語に切り替えたり、また英語に戻したりする場合があります。

アプリケーションで実行時の言語切替えが必要な場合、言語が同じキャラクタ・セットを共有する限り、複数の言語を組み込むことができますが、実行時にテキストを動的に生成している場合は、Translation Builderを使用して翻訳可能なテキストを特定することはできません。そのかわり、case構造（IF...THEN...ELSIF）を構築し、GET_FORM_PROPERTYを使用してNLS環境変数の値をチェックすることによって、アプリケーションの言語を別の言語に変更できます。

実行時言語切替えアプローチでは、次の段階に従ってアプリケーションを開発します。

•	ライブラリも含めて、アプリケーション全体を1つの言語について開発します。

•	各ライブラリを手動で翻訳します。

•	ボイラープレート・ラベルを、実行時に動的に生成される、適切にサイズ設定された表示項目として設計します。

Form Builderでは複数のライブラリを連結できるため、翻訳されるメッセージについて1つのライブラリを使用し、他のライブラリを他の用途に利用できます。

メリット  このアプローチの主なメリットは、フォームが高度に動的になる洗練されたアプリケーションをサポートできることです。フォームが高度に動的になるケースでは、フォームが変わるたびに各言語について個別のファイルを生成する必要がないため、このアプローチによってメンテナンスに関する一部の問題が回避されます。

デメリット  このアプローチは、他のアプローチより複雑です。言語に固有なメッセージの格納、生成およびそのためのメンテナンスを行ったり、手動で翻訳を実行したりするために非常に多くの作業が発生するためです。たとえば、各ボタンにラベルを設定するために、WHEN-NEW-FORM-INSTANCEトリガーを設定し、NLS環境変数の値に基づいて、連結ライブラリから正しいラベルを読み込みます。


コード内文字列についてのPL/SQLライブラリの使用

  例	  関連項目

Translation Builderでは標準のBuilderインタフェースの一部であるメッセージを翻訳できますが、プログラムによって表示されるメッセージでは特別な処理が必要です。PL/SQLライブラリを使用すると、メッセージについて柔軟なメッセージ構造をトリガーまたはプロシージャ内でインプリメントできます。

ビルトイン・ルーチンMESSAGEまたはCHANGE_ALERT_MESSAGEFを使用して画面にプログラムによって表示されるメッセージや、トリガーまたはプロシージャの表示項目にメッセージを割り当てることによって表示されるメッセージなど、アプリケーション固有のメッセージの場合、連結可能なPL/SQLライブラリを使用して、柔軟なメッセージ機能をインプリメントできます。ライブラリはホスト上に格納し、実行時に動的に連結できます。実行時には検索パスに基づいて、フォームに連結されたライブラリを読み込むことができます。（たとえば、ライブラリはイタリア語のメッセージのみを保有している場合があります。）


各国語サポートの例

  関連項目 	  すべての例

文字列比較の例

書式マスクの例

NLS_LANGの例

PL/SQLライブラリの例


ALTER SESSIONの例

  関連項目

次の文は、小数点記号をカンマに、桁グループ・セパレータをピリオドに変更します。

ALTER SESSION
   SET NLS_NUMERIC_CHARACTERS = ',.'

これらの新しい文字は、それらの数値書式要素DとGを使用すると返されます。

SELECT TO_CHAR(SUM(sal), 'L999G999D99') Total FROM emp

TOTAL
--------------
   FF29.025,00

次の文は、ISO通貨記号を、地域がアメリカの場合のISO通貨記号に変更します。

ALTER SESSION
   SET NLS_ISO_CURRENCY = America

アメリカについて定義されたISO通貨記号が使用されます。

SELECT TO_CHAR(SUM(sal), 'C999G999D99') Total FROM emp

TOTAL
---------------
   USD29.025,00

次の文は、各国通貨記号をDMに変更します。

ALTER SESSION
   NLS_CURRENCY = 'DM'

新しい各国通貨記号は、数値書式要素Lを使用すると返されます。

SELECT TO_CHAR(SUM(sal), 'L999G999D99') Total FROM emp

TOTAL
--------------
   DM29.025,00


文字列比較の例

  関連項目 	  すべての例

ISO 8859/1 8ビット・キャラクタ・セットでABC、ABZ、BCDおよびﾄBCの値を含む列（COL1）があると仮定します。また、次の問合せを作成したと仮定します。

SELECT COL1 FROM TAB1 WHERE COL1 > 'B'

ﾄはBよりも高い数値を持つため、この問合せではBCDとﾄBCが返されます。

次に示すとおり、WHERE句でNLSSORTを使用して、言語比較を実行できます。

WHERE NLSSORT(column) operator NLSSORT(string)

NLSSORTを比較演算子の両側で使用する必要があることに注意してください。

SELECT COL1 FROM TAB1 WHERE NLSSORT(COL1) > NLSSORT('B')

ドイツ語の言語ソートが使用されている場合、ドイツ語アルファベットでﾄはBの後に来るため、この問合せではﾄで始める文字列は返されません。スウェーデン語の言語ソートが使用されている場合、スウェーデン語アルファベットでﾄはZの後に来るため、ﾄで始める文字列が返されます。


書式マスクの例

  関連項目 	  すべての例

NLS準拠のアプリケーションの場合、月名を含む文字列はハードコードしないようにします。ただし、ハードコードされた月名が必要な場合は、COPYビルトインを使用しないようにします。COPYを使用すると、指定する言語によっては、月名が正しく設定されなくなる場合があります。（ライブラリで日付を指定するには、日付の変数を使用すると、COPYは正常に動作します。

言語に依存する例（お薦めできません）

:emp.hiredate := '30-DEC-96';

copy ('30-DEC-96','emp.hiredate');

上記の代わりに、次の例に示すTO_DATEを使用します。

言語に依存しない例（お薦めします）

:emp.hiredate := to_date('30-12-1996','DD-MM-YYYY');


NLS_LANGの例

  関連項目 	  すべての例

アプリケーションをフランス語で実行すると仮定します。アプリケーションはフランスで使用されますが、データはWE8ISO8895P1キャラクタ・セットを使用して表示されます。NLS_LANGを次のように設定する必要があります。

NLS_LANG=French_France.WE8ISO8895P1

ここで、アプリケーションはまだフランス語で実行するものの、今度はスイスで使用すると仮定します。NLS_LANGを次のように設定する必要があります。

NLS_LANG=French_Switzerland.WE8ISO8895P1

その他の例

NLS_LANG=Norwegian_Norway.NDK7DEC
NLS_LANG=Norwegian_Norway.WE8ISO8895P1
NLS_LANG=Japanese_Japan.JA16SJIS
NLS_LANG=Arabic_Egypt.AR8MSWIN1256
NLS_LANG=American_America.AR8MSWIN1256
NLS_LANG=American_America.WE8ISO8859P1


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;

このようなルーチンは、一般的に文字式が有効な場所ではどこでも使用できます。たとえば、適切に翻訳されたアプリケーション・メッセージを使用して警告を表示するために、フォームに次のコードを組み込む場合があります。

Change_Alert_Message('My_Error_Alert', nls_appl_mesg(1001));

n := Show_Alert('My_Error_Alert');

アプリケーションを別の言語に変更するには、nls_appl_mesg関数を含むPL/SQLライブラリを、テキストの翻訳された、nls_appl_mesg関数を含む同名のライブラリに置き換えるのみです。

アプリケーションで複数の言語を同時にサポートする必要がある場合は、上記の関数で希望の言語を示す追加パラメータを受け入れることができ、コードにはさまざまな言語を処理するための追加レベルのIF...THEN...ELSIF...ELSE...ENDが組み込まれます。


バージョン制御について - PVCS

  関連項目

バージョン制御とは、アーカイブ内の同じファイルの複数のバージョンを管理、メンテナンスするプロセスです。

アーカイブはユーザー定義のディレクトリで、ファイルのテキスト版と、そのファイルに加えられたすべての変更と変更日時の記述を含む、各バージョンの情報が収められています。

アーカイブを使用すると、開発チームのメンバーは、安全かつ首尾一貫した方法でファイルの任意のバージョンを検索し、変更した後、戻すことができます。

Form Builderなどのコンポーネントは、汎用的なインタフェースを経由して、任意のソース制御プロバイダにソース制御の機能を提供します。プラグイン・モジュールは、現在INTERSOLV社のPVCS(Polytron Version Control System)やPure-Atria社のClearcase、その他将来リリースされる製品で利用可能です。

PVCSのインストールと使用方法の詳細は、PVCSのマニュアルを参照してください。

PVCSではファイル・ロックとアーカイブ・レポートもサポートしています。


構成ファイルについて

ソース制御インタフェースの最適なパフォーマンスを得るために設定する必要がある4つの環境変数があります。これらの環境変数は、Windows 3.1では、oracle.iniで設定され、Windows NTまたはWindows 95/98では、レジストリのSOFTWARE/ORACLEキーで設定されます。

DEV2000_SOURCECONTROLは、使用するソース制御システムを指定します。これは、"PVCS"に設定する必要があります。Form Builderなどのコンポーネントは、デフォルトでPVCSを使用するため、この変数を省略すると、このリリースでは大きな効果を得ることはできません。ただし、その他のソース制御システムのサポートを追加している場合は、この変数を設定することにより、そのソース制御システムの機能を期待どおり確実に利用することができます。

DEV2000_PROJECTは、Forms Developerリリース1.0および1.1からTVCCFG変数を置き換え、使用する必要があるPVCSプロジェクト構成(.CFG)ファイルを識別します。環境変数を使用してプロジェクト構成ファイルを指定しない場合は、セッションごとに、「ソース制御オプション」ダイアログ・ボックスからプロジェクト構成ファイルを選択する必要があります。

DEV2000_SCVIEWERは、ソース制御のログやレポート操作の違いの結果を表示するために使用するプログラムを制御します。結果の表示を無効にするには、この変数をnull(値なし)に設定します。

DEV2000_SCCONVERTは、ファイルをPVCSに対してチェックインする前にファイルをASCIIに変換するかどうかと、ファイルをチェックアウトする前にファイルをバイナリに戻すかどうかを制御します。以前のバージョンのForms DeveloperでのPVCSの使用からアップグレードしていて、この動作をそのまま残す場合以外は、このエントリをデフォルトのFALSEに設定しておく必要があります。

oracle.iniの例の一部を次に示します。

...

DEV2000_SOURCECONTROL=PVCS

DEV2000_PROJECT=C:\PROJECTS\MYPROJ\MYPROJ.CFG

DEV2000_SCVIEWER=NOTEPAD.EXE

DEV2000_SCCONVERT=FALSE

...


PVCSのインプリメントについて

一定のオブジェクト（フォーム、メニュー、レポート、図表、PL/SQLライブラリ）をチェックインすると、バイナリ・ファイルは等価のテキスト・ファイルに自動的に変換され、そのテキスト・ファイルがソース制御にチェックインされます。たとえば、MYFORM.FMBをチェックインした場合、MYFORM.FMBは自動的にMYFORM.FMBをMYFORM.FMT（テキスト形式のMYFORMファイル）に変換した後、MYFORM.FMTをソース制御にチェックインします。

同様に、アーカイブ・ファイルをチェックアウトする場合、Oracle Developerではテキスト形式のファイルを、デザイナ・インタフェースで読めるバイナリ形式に変換します。MYFORM.FMTをチェックアウトしたら、編集できるようにMYFORM.FMBに変換します。

アーカイブは、あるファイルの異なるバージョン間でより有意義な差分レポートを生成できるように、テキスト形式のファイルに対して行われます。PVCSではバイナリ・ファイルのアーカイブをサポートしていますが、バイナリ・ファイルのバージョン間の差分レポートの生成はできません。

このファイル変換の結果、PVCSの設定によっては、作業ディレクトリに余分なファイルが残ることがあります。プロジェクトが、ワーク・ファイルをチェックイン後に読取り専用ファイルにするよう構成されている場合、作業ディレクトリにはバイナリ・ファイルと読取り専用のテキスト形式のファイルの両方が残ります。ただし、プロジェクトが、ワーク・ファイルをチェックイン後削除するように構成されている場合は、作業ディレクトリにはバイナリ・ファイルのみが残ります。


ファイルのチェックインについて

  関連項目

ファイルを変更しアーカイブにチェックインするたびに、ファイルは新しいバージョンになります。あるファイル（拡張子がpllのPL/SQLライブラリ・ファイルなど）をチェックインすると、PVCSではバイナリからテキストへの変換を自動的に実行し、そのファイルを適切な拡張子（pldなど）を持つテキスト・ファイルとして、指定したディレクトリにアーカイブします。PVCSでは、このテキスト・ファイルを使用してアーカイブ・レポートを生成します。

バージョン・ラベルにより、バージョンはアプリケーションの完全バージョンを構成する代表的なバージョン群の１つとして識別されます。バージョン・ラベルを使用すると、特定のバージョンに関係付けられたすべてのファイルを、1つの名前を参照することで同時に操作できます。現行モジュールのバージョンをすでにアーカイブしている場合、Oracle Developerではアーカイブ・フィールドに適切な情報を自動的に挿入します。


ファイルのチェックアウトについて

  関連項目

アーカイブからファイルをチェックアウトすると、参照、編集または印刷をするためにファイルにアクセスできます。デフォルトでは、ロックされた特定のバージョンをチェックアウトできるのは一度に1人のユーザーのみです。

ファイルをチェックアウトする場合、ファイルはアーカイブされたテキスト版から適切な形式に自動的に変換します（たとえば、PL/SQLライブラリ・ファイルをpldから.pllへ変換）。アーカイブからチェックアウトしたファイルはワーク・ファイルと呼ばれます。ワーク・ファイルをチェックインするたびに、これが最新バージョンになります。


アーカイブ・レポートの作成について

  関連項目

PVCSによって、次のアーカイブ・アクティビティを要約するレポートを生成できます。

•	アーカイブの作成

•	アーカイブされたファイルの属性

•	継続的な改訂

•	ラベル名

•	最後の改訂で変更された行

•	ワーク・ファイルの説明


プロモーション・モデルについて

プロモーション・モデルとは、開発サイクルにおける重要段階の階層構造です。プロモーションを使用して、設計段階から最終的なリリースまでソース・コードの開発を制御します。各重要段階はプロモーション・グループによって表されます。プロモーション・グループの例として、Development（開発）およびQuality Assurance（品質保証）、Production（生産）があります。プロモーション・モデルは先進機能で、正式にソフトウェアの切替えを図っている現場での使用をお薦めします。

プロモーション・モデルには、1つ以上の最下位グループ、すなわち開発グループを設定することができます。プロモーション・モデルが実行されていると、開発グループに関係付けられたバージョンしか変更することはできません。上位グループに関係付けられたバージョンを編集するには、そのバージョンをチェックアウトし、チェックアウト時に1つの開発グループに再び関係付けてから、チェックインしなおして上位グループに再び昇格させる必要があります。

プロモーション・モデルに開発グループが1つしかない場合、一度にロックできるのは、アーカイブ内の1つのバージョンのみです。開発を並行して進めるためのプロモーション・モデルを設計するには、最低2つの開発グループを設定する必要があります。

開発グループの上には、テストや予備リリースの様々な段階のために、中間のプロモーション・グループをいくつでも定義できます。最上位レベルはProductionグループで、 通常、バージョンに最終的なリリースの準備ができたことを示します。

プロモーション・モデルを使用すると、次のことができます。

•	プロジェクトの状態の迅速な判断。1つのプロジェクト内で、プロジェクトに関するアーカイブ・レポートを実行して、どのモジュールが重要段階に達していないかを即座に判断することができます。

•	非開発レベルでのバージョンへのアクセスの制御。開発後のプロモーション・グループに関係付けられたバージョンを変更することはできないので、必ずすべてのバージョンを徹底的にテストするようにします。

•	独自のモデルのカスタム設計。各プロジェクトに最適のプロモーション構造体を、任意の数の重要段階を設定してカスタム設計することができます。


アーカイブ・ディレクトリの作成

  次のステップ	  関連項目

アーカイブ・ディレクトリを作成するには: 注意:

1	「ファイル」 [image] 「管理」 [image] 「ソース制御オプション」を選択して、「ソース制御: オプション」ダイアログを表示します。

2	「プロジェクト」タブがまだ選択されていない場合は選択します。

3	「アーカイブするディレクトリ」フィールドで、自分のアーカイブ・ディレクトリの名前と位置を指定します。

4	「追加」をクリックし、次に「クローズ」をクリックしてダイアログをクローズします。


レジストリでDEV2000_PROJECTパラメータを定義済みでない限り、アーカイブ・ディレクトリを追加することはできません。Microsoft Windowsでは、DEV2000_PROJECTパラメータを次のように定義します。

DEV2000_PROJECT=C:\PVCS\PROJECT1\PROJECT1.CFG

DEV2000_PROJECTパラメータの編集には、Windows 3.1の場合はOracle.iniファイルを使用し、Windows 95/98およびWindows NTの場合はレジストリを使用します。


ファイルのチェックイン

  次のステップ	  関連項目

ファイルをチェックインするには:

1	「ファイル」 [image] 「管理」 [image] 「チェックイン」を選択して、「ソース制御: チェックイン」ダイアログを表示します。

2	「ワーク・ファイル」テキスト・ボックスにアーカイブするファイルの名前を入力します。

3	「アーカイブするファイル」フィールドで、自分のアーカイブ・ディレクトリを指定します。

4	（オプション）  「バージョン・ラベル」、「プロモーション・グループ」、「記述」を指定します。

5	（オプション）  アーカイブ･ファイルのチェックイン後も、ファイルの書込み可能なコピーをローカルに残したい場合、「チェックイン後もロックを継続」チェックボックスをクリックします。ファイルの書込み可能なコピーがあれば、最初にファイルをチェックアウトしなくても、ファイルに後続の変更を加え、チェックインすることができます。

6	「OK」をクリックして、ファイルをチェックインします。

PVCSによってファイルがアーカイブされます。


ファイルのチェックアウト

  次のステップ	  関連項目

ファイルをチェックアウトするには:

1	「ファイル」 [image] 「管理」 [image] 「チェックアウト」を選択し、「ソース制御: チェックアウト」ダイアログを表示します。

2	「ソース・アーカイブ」フィールドでソース・アーカイブ・ディレクトリを指定します。

3	「ファイル名」テキスト・ボックスに、チェックアウトするファイルの名前を入力します。

4	「改訂バージョン」フィールドで、希望するファイルの改訂バージョンを選択します。

5	（オプション）  「配布先」フィールドにパスを入力して、希望する配布先を指定します。

6	（オプション）  チェックアウトするファイルをロックする場合、チェックアウトするバージョンに割り当てられる開発レベルのプロモーション・グループを選択する必要があります。

7	（オプション）  「チェックアウト時にファイルをロック」チェックボックスをクリックします。注意:

8	（オプション）  「チェックアウト時にファイルをオープン」チェックボックスをクリックします。このボックスをチェックすると、チェックアウトしたファイルは、PVCSからチェックアウトした後、デザイナでオープンされます。

9	「OK」をクリックして、ファイルをチェックアウトします。


アーカイブ・ファイルを変更する場合は、変更をチェックインするために、「チェックアウト時にファイルをロック」チェックボックスを使用可能にする必要があります。使用可能にしないと、ファイルの読込み専用版がチェックアウトされます。


アーカイブ・レポートの作成

  関連項目

アーカイブ・レポートを作成するには:

1	「ファイル」 [image] 「管理」 [image] 「ソース制御オプション」を選択します。

2	「レポート」タブをクリックして、「ソース制御: レポート・オプション」ページを表示します。

3	「アーカイブ」フィールドでアーカイブ・ディレクトリを指定します。

4	「ソース・ファイル」フィールドで、希望するアーカイブ・ファイルの名前を指定します。PVCSでは、このファイルとターゲット・ファイルの比較に基づいてレポートが生成されます。

5	「ターゲット・ファイル」フィールドで、ターゲット・ファイルの名前を指定します。注意

6	「改訂バージョン」フィールドで、希望するファイルの改訂バージョンを選択します。

7	「出力ファイル」フィールドでレポートの名前とディレクトリを指定し、「レポート実行」をクリックします。

PVCSによってレポートが作成されます。DEV2000_SCVIEWER環境変数またはレジストリのパラメータで表示プログラムが指定されている場合、出力を表示するためにこのプログラムがコールされます。指定されていない場合は、エディタを使用して、レポート・ファイルをオープンします。


同じアーカイブ内で2つの改訂バージョンを比較する場合、ステップ4で入力したアーカイブ・ファイルの名前を入力します。 異なるアーカイブ・ファイルを比較する場合、「ターゲット・ファイル」フィールドで異なるアーカイブ・ファイルを1つ指定します。


「ソース制御: チェックイン」ダイアログ

  関連項目

希望するファイルを指定したアーカイブにマージします。

「チェックイン」ダイアログには、次のオプションがあります。

ワーク･ファイル	チェックインするファイルの名前を指定します。「参照」を選択して、ファイルを選択することができるファイル・ダイアログを起動します。
アーカイブするファイル	現行のプロジェクトに使用可能なすべてのアーカイブのドロップダウン・リスト。リストからファイルをチェックインするアーカイブを選択します。
バージョン・ラベル	（オプション）ファイルのバージョン・ラベルを指定します。
プロモーション・グループ	PVCSプロジェクトにプロモーション・モデルが定義されている場合、このリストが使用可能になります。チェックインする改訂バージョンに割り当てられる、開発レベルのプロモーション・グループを選択します。
説明	この改訂バージョンに加えられた変更の記述を指定します。オプションですが、チェックアウト時に改訂バージョンを指定しやすくするため、変更の記述を入力することをお薦めします。
チェックイン後もロックを継続	アーカイブ・ファイルの書込み可能なコピーを、チェックイン後もローカルに残すかどうかを指定します。ファイルの書込み可能なコピーがあれば、最初にファイルをチェックアウトしなくても、ファイルに後続の変更を加え、チェックインすることができます。


「ソース制御: チェックアウト」ダイアログ

  関連項目

指定したファイルを、編集できるようにアーカイブから取り出します。

「チェックアウト」ダイアログには、次のオプションがあります。

ソース・アーカイブ	ファイルをチェックアウトするアーカイブのディレクトリ名を指定します。
ファイル名	ソース制御から取り出すファイルの名前を指定します。「参照」を選択して、ファイルを選択することができるファイル・ダイアログを起動します。
改訂バージョン	「ファイル名」フィールドで選択したファイルの、使用可能な改訂バージョンとバージョン・ラベルを表示します。
説明	「改訂バージョン」リストにある使用可能な改訂バージョンの記述をリストします。
配布先	（オプション） チェックアウトするファイルの配布先ディレクトリを指定します。
プロモーション・グループ	PVCSプロジェクトにプロモーション・モデルが定義されている場合、このリストが使用可能になります。チェックアウトするファイルにロックをかける場合、チェックアウトする改訂バージョンに割り当てられる開発レベルのプロモーション・グループを選択する必要があります。
チェックアウト時にファイルをロック	チェックアウトするファイルにロックのマークを付けるかどうかを指定します。ロックされたファイルは、他のユーザーによる更新から保護されます。
チェックアウト時にファイルをオープン	このボックスをチェックすると、チェックアウトしたファイルは、PVCSからチェックアウトした後、デザイナでオープンされます。


「ソース制御: オプション」ダイアログ

  関連項目

「オプション」ダイアログには、次の3つのタブがあります。

「ソース制御: プロジェクト・オプション」ページ

「ソース制御: ファイル・オプション」ページ

「ソース制御: レポート・オプション」ページ


「ソース制御: プロジェクト・オプション」ページ

  関連項目

プロジェクト構成ファイルで、アーカイブ・ディレクトリの追加および削除ができるようにします。

「プロジェクト・オプション」ページには、次の設定項目があります。

現行プロジェクト	現行のPVCSプロジェクト構成ファイルの名前。初期値はレジストリのDEV2000_PROJECTの値です。直接ファイル名を入力するか、または「参照」を選択して、使用しているオペレーティング・システムのファイル・ダイアログを表示することができます。
アーカイブするディレクトリ	現行のプロジェクトで使用可能なアーカイブ・ディレクトリのリストに追加する、新しいアーカイブ・ディレクトリを指定します。直接ディレクトリ名を入力するか、または「参照」を選択して、使用しているオペレーティング・システムのファイル・ダイアログを表示することができます。
アーカイブ・ディレクトリ・リスト	現行のプロジェクトで使用可能なアーカイブ・ディレクトリを表示します。
追加	「アーカイブするディレクトリ」テキスト・ボックスにアーカイブ・ディレクトリを入力してから、「追加」をクリックし、ディレクトリを現行のプロジェクトに追加します。追加されたディレクトリはリストに表示されます。
削除	リストからアーカイブ・ディレクトリを選択し、次に「削除」をクリックして、プロジェクトからディレクトリを削除します。


「ソース制御: ファイル・オプション」ページ

  関連項目

アーカイブのロックやアンロック、またはそのアーカイブでのアクティビティのログの生成ができるようにします。

「ファイル・オプション」ページには、次の設定項目があります。

アーカイブ	現行のプロジェクト構成ファイル内のすべてのアーカイブ・ディレクトリのドロップダウン・リスト。
ファイル名	アクセスするアーカイブ・ファイルを指定します。直接ファイル名を入力するか、または「参照」を使用してファイルを選択することができます。PVCSプロジェクトがワーク・ファイルのパスを無視するように構成されている場合、ワーク・ファイルまたはアーカイブ・ファイルのいずれかを指定できます。そのように構成されていない場合は、必ずアーカイブ・ファイルのみを指定してください。
改訂バージョン	このドロップダウン・リストでは、選択したファイルの使用可能な改訂バージョンとバージョン・ラベルがすべて表示され、ファイルが選択されていない場合には空項目が表示されます。特定の改訂バージョンを選択した場合、その改訂バージョンはロックまたはアンロックされます。改訂バージョンを選択しない場合、プロモーション・モデルが定義されているかどうかでロックの動作が決まります。プロモーション・モデルが定義されていない場合は、チップ・バージョンがロックされます。定義されている場合は、指定したプロモーション・グループに現在割り当てられている改訂バージョンがロックされます。改訂バージョンを選択せずにアンロックする動作では、必ずそのファイルにかけたすべてのロックが解除されます。
プロモーション・グループ	PVCSプロジェクトにプロモーション・モデルが定義されている場合に使用可能なリストで、プロモーション・モデル内のすべての開発レベルのプロモーション・グループを表示します。改訂バージョンをロックする場合、リストに表示されるプロモーション・グループはその改訂バージョンに割り当てられます。
ログ・ファイル名	ログ・ファイルの名前を指定します。
ログ・タイプ	チェックインまたはチェックアウトが発生した際、指定したログ・ファイルに入力される更新のタイプを指定します。
ロック	ソース制御から取り出さずに、「ファイル名」フィールドで指定したファイルをロックします。ロックされたファイルは、他のユーザーによる更新から保護されます。「改訂バージョン」リストから特定の改訂バージョンを選択すると、その改訂バージョンがロックされます。改訂バージョンを選択しなかった場合、チップ・バージョン（すなわち、指定したプロモーション・グループに現在割り当てられている改訂バージョン）がロックされます。PVCSプロジェクトにプロモーション・モデルが定義されている場合、指定したプロモーション・グループはロックされている改訂バージョンに割り当てられます。
アンロック	「ファイル名」フィールドで指定したファイルをアンロックし、他のユーザーがそのアーカイブ・ファイルに対してチェックアウトや変更を行えるようにします。「改訂バージョン」リストから特定の改訂バージョンを選択した場合、その改訂バージョンはアンロックされます。改訂バージョンを選択しなかった場合、そのファイルの改訂バージョンにかけたロックはすべて解除されます。
ログ生成	名前を指定してログ・ファイルを生成します。ログ・ファイルの項目のタイプは、「ログ・タイプ」オプションの設定によって決まります。DEV2000_SCVIEWER環境変数またはレジストリのパラメータで表示プログラムが指定されている場合、出力を表示するためにこのプログラムがコールされます。


「ソース制御: レポート・オプション」ページ

  関連項目

アーカイブ・レポートの定義と作成ができます。

「レポート・オプション」ページには、次の設定項目があります。

アーカイブ	現行のプロジェクト構成ファイル内のすべてのアーカイブ・ディレクトリのドロップダウン・リスト。
ソース・ファイル	差分レポートで最初に使用するファイルを指定します。直接ファイル名を入力するか、または隣りの「参照」ボタンを使用してファイルを選択することができます。PVCSプロジェクトがワーク・ファイルのパスを無視するように構成されている場合、ワーク・ファイルまたはアーカイブ・ファイルのいずれかを指定できます。そのように構成されていない場合は、必ずアーカイブ・ファイルのみを指定してください。
改訂バージョン	ソース・ファイルのすべての使用可能な改訂バージョンとバージョン・ラベルのドロップダウン・リスト。
ターゲット・ファイル	ターゲット・ファイルの名前を指定します。PVCSでは、ソース・ファイルとターゲット・ファイルの比較に基づいてレポートを生成します。
改訂バージョン	ターゲット・ファイルの使用可能なすべての改訂バージョンとバージョン・ラベルのドロップダウン・リスト。
出力ファイル	ファイルを他のファイルと比較する際、差分レポートが書き込まれる配布先ディレクトリおよびファイル名を指定します。
レポート実行	指定したオプションに従って、レポートを作成します。DEV2000_SCVIEWER環境変数またはレジストリのパラメータで表示プログラムが指定されている場合、出力を表示するためにこのプログラムがコールされます。


エラー・メッセージ

ソース制御インタフェース・ダイアログの使用中に、次のエラー・メッセージが表示されることがあります。

D2SCP-001:	ファイル・システムにファイルのアクセスを拒否されました。

原因:	アーカイブ・ファイルの読込み、またはワーク・ファイルの書込み、ログ出力またはレポート出力の書込みを行うファイル・システム・アクセス権限がありません。

処置:	これらのファイルに対するファイル・システム・アクセス権限が必要であると思われる場合は、システム管理者に連絡してください。

D2SCP-002:	バージョン・マネージャに対するアクセス権限が不十分です。

原因:	指定したアーカイブにアクセスするPVCS権限がありません。マスター･プロジェクトでアーカイブ・ディレクトリの変更ができないのに、「オプション」ダイアログの「プロジェクト・オプション」タブで変更しようとした場合にも、このエラーが表示されます。

処置:	そのアーカイブに対するアクセス権限が必要であると思われる場合は、PVCS管理者に連絡してください。

D2SCP-003:	すでにアーカイブが存在します。

原因:	これは内部エラーの発生を示し、表示されてはならないメッセージです。

処置:	操作を繰り返し試行した後もエラーが発生する場合は、サポート担当に連絡してください。

D2SCP-004:	指定したアーカイブが見つかりません

原因:	アーカイブ・ファイルが必要なときに、アーカイブではないファイル名を入力または選択しました。このエラーは通常、アーカイブ・ファイルではなくワーク・ファイル（たとえば、MYFORM.FMVではなくMYFORM.FMB）を選択したことが原因です。

処置:	「参照」ボタンを使用してアーカイブ・ファイルを選択します。

D2SCP-005:	無効なファイル名：ドライブまたはパスが存在しないか、ファイル名に無効な文字が使われています。

原因:	入力したファイル名が、オペレーティング・システムの有効なファイル名ではありません。

処置:	ファイル名の構文にエラーがないかチェックしてください。

D2SCP-006:	ファイルは別プロセスで使用中です。

原因:	アクセスしようとしたファイルは、他のPVCSユーザーが使用中です。

処置:	通常、少し時間を置いてから再び操作すれば、アクセスできます。

D2SCP-007:	変換に失敗しました。ワーク・ファイルが読込み専用であるか、サポートされていないタイプである可能性があります。

原因:	このエラーの原因として、次のことが考えられます。

A.	ワーク・ファイルが読込み専用である可能性があります。このエラーは、ファイルをロックせずにチェックアウトし、その後「オプション」ダイアログからロックした場合に起こります。

B.	認識されないタイプのファイルをチェックインまたはチェックアウトしようとしました。

処置:	このエラーの訂正には、次の処置を行ってください。

A.の場合	Windowsのファイル・マネージャまたはエクスプローラを使用して、操作を進める前にファイルを書込み可能にしてください。

B.の場合	スタンドアロンのPVCSインタフェースを使用して、ファイルのチェックインまたはチェックアウトを行ってください。

任意のファイルをチェックアウトできますが、チェックインできるのはForms Developerが認識するファイルのみであることに注意してください。これは、Forms Developerでは、ワーク・ファイルからしかサポートするファイル・タイプかどうかを判別できないためです。チェックインする時点でワーク・ファイルがあります。したがって、Forms Developerはチェックインする前にそのファイルをテストします。チェックアウトするときは、そのファイルはワーク・ファイルを取得するためにチェックアウトされます。そうしなければ、Forms Developerではファイルをテストできません。したがって、チェックアウトしているファイルがForms Developerによって認識されないタイプのファイルであるとわかっていれば、チェックアウトのときにこのエラーを無視してもかまいません。

D2SCP-008:	値が無効であるか、不十分です。

原因:	これは内部エラーの発生を示し、表示されてはならないメッセージです。

処置:	操作を繰り返し試行した後もエラーが発生する場合は、サポート担当に連絡してください。

D2SCP-010:	指定したバージョン・ラベルがすでに存在します。

原因:	「チェックイン」ダイアログで、チェックインするファイルに、すでに存在している改訂バージョン・ラベルを指定しました。PVCSでは、指定する改訂バージョン・ラベルは他と重複しないでください。

処置:	ラベルを変更してください。使用中のラベルを参照するには、「オプション」ダイアログの「ファイル・オプション」タブで「ログ」機能を使用します。

D2SCP-011:	指定された改訂バージョンは存在しません。

原因:	これは内部エラーの発生を示し、表示されてはならないメッセージです。

処置:	操作を繰り返し試行した後もエラーが発生する場合は、カスタマ・サポートに連絡してください。

D2SCP-012:	無効な構成ファイルが指定されました。

原因:	このエラーの原因として、次のことが考えられます。

A.	「オプション」ダイアログの「プロジェクト・オプション」タブで選択したファイルが、有効なPVCS構成ファイルではありません。

B.	「チェックイン」ダイアログまたは「チェックアウト」ダイアログにアクセスしようとして、このエラーが発生した場合、DEV2000_PROJECT環境変数で指定された構成ファイルが無効であることを意味します。

処置:	このエラーの訂正には、次の処置を行ってください。

A.の場合	別の有効なファイルを選択します。

B.の場合	変数を変更するか、「オプション」ダイアログの「プロジェクト・オプション」タブを使用して、有効な構成ファイルを設定してください。

D2SCP-013:	最初に、「ソース制御オプション」からプロジェクトを選択する必要があります。

原因:	「チェックイン」ダイアログまたは「チェックアウト」ダイアログにアクセスしようとしましたが、レジストリでDEV2000_PROJECT変数を使用して、または「オプション」ダイアログの「プロジェクト・オプション」タブ上で、プロジェクトを指定していません。

処置:	操作を続行する前に「プロジェクト・オプション」タブを表示し、プロジェクトを選択する必要があります。

D2SCP-014:	プロジェクト構成ファイルを更新できません。

原因:	プロジェクト構成ファイルからアーカイブ・ディレクトリを追加または削除しようとしましたが、ファイルまたはファイルがあるディレクトリに対する書込み許可がありません。

処置:	このアクセス許可が必要であると思われる場合は、PVCS管理者またはシステム管理者に連絡してください。

D2SCP-015:	改訂バージョンがロックされていません。

原因:	ロックしていない改訂バージョンをチェックインしようとしたか、またはロックしていない改訂バージョンを（「ファイル・オプション」タブから）アンロックしようとしました。

処置:	変更を加えた場合、改訂バージョンをチェックインする前に「ファイル・オプション」タブでロックしてください。

D2SCP-016:	指定した改訂バージョンをロックできません。

原因:	「チェックアウト」ダイアログから改訂バージョンをロックしてチェックアウトしようとしたか、または「ファイル・オプション」タブから改訂バージョンをロックしようとしましたが、PVCSではロックの権限を付与できませんでした。このエラーの原因として、次のことが考えられます。

A.	その改訂バージョンがすでに、自分または他のユーザーによってロックされています。

B.	プロジェクトに複数のロックをかけることができず、その改訂バージョンはすでにロックされています。

C.	プロジェクトにプロモーション・モデルがある場合、指定したプロモーション・グループが、ロックした改訂バージョンにすでに割り当てられている可能性があります。

処置:	このエラーの訂正には、次の処置を行ってください。

A.の場合	「ログ」機能を使用して誰がロックしているかを参照します。 自分で改訂バージョンをロックしている場合、ロックを要求せずにファイルをチェックアウトします。他のユーザーがロックしている場合、そのユーザーがロックを解除するのを待ってから、変更のためにファイルをチェックアウトします。

B.の場合	改訂バージョンかファイルが使用可能になるのを待つか、またはそのプロジェクトで1つのファイルに複数のロックがかけられるようにすることを考えてください。

C.の場合	プロモーション・グループが使用可能（ロックされた改訂バージョンに割り当てられていない状態）になるのを待つか、または別の開発レベルのプロモーション・グループを使用してください。

D2SCP-017:	指定したディレクトリが存在しません。

原因:	存在しないディレクトリを指定しました。このエラーは通常、ファイルをチェックインした場所がワークステーション上に存在しないのに、そこからファイルをチェックアウトしようとしたことが原因です。

処置:	この場合は、「宛先」フィールドを編集して、既存のディレクトリを指定してください。

D2SCP-018:	出力をファイルにリダイレクトできません。

原因:	ログ出力または差分レポート出力に指定したファイル名が無効か、またはファイルを書込みのためにオープンできませんでした。

処置:	有効で書込み可能なファイルを指定します。

D2SCP-100:	PVCSエラー 数値 - キーワード

原因:	「ソース制御インタフェースでは処理できませんでした」というエラーが、PVCSから戻されました。

処置:	PVCSのマニュアルでエラーの数値またはエラーのキーワードを使用してエラーを調べ、適切な処置を行ってください。


PVCS構成マネージャ・インタフェースで、新規ファイルまたは改訂バージョンが表示されないのはなぜですか？

ファイルをチェックインし、改訂バージョン・ラベルを割り当てたのに、PVCS構成マネージャ・インタフェースで、新規ファイルまたは改訂バージョンが表示されません。どうすればよいのでしょうか？

プロジェクト・フォルダを、アーカイブ（新規ファイルおよび改訂バージョン）にある新しい情報で更新する必要があります。更新するには、PVCSの最上位の「Project」メニューから「プロジェクト・フォルダ更新...」を選択します。すると、新規ファイルおよび改訂バージョンが、PVCSの「フォルダ」ウィンドウに表示されます。


ソース制御メニュー・オプションが、1つの製品でしか使用できないのはなぜですか？

複数の製品を同時に実行すると、ソース制御メニュー・オプションがそのうちの1つでしか使用できません。なぜですか？

Windows上のPVCSはリエントラントではありません。つまり、PVCSサービスに一度にアクセスできるのは1つのプログラム（Report BuilderのようなPVCSが使用可能なプログラム、またはPVCSインタフェース自体のいずれか）のみです。使用可能なメニューがあるプログラムと、そこからPVCSサービスにアクセスしたいプログラムを両方とも終了する必要があります。次に、PVCSへのアクセスを必要とするプログラムを再起動します。


「PVCSがアーカイブを検索できません」というエラーが出るのはなぜですか？

レポートをチェックアウトしようとして、.RDV（アーカイブ・ファイル）を選択しましたが、PVCSがアーカイブを検索できないというエラーが出ます。どうなっているのでしょうか？

.RDVファイルを選択したとしても、そのファイルはアーカイブ・ファイルではなかった可能性があります。Report Builderでは、チェックイン前に、中間（ASCII）ファイルを拡張子.RDVのファイルとして作成します。（詳細は、PVCSのインプリメントについてを参照してください。）作業ディレクトリではなく、アーカイブ・ディレクトリから.RDVファイルを選択していることを確認してください。この混乱を避けるには、次の3つの方法が役立ちます。

•	チェックイン後にワーク・ファイルを削除するようにPVCSプロジェクト・オプションを設定します。これによって、Reports中間.RDVファイルがディスク上に残らないようにします。

•	.RDVファイルがチェックインされると、VRDなどの異なる接尾語が付けられるように、接尾語のルールを変えます。これで、チェックアウト時に、.RDVではなくVRDのファイルを探すことができます。

•	アーカイブを検索するときに、ワーク・ファイルのパスを無視するようにプロジェクトを構成します。これで、チェックアウト時に、アーカイブ・ファイルではなくワーク・ファイル（この場合はRDFファイル）を指定できるようになります。

これらの方法は、PVCS構成マネージャのユーザー・インタフェース、「プロジェクト構成...」メニュー項目から実行可能です。


どうすれば、ファイルをロックするとき、必ず正しいユーザー名が使用されるようにすることができますか？

ファイルをロック（またはロックしてチェックアウト）すると、必ずユーザーIDが「UNKNOWN」に設定されてしまいます。このように設定されると、他のユーザーがファイルをチェックインまたはアンロックできるようになります。どうすれば必ず正しいユーザー名が使用されるようにすることができますか？

（PVCS改訂バージョン・マネージャ・インタフェースの）PVCSプロジェクト構成オプションの「ネットワーク」セクションに、「ログイン・ソース」というオプションがあります。 これを使用して、この問題を回避することができます。このオプションによって、PVCSが現在のユーザIDを判別する方法を定義することができます。たとえば、NETWAREネットワークを使用する場合、PVCSに現行のNETWAREログインIDを使用するように指示することができます。Windows NTでは、"HOST"ログイン・ソースを使用して、NTログインIDを使用することができます。詳細は、PVCSのマニュアルを参照してください。


チェックアウトのためにワーク・ファイルを選択できるようにする方法はありますか？

チェックアウトのために、アーカイブ・ファイルではなく、ワーク・ファイルを選択できるようにする方法はありますか？

（PVCS改訂バージョン・マネージャ・インタフェースの）PVCSプロジェクト構成オプションの「アーカイブ検索」セクションにある「ワーク・ファイル・パスを無視」というオプションを使用することができます。このオプションを使用すると、「チェックアウト」ダイアログおよび「ソース制御オプション」ダイアログで、ワーク・ファイルまたはアーカイブ・ファイルのいずれかを選択できるようになります。


「VCSDIRがプロジェクト構成ファイルで実現できません」というエラーが出るのはなぜですか？

マスター・プロジェクトをアーカイブ・ディレクトリの変更ができないように構成しました。PVCS改訂バージョン・マネージャ・インタフェースでは、意図したとおり、サブプロジェクトでアーカイブ・ディレクトリを変更することはできません。しかし、Forms Developerでは変更できました。その後、PVCS改訂バージョン・マネージャ・インタフェースから「VCSDIRがプロジェクト構成ファイルで実現できません」というエラーが戻されました。どうなっているのでしょうか？

PVCS改訂バージョン・マネージャ・インタフェースでは、ルート・ディレクトリでデフォルトの MASTER.CFG を検索します。 アーカイブ・ディレクトリを変更した後に、このファイルを元のディレクトリで検索したために、このエラーが通知されたものと思われます。マスター構成ファイルを認識できるようにするには、 VCONFIG  コマンドを使用してPVCSを構成する必要があります。これにより、PVCSライブラリにあるマスター構成ファイルの名前が暗号化され、誰もアーカイブ・ディレクトリのリストを不用意に変更できないようになります。詳細は、INTERSOLV社PVCS付属の『PVCSコマンド行リファレンス・ガイド』の「Master Configuration Files」および「VCONFIG Command」の項を参照してください。


• 9


非Oracleデータソースへのアクセス

  関連項目

Oracle Developerアプリケーションは、Oracle Open Client Adapter(OCA)を使用して任意のODBCデータソースに接続できます。次にリストするデータソースについて、特別な情報を提供します。

アクセスしたいデータソースをクリックします。

Personal Oracle Lite

Microsoft SQL Server(バージョン4.2、6.0および6.5)

Microsoft Access(バージョン2.0以降)

Oracle Rdb(バージョン5.1、6.1および7.0)

Sybase(SQL Serverバージョン4.9、システム10およびシステム11)

Tandem NonStop SQL

Informix(SEおよびオンライン・バージョン5.x、6.xおよび7.x)


Open Client Adapter(OCA)の使用準備

  関連項目

使用するシステムでOCAの使用を設定するには:

1	ネットワーク・ライブラリを含む、必要なサーバーおよびクライアント・ソフトウェアをインストールします。データベースを構築し、データベース・アカウントを作成し、ユーザーに適切なアクセス権限を付与します。Microsoft Accessのようなシングル・ユーザー、シングル・マシンのデータソースには、データベース・サーバーやデータベース・クライアントなどの概念はなく、特別なセットアップは必要ありません（ただし、データベース表を格納するためのデータベース・ファイルを作成する必要はあります）。

2	必要なODBCドライバをクライアント・マシンにインストールし、Microsoft ODBC Administrator(ドライバとともに自動的にインストールされます)を使用してデータソースを構築します。Intersolv社製のODBCドライバ(SQL ServerおよびRdb、Sybase、Informix、Ingres、その他の多数のデータベース用)は、インストレーションCDからインストールされます。MicrosoftやIBM、その他のODBCドライバ・ベンダー製のドライバも使用できます。


Personal Oracle Liteへのアクセス

  関連項目 	  oca_info.pdfをオープンする

Personal Oracle Liteにアクセスするには:

1	Open Client Adapter(OCA)を使用するためにシステムをセットアップします。

2	「リリース・ノート」およびPDFドキュメント(oca_info.pdf)を読みます。

3	SQLスクリプトを実行し、サーバー側にデータ・ディクショナリ・ビューを作成します。このデータ・ディクショナリ・ビューにより、開発時に必要なデータベース・オブジェクト名を表示することができます。注意

UBT32.EXE user/password@ODBC:datasource[:dbname] @sqlscript  例

dbnameが指定されないと、データ・ディクショナリ・ビューはODBC接続の「現行」データベース内に作成されます。

4	Builderを起動します。

5	(オプション)SQLスクリプトを実行し、デモ表の作成とデータの挿入を行います。例

6	(Form Builderのみ)各データ項目の主キー・プロパティを「はい」に設定します。データ項目は、データソースの各列に対応しています。

7	Personal Oracle Liteデータソースへ接続する準備ができたら、次の接続文字列を「接続」ダイアログ・ボックスに入力します。

[user[/password]]@ODBC:datasource[:dbname] 例

Personal Oracle Liteへのアクセスの詳細は、oca_info.pdfを参照してください。


Init_Formは、form-levelを自動的に変更するOPENDBルーチンで、これによってフォームはODBCデータソースと対話できます。


OCA.PLLは、ディレクトリORACLE_HOME\ocaにあります。Form BuilderがOCA.PLLを見つけることができるように、レジストリ内の環境変数FORMS50_PATHに、ディレクトリORACLE_HOME\oca20を追加する必要があります。


Microsoft SQL Serverへのアクセス

  関連項目	  Open oca_info.pdfをオープンする

Microsoft SQL Serverにアクセスするには:

1	Open Client Adapter(OCA)を使用するためにシステムをセットアップします。

2	「リリース・ノート」およびPDFドキュメント(oca_info.pdf)を読みます。

3	SQLスクリプトを実行し、サーバー側にデータ・ディクショナリ・ビューを作成します。 このデータ・ディクショナリ・ビューにより、設計時に選択できるように、データベース・オブジェクト名を表示することができます。注意

UBT32.EXE user/password@ODBC:datasource[:dbname] @sqlscript  例

dbnameが指定されないと、データ・ディクショナリ・ビューはODBC接続の「現行」データベース内に作成されます。

4	Builderを起動します。

5	(オプション)SQLスクリプトを実行し、デモ表の作成とデータの挿入を行います。例

6	(Form Builderのみ)各データ項目の主キー・プロパティを「はい」に設定します。データ項目は、データソースの各列に対応しています。

7	Microsoft SQLサーバー・データソースへ接続する準備ができたら、次の接続文字列を「接続」ダイアログ・ボックスに入力します。

[user[/password]]@ODBC:datasource[:dbname] 例

Microsoft SQL Serverへのアクセスの詳細は、oca_info.pdfを参照してください。


Oracle Rdbへのアクセス

  関連項目 	  Open oca_info.pdf をオープンする

Oracle Rdbにアクセスするには:

1	Open Client Adapter(OCA)を使用するためにシステムをセットアップします。

2	「リリース・ノート」およびPDFドキュメント(oca_info.pdf)を読みます。

3	SQLスクリプトを実行し、サーバー側にデータ・ディクショナリ・ビューを作成します。 このデータ・ディクショナリ・ビューにより、設計時に選択できるように、データベース・オブジェクト名を表示することができます。注意

UBT32.EXE user/password@ODBC:datasource[:dbname] @sqlscript  例

dbnameが指定されないと、データ・ディクショナリ・ビューはODBC接続の「現行」データベース内に作成されます。

4	Builderを起動します。

5	(オプション)SQLスクリプトを実行し、デモ表の作成とデータの挿入を行います。例

6	(Form Builderのみ)OCA.PLLライブラリをアプリケーションに接続します。次に、OPENDB.Init_Formルーチンを含むPre-FormまたはWhen-New-Form-Instanceトリガーを作成します。

7	Oracle Rdbデータソースへ接続する準備ができたら、次の接続文字列を「接続」ダイアログ・ボックスに入力します。

[user[/password]]@ODBC:datasource[:dbname] 例

Oracle Rdbへのアクセスの詳細は、oca_info.pdfを参照してください。


Microsoft Accessへのアクセス

  関連項目 	  oca_info.pdfをオープンする

Microsoft Accessにアクセスするには:

1	Open Client Adapter(OCA)を使用するためにシステムをセットアップします。

2	「リリース・ノート」およびPDFドキュメント(oca_info.pdf)を読みます。

3	(オプション)SQLスクリプトを実行し、次に示すようにUBTユーティリティによりデモ表の作成とデータの挿入を行います。

UBT32.EXE user/password@ODBC:datasource[:dbname] @sqlscript  例

dbnameが指定されないと、データ・ディクショナリ・ビューはODBC接続の「現行」データベース内に作成されます。

4	Builderを起動します。

5	(Form Builderのみ)各データ項目の主キー・プロパティを「はい」に設定します。データ項目は、データソースの各列に対応しています。

6	Microsoft Accessデータソースに接続する準備ができたら、次の接続文字列を「接続」ダイアログ・ボックスに入力します。

[user[/password]]@ODBC:datasource[:dbname] 例

Microsoft Accessへのアクセスの詳細は、oca_info.pdfを参照してください。


Sybaseへのアクセス

  関連項目 	  oca_info.pdfをオープンする

Sybaseにアクセスするには:

1	Open Client Adapter(OCA)を使用するためにシステムをセットアップします。

2	「リリース・ノート」およびPDFドキュメント(oca_info.pdf)を読みます。

3	SQLスクリプトを実行し、サーバー側にデータ・ディクショナリ・ビューを作成します。 このデータ・ディクショナリ・ビューにより、設計時に選択できるように、データベース・オブジェクト名を表示することができます。注意

UBT32.EXE user/password@ODBC:datasource[:dbname] @sqlscript  例

dbnameが指定されないと、データ・ディクショナリ・ビューはODBC接続の「現行」データベース内に作成されます。

4	Builderを起動します。

5	(オプション)SQLスクリプトを実行し、デモ表の作成とデータの挿入を行います。例

6	(Form Builderのみ)各データ項目の主キー・プロパティを「はい」に設定します。データ項目は、データソースの各列に対応しています。

7	Sybaseデータソースへ接続する準備ができたら、次の接続文字列を「接続」ダイアログ・ボックスに入力します。

[user[/password]]@ODBC:datasource[:dbname] 例

Sybaseへのアクセスの詳細は、oca_info.pdfを参照してください。


Tandem NonStop SQLへのアクセス

  関連項目 	  oca_info.pdfをオープンする

Tandem NonStop SQLにアクセスするには:

1	Open Client Adapter(OCA)を使用するためにシステムをセットアップします。

2	「リリース・ノート」およびPDFドキュメント(oca_info.pdf)を読みます。

3	SQLスクリプトを実行し、サーバー側にデータ・ディクショナリ・ビューを作成します。 このデータ・ディクショナリ・ビューにより、設計時に選択できるように、データベース・オブジェクト名を表示することができます。注意

UBT32.EXE user/password@ODBC:datasource[:dbname] @sqlscript  例

dbnameが指定されないと、データ・ディクショナリ・ビューはODBC接続の「現行」データベース内に作成されます。

4	Builderを起動します。

5	(オプション)SQLスクリプトを実行し、デモ表の作成とデータの挿入を行います。例

6	(Form Builderのみ)各データ項目の主キー・プロパティを「はい」に設定します。データ項目は、データソースの各列に対応しています。

7	Tandem NonStop SQLデータソースへ接続する準備ができたら、次の接続文字列を「接続」ダイアログ・ボックスに入力します。

[user[/password]]@ODBC:datasource[:dbname] 例

Tandem NonStop SQLへのアクセスの詳細は、oca_info.pdfを参照してください。


Informixへのアクセス

  関連項目 	  oca_info.pdfをオープンする

Informixにアクセスするには:

1	Open Client Adapter(OCA)を使用するためにシステムをセットアップします。

2	「リリース・ノート」およびPDFドキュメント(oca_info.pdf)を読みます。

3	SQLスクリプトを実行し、サーバー側にデータ・ディクショナリ・ビューを作成します。 このデータ・ディクショナリ・ビューにより、設計時に選択できるように、データベース・オブジェクト名を表示することができます。注意

UBT32.EXE user/password@ODBC:datasource[:dbname] @sqlscript  例

dbnameが指定されないと、データ・ディクショナリ・ビューはODBC接続の「現行」データベース内に作成されます。

4	Builderを起動します。

5	(オプション)SQLスクリプトを実行し、デモ表の作成とデータの挿入を行います。例

6	(Form Builderのみ)各データ項目の主キー・プロパティを「はい」に設定します。データ項目は、データソースの各列に対応しています。

7	Informixデータソースへ接続する準備ができたら、次の接続文字列を「接続」ダイアログ・ボックスに入力します。

[user[/password]]@ODBC:datasource[:dbname] 例

Informixへのアクセスの詳細は、oca_info.pdfを参照してください。


Open Client Adapter(OCA)について

  oca_info.pdfをオープンする

ODBC用のOracle Open Client Adapter(OCA)により、Microsoft Windows3.1、Windows95、Windows98、およびWindows NT上のアプリケーションで、ODBCドライバを使用してODBC準拠のデータソースにアクセスすることが可能になります。OCAでは、ODBCドライバがODBCのレベル1に準拠する必要があります。ODBCドライバにレベル2のODBC機能がある場合、OCAではその機能も使用してさらに高いパフォーマンスを実現します。

OCAを使用することにより一貫した方法で、アプリケーションで様々なデータソースにアクセスできます。これにより、アプリケーションの開発者は、複数のデータソースに対して修正を行わずに同じアプリケーションを実行することができます。逆に、そのアプリケーションの対象を特定のデータソースに固定し、そのシステム固有の特徴を利用することもできます。

OCAは、Oracle Installerによってインストールされ、すべての必要なファイルがORACLE_HOMEディレクトリにコピーされます。これらのファイルの1つが、oca.pllです。 oca.pllはPL/SQLのファンクション・ライブラリで、アプリケーションからこれを使用して次の操作ができます。

•	アプリケーションのメイン接続の他に、他のデータソースに対する補助接続をオープンします。

•	任意の接続に対し、任意のSQL文およびストアド・プロシージャ・コールを実行します。

•	Oracle以外のストアド・プロシージャから検索結果を取り出します。

•	DBMSおよびODBCドライバの名前とバージョンを取得します。

•	データソースに適合するように、実行時に「フォーム」および「データ・ブロック」プロパティを自動的に調整します。

これらの機能の詳細は、この項目の最上部の [image] ボタンをクリックしてください。

インストールされている他のファイルの詳細は、「リリース・ノート」を参照してください。


デフォルトでは、oca_info.pdfはORACLE_HOME\TOOLS\DOC60\USにインストールされます。デフォルト・ディレクトリにAdobe Acrobat Readerをインストールしてある場合は、この項目の最上部の [image] ボタンをクリックし、ドキュメントを表示してください。このプログラムをインストールしていない場合は、PDFビューアを起動しoca_info.pdfをオープンしてください。


UBTユーティリティについて

ODBC用のOracle Open Client Adapter(OCA)には、Universal Backend Tester(UBT)というSQL*Plusに似たユーティリティが含まれています。UBTにより、インタプリタ内またはコマンド・ファイルを使用してSQLコマンドを操作できます。

UBT実行プログラム(Windows NT、Windows95、およびWindows98ではUBT32.EXE、Windows3.1ではUBT.EXE)は、ORACLE_HOME\BINにインストールされます。

Oracle Client Adapaterの詳細は、oca_info.pdf(UBTユーティリティの情報を含む)を参照してください。


OCAリリース・ノートは、インストレーションCDのRELNOTES.TXT内に含まれています。


Personal Oracle Liteへのアクセスについて必要な情報は、デフォルトではORACLE_HOME\TOOLS\DOC60\US\oca_info.pdfにインストールされます。デフォルト・ディレクトリにAdobe Acrobat Readerをインストールしてある場合は、この項目の最上部の [image] ボタンをクリックし、ドキュメントを表示してください。このプログラムをインストールしていない場合は、PDFビューアを起動しoca_info.pdfをオープンしてください。


これはアプリケーション開発用のオプションであり、実行時には必要としません。一部のデータベース(たとえば、Microsoft Access)では、データベース・カタログの情報の公開が不十分で、ビュー作成のサポートが不足しているために、データ・ディクショナリ・ビューを作成できません。この場合は、データベース・オブジェクトの名前を、リストから選択するのではなく、設計時に入力します。


次に示すPersonal Oracle Liteにデータ・ディクショナリ・ビューを作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\POLITEにインストールされます。

polvudrp.sql	旧バージョンのビューを削除します。

polvubld.sql	必要なビューを作成します。


UBT32.EXE scott/tiger@ODBC:polite_ds @polvubld.sql


次に示すPersonal Oracle Liteにデモ表を作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\POLITEにインストールされます。

poldmbld.sql	デモ表を作成します。

デモ表にデータを挿入するSQLスクリプトは、ORACLE_HOME\OCA20\DEMOにインストールされています。

demodata.sql	デモ表に日付を挿入します。


UBT32.EXE scott/tiger@ODBC:polite_ds @poldmbld.sql


scott/tiger@ODBC:polite_ds


Microsoft SQL Serverへのアクセスについて必要な情報は、デフォルトではORACLE_HOME\TOOLS\DOC60\US\oca_info.pdfにインストールされます。デフォルト・ディレクトリにAdobe Acrobat Readerをインストールしてある場合は、この項目の最上部の [image] ボタンをクリックし、ドキュメントを表示してください。このプログラムをインストールしていない場合は、PDFビューアを起動しoca_info.pdfをオープンしてください。


次に示すMicrosoft SQL Serverにデータ・ディクショナリ・ビューを作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\SQLSRVにインストールされます。

sqsvudrp.sql	旧バージョンのビューを削除します。

sqsvubld.sql	SQL Serverバージョン4.2用で、必要なビューを作成します。

sqs60bld.sql	SQL Serverバージョン6.0用で、必要なビューを作成します。


UBT32.EXE scott/tiger@ODBC:sqlserver_ds @sqsvubld.sql


次に示すMicrosoft SQL Serverにデモ表を作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\SQLSRVにインストールされます。

sqsdmbld.sql	デモ表を作成します。

デモ表にデータを挿入するSQLスクリプトは、ORACLE_HOME\OCA20\DEMOにインストールされています。

demodata.sql	デモ表に日付を挿入します。


UBT32.EXEscott/tiger@ODBC:sqlserver_ds @sqsdmbld.sql


scott/tiger@ODBC:sqlserver_ds


Microsoft Accessへのアクセスについて必要な情報は、デフォルトではORACLE_HOME\TOOLS\DOC60\US\oca_info.pdfにインストールされます。デフォルト・ディレクトリにAdobe Acrobat Readerをインストールしてある場合は、この項目の最上部の [image] ボタンをクリックし、ドキュメントを表示してください。このプログラムをインストールしていない場合は、PDFビューアを起動しoca_info.pdfをオープンしてください。


次に示すMicrosoft Accessにデモ表を作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\ACCESSにインストールされています。

accdmbld.sql	デモ表を作成します。

デモ表にデータを挿入するSQLスクリプトは、ORACLE_HOME\OCA20\DEMOにインストールされています。

demodata.sql	デモ表に日付を挿入します。


UBT32.EXE scott/tiger@ODBC:access_ds @accdmbld.sql


scott/tiger@ODBC:access_ds


Oracle Rdbへのアクセスについて必要な情報は、デフォルトではORACLE_HOME\TOOLS\DOC60\US\oca_info.pdfにインストールされます。デフォルト・ディレクトリにAdobe Acrobat Readerをインストールしてある場合は、この項目の最上部の [image] ボタンをクリックし、ドキュメントを表示してください。このプログラムをインストールしていない場合は、PDFビューアを起動しoca_info.pdfをオープンしてください。


次に示すOracle Rdbにデータ・ディクショナリ・ビューを作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\RDBにインストールされます。

rdbvudrp.sql	旧バージョンのビューを削除します。

rdbvubld.sql	必要なビューを作成します。

rdbdual.sql	ビューを複式にします(SYSDATEをサポートするため)。


UBT32.EXE scott/tiger@ODBC:rdb_ds @rdbvubld.sql


次に示すOracle Rdbにデモ表を作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\RDBにインストールされます。

rdbdmbld.sql	デモ表を作成します。

デモ表にデータを挿入するSQLスクリプトは、ORACLE_HOME\OCA20\DEMOにインストールされています。

demodata.sql	デモ表に日付を挿入します。


UBT32.EXE scott/tiger@ODBC:rdb_ds @rdbdmbld.sql


scott/tiger@ODBC:rdb_ds


Sybaseへのアクセスについて必要な情報は、デフォルトではORACLE_HOME\TOOLS\DOC60\US\oca_info.pdfにインストールされます。デフォルト・ディレクトリにAdobe Acrobat Readerをインストールしてある場合は、この項目の最上部の [image] ボタンをクリックし、ドキュメントを表示してください。このプログラムをインストールしていない場合は、PDFビューアを起動しoca_info.pdfをオープンしてください。


Sybaseにデータ・ディクショナリ・ビューを作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\SYBASEにインストールされます。

sybvudrp.sql	旧バージョンのビューを削除します。

sybvubld.sql	必要なビューを作成します。


UBT32.EXE scott/tiger@ODBC:sybase_ds @sybvubld.sql


Sybaseにデモ表を作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\SYBASEにインストールされます。

sybdmbld.sql	デモ表を作成します。

デモ表にデータを挿入するSQLスクリプトは、ORACLE_HOME\OCA20\DEMOにインストールされています。

demodata.sql	デモ表に日付を挿入します。


UBT32.EXE scott/tiger@ODBC:sybase_ds @sybdmbld.sql


scott/tiger@ODBC:sybase_ds


Tandem NonStop SQLへのアクセスについて必要な情報は、デフォルトではORACLE_HOME\TOOLS\DOC60\US\oca_info.pdfにインストールされます。デフォルト・ディレクトリにAdobe Acrobat Readerをインストールしてある場合は、この項目の最上部の [image] ボタンをクリックし、ドキュメントを表示してください。このプログラムをインストールしていない場合は、PDFビューアを起動しoca_info.pdfをオープンしてください。


Tandem NonStop SQLにデータ・ディクショナリ・ビューを作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\NONSTOPにインストールされます。

nssvudrp.sql	旧バージョンのビューを削除します。

nssvubld.sql	必要なビューを作成します。


UBT32.EXE scott/tiger@ODBC:nonstop_ds @nssvubld.sql


Tandem NonStop SQLにデモ表を作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\NONSTOPにインストールされます。

nssdmbld.sql	デモ表を作成します。

デモ表にデータを挿入するSQLスクリプトは、ORACLE_HOME\OCA20\DEMOにインストールされています。

demodata.sql	デモ表に日付を挿入します。


UBT32.EXE scott/tiger@ODBC:nonstop_ds @nssdmbld.sql


scott/tiger@ODBC:nonstop_ds


Informixへのアクセスについて必要な情報は、デフォルトではORACLE_HOME\TOOLS\DOC60\US\oca_info.pdfにインストールされます。デフォルト・ディレクトリにAdobe Acrobat Readerをインストールしてある場合は、この項目の最上部の [image] ボタンをクリックし、ドキュメントを表示してください。このプログラムをインストールしていない場合は、PDFビューアを起動しoca_info.pdfをオープンしてください。


Informixにデータ・ディクショナリ・ビューとデモ表を作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\INFORMIXにインストールされます。

infvudrp.sql	旧バージョンのビューを削除します。

infvubld.sql	必要なビューを作成します。


UBT32.EXE scott/tiger@ODBC:informix_ds @infvubld.sql


Informixにデモ表を作成するSQLスクリプトは、デフォルトではORACLE_HOME\OCA20\SQL\INFORMIXにインストールされます。

infdmbld.sql	デモ表を作成します。

デモ表にデータを挿入するSQLスクリプトは、ORACLE_HOME\OCA20\DEMOにインストールされています。

demodata.sql	デモ表に日付を挿入します。


UBT32.EXE scott/tiger@ODBC:informix_ds @infdmbld.sql


scott/tiger@ODBC:informix_ds


トラブルシューティング

以前、Oracleに使用していたアプリケーションが、ODBCデータソースには使用できない場合、おそらく、ODBCかデータソースのいずれかの制限または限界を超えたことが原因と考えられます。

次に、OCAが発行するSQL文とODBCのドライバまたはデータベースが生成するメッセージを表示する手順を示します。

1	次のエントリが、Windows3.1のORACLE.INIファイル、またはWindows NT、Windows95およびWindows98のレジストリに設定されていることを確認します。

•	UB=ORACLE_HOME\OCA20

2	次のエントリを、Windows3.1のORACLE.INIファイル、またはWindows NT、Windows95およびWindows98のSOFTWARE\ORACLEの下にあるレジストリに追加します。

•	OCA_DEBUG_SQL=TRUE

•	OCA_DEBUG_ERROR=TRUE

3	ODBCデータソースに対してアプリケーションを実行し、デバッグ・ウィンドウにSQL文またはエラー・メッセージを表示します。「OK」をクリックして、デバッグ・ウィンドウをクローズし、処理を続けます。

4	エラーを解決できない場合は、サポート担当に問い合せてください。


OCAメッセージ

コード	メッセージの記述。

30000	一般的なOCAエラー。

30001	hostdefがNULLです。

30002	ファンクションがサポートされていません。

30003	接続文字列のユーザー名がNULLです。

30004	接続文字列のホスト名がNULLです。

30005	カーソルがすべて使用中です。

30006	解析ツリーの作成中にエラーが発生しました。

30007	SQL文がNULLです。

30008	メモリーの割当てに失敗しました。

30009	バインド変数の処理中にエラーが発生しました。

30010	OracleからODBCへのデータ型変換エラーです。

30011	ODBCからOracleへのデータ型変換エラーです。

30012	参照値をバインド中にエラーが発生しました。

30013	バインドするパラメータがありません。

30014	ホスト名が長すぎます。

30015	このデータソースではストアド・プロシージャはサポートされていません。

30016	このデータベースでは順序はサポートされていません。

30017	非Oracleデータベースへのログイン中にエラーが発生しました。

30018	ユーザー名またはパスワードが長すぎます。

30019	非Oracleのストアド・プロシージャの処理中にエラーが発生しました。

30020	ストアド・プロシージャの名前が抜けています。

30021	SQL文の準備または実行中にエラーが発生しました。

30022	列の取出し中にエラーが発生しました。

30023	結果セットのフェッチ中にエラーが発生しました。

30024	列記述子の取出し中にエラーが発生しました。

30025	結果セットの列数を取得中にエラーが発生しました。

30026	プロシージャ記述子の取出し中にエラーが発生しました。

30027	ODBC接続/文オプションの設定中にエラーが発生しました。

30028	コミットまたはロールバックでエラーが発生しました。

30029	列のバインド中にエラーが発生しました。

30030	パラメータのバインド中にエラーが発生しました。

30031	ドライバまたはデータベースについての情報の取出し中にエラーが発生しました。

30032	メモリーの解放中にエラーが発生しました。

30033	行ステータス・エラー。

30034	表が見つかりません。

30035	列が見つかりません。

30036	認可仕様が無効です。

30037	データソースを使用できません。

30038	列番号が無効です。

30039	バンドルされた演算子の組合せが不正です。

30040	カーソル・コンテキストが無効です。

30041	バインド変数がありません。

30042	データが見つかりません。

30043	フェッチされた列値がNULLです。

30044	フェッチされた列値が切り捨てられました。

30045	結果データを取出し中にエラーが発生しました。

30046	データソースの名前が指定されていません。

30047	トランザクション分離レベルがサポートされていません。

30048	配列のバインドはサポートされていません。

30049	ログオンされていません。

30050 	SQL文の解放中にエラーが発生しました。

30051	データのフェッチ中にエラーが発生しました。このデータソースをコミットした後に再度実行してください。

30052	実行時にパラメータ値が切捨てられました。

31000	一般的なODBCエラーが使用中のODBCドライバから戻されました。

エラーが発生して、アプリケーションでメッセージ・ファイルからのメッセージが読めない場合、次のエントリがWindows3.1のORACLE.INIファイル、またはWindows NT、Windows95およびWindows98のレジストリに設定されていることを確認してください。

•	UB=ORACLE_HOME\OCA20


PDFドキュメント

PDFドキュメントを表示するには、PDFビューアをインストールされたディレクトリから開始し、oca_info.pdfをオープンしてください。


用語集

英

    ActiveX
    Ada
    ASCII
    Bilder
    CGI
    CGM
    CHARデータ型（CHAR datatype）
    CMDFILE
    DATE
    Designer
    Designer(Oracle)
    DIANA
    EBCDIC
    Familyツール（Family tool）
    GUI
    HTML
    HTTP
    ICD
    IP（インターネット・プロトコル）アドレス（Internet Protocol）
    JAR
    Java
    NA値（NA value）
    NOCACHE
    NULL値（NULL value）
    ODBC
    OLE
    OLEコンテナ（OLE container）
    OLEサーバ（OLE Server）
    Oracle Designer
    ORACLE_HOME
    Oracleデータ型（Oracle datatype）
    Pcode
    PDF
    PL/SQL
    pldファイル（pld file）
    pllファイル（pll file）
    plsファイル（pls file）
    plxファイル（plx file）
    Project Wizard
    prtファイル（prt file）
    RC4
    RDBMS
    rdfファイル（rdf file）
    REF列（REF column）
    Reports Queue Manager（RWRQM60）
    Reports Server（RWMTS60）
    Reports Web Cartridge
    Reports Web CGI（RWCGI60）
    Reportsバックグラウンド・エンジン（Reports Background Engine）（RWRBE60）
    repファイル（rep file）
    rexファイル（rex file）
    RGB
    RTF
    SELECT文（SELECT statement）
    SQL
    SQLスクリプト（SQL script）
    sqlファイル（sql file）
    SQL文（SQL statement）
    SYLK
    TCP
    Top/Bottomツール（Top/Bottom tool）
    URL
    VBX
    VBXコントロール（VBX control）
    Web
    Web cartridge
    Webサーバー（Web server）
    Webブラウザ（Web browser）
    Webリンク（Web link）
    WKS
    WRB
    WWW
    XML
    zoom

数

あ

    アイコン（icon）
    アクション（action）
    アクティブ・ウィンドウ/ビュー（active window/view）
    値構成体（value construct）
    値軸（continuous axis）
    値軸（value axis）
    値のリスト（list of values）
    アプリケーション（application）
    アプレット（applet）
    アンカー（anchor）
    アンカー・ポイント（anchor point）
    暗号化（encyption）
    暗示項目（implied item）
    依存項目（decendant）
    依存性ツリー（dependency tree）
    依存性表示（dependency view）
    依存データ（dependent data）
    イメージ（image）
    インクローズ・オブジェクト（enclosing object）
    インターネット（internet）
    インタプリタ・スクリプト（interpreter script）
    イントラネット（intranet）
    インポート（import）
    ウィンドウ（window）
    内側枠ボックス（inner bounding box）
    エクスポート（export）
    エクスポート・ファイル（export file）
    エディタ（editor）
    オーバーフロー（overflow）
    オブジェクト（object）
    オブジェクト・グループ（object group）
    オブジェクト・タイプ（object type）
    オブジェクト・ナビゲータ（Object Navigator）
    オブジェクト・ハンドル（object handle）
    オブジェクト表（object table）
    オブジェクト列（object column）
    親（parent）

か

    カーソル（cursor）
    カートリッジ（cartridge）
    階層（hierarchy）
    外部PL/SQLライブラリ（external PL/SQL library）
    外部キー（foreign key）
    外部問合せ（external query）
    可視属性（visual attribute）
    カスケード・スタイル・シート（cascading style sheet）
    カスタム基準（custom measure）
    仮想ディレクトリ（virtual directory）
    仮想ファイル・システム（virtual file system）
    カット（cut）
    カテゴリ（category）
    カテゴリ軸（category axis）
    可変配列（varying array）type
    カラー・パレット（color palette）
    環境（environment）
    関係演算子（relational operator）
    キーワード（keyword）
    基準（measure）
    基本形（primitive）
    基本線の値（baseline value）
    キャッシュ（メモリー）（cache （memory））
    キャンバス（canvas）
    キャンバス・ビュー（canvas view）
    行（row）
    行オブジェクト（row object）
    境界線/塗り/テキスト表示（Edge/Fill/Text Display）
    境界線（border）
    切離しメニュー（tear-off menu）
    句（clause）
    クライアント（client）
    クライアント/サーバー・アーキテクチャ（client/server architecture）
    繰返し枠（repeating frame）
    クリップボード（Clipboard）
    グループ（group）
    グループ・ツリー（group tree）
    グループ・フィルタ（group filter）
    グローバル変数（global variable）
    グローバル・レジストリ（Global Registry）
    クロス積（cross product）
    クロス・タブ（crosstab）
    警告（alert）
    計算式列（formula column）
    継承（inherit）
    結合（join）
    限定モード（confie mode）
    原点（origin）
    子（child）
    格子表示（gridlines）
    更新（update）
    構成体（construct）
    構文（syntax）
    項目（item）
    項目軸（discrete axis）
    項目ノード（item node）
    コール・インタフェース（call interface）
    コール・スタック（call stack）
    子問合せ（child query）
    コピー（copy）
    コマンド行（command line）
    コミット（commit）
    コメント（comment）
    コレクション・タイプ（collection type）
    コンテキスト領域（context area）
    コンパイル（compile）
    コンポーネント（component）

さ

    作業環境（preference）
    索引（index）
    座標（x, y）（coordinates）
    座標系（coordinate system）
    座標平面（coordinate plane）
    サブプログラム（subprogram）
    サブプロジェクト（subproject）
    サブプロジェクト・ノード（subproject node）
    サマリー列（summary column）
    参照線（reference line）
    式（expression）
    式（formula）
    字句参照（lexical reference）
    軸チャート（aixs chart）
    システム変数（system variable）
    下に伸びる（downward-growing）
    実行（execute）
    実行（run）
    実行時（Runtime）
    実行ファイル（runfile）
    実行プログラム引数（executable argument）
    修飾ディメンション（qualifying dimension）
    十分に構成されたXML（well-formed XML）
    集約（aggregation）
    終了（quit）
    主キー（primary key）
    仕様（specification）
    上位項目（antecedent）
    使用可能（enabled）
    使用禁止（disabled）
    条件（condition）
    省略記号ボタン（Ellipsis button）
    書式マスク（format mask）
    数値演算子（numeric operators）
    スキーマ（schema）
    スクリプト（script）
    スコープ（scope）
    スタイル・シート（style sheet）
    スタック（stack）
    ストアド・サブプログラム（stored subprogram）
    ストアド・プログラム単位（stored program unit）
    すべてのツール（All tool）
    制御ポイント（control point）
    生成（Generate）
    生成（generate）
    静的な選択済み保存項目（static saved selection）
    制約（constraint）
    セクション（section）
    セッション（session）
    接続（connect）
    接続文字列（connect string）
    セル（cell）
    セレクタ（selector）
    セレクタ・ツール（Selector tool）
    選択項目（selection）
    選択項目のスクリプト（selection script）
    相関副問合せ（correlated subquery）
    挿入モード（insert mode）
    ソース（source）
    ソート・ツール（Sort tool）
    属性（attriute）
    属性値（attribute value）
    属性ツール（Attribute tool）
    属性マスク（attribute mask）
    属性列（attribute columns）
    ソケット（socket）
    祖先（ancestor）
    祖先グループ（ancestor group）
    外側枠ボックス（outer bounding box）

た

    ターゲット（target）
    ターゲット・ノード（target node）
    ダイアログ・ボックス（dialog box）
    タイトルバー（title bar）
    タイトル・ページ（title page）
    タイプ（type）
    チェックサム（checksum）
    チェックボックス（check box）
    置換モード（replace mode）
    チャート項目（chart item）
    チャート・テンプレート（chart template）
    チャート要素（chart element）
    ツール（tool）
    ツールバー（toolbar）
    ツール・パレット（tool palette）
    定義済みアクション（pre-defined action）
    定義済みタイプ（pre-defined type）
    ディテール問合せ（detail query）
    ディメンション（dimension）
    ディメンション階層（dimension hierarchy）
    ディメンション値（dimension value）
    データ型（datatype）
    データ構造ノード（data structure node）
    データソース（datasource）
    データ・ディクショナリ（data dictionary）
    データベース（database）
    データベース・トリガー（database trigger）
    データ・モデル（data model）
    データ・リンク（data link）
    テキスト項目（text item）
    デバッガ（debugger）
    デバッグ（debug）
    デバッグ・アクション（debug action）
    デバッグ・トリガー（debug trigger）
    デフォルト（default）
    問合せ（query）
    問合せフィルタ・ファンクション（query filter function）
    同位項目（sibling）
    動的な保存済み選択項目（dynamic saved selection）
    登録（register）
    独立ﾃﾞｰﾀ（independent data）
    トグル（toggle）
    ドラッグ（drag）
    トランザクション（transaction）
    トリガー（trigger）
    ドリル（drill）
    トレーラ（trailer）

な

    入力項目（input item）
    塗り領域（fill area）
    ネストされたマトリックス（nested matrix）
    ノード（node）

は

    配置（alignment）
    ハイパー・テキスト（hypertext）
    ハイパーリンク（hyperlink）
    配布（deliver）
    バインド参照（bind reference）
    バインド変数（bind variable）
    破損（damage）
    パターン（pattern）
    バックグラウンド処理（background process）
    バックグラウンド要素（background element）
    パッケージ（package）
    パッケージ仕様部（package specification）
    パッケージ・ファンクション（package function）
    パッケージ本体（package body）
    バッチ（Batch）
    バッチ・コンパイル（batch compile）
    バッファ（buffer）
    パネル（panel）
    パラメータ（parameter）
    パラメータ・リスト（parameter list）
    パレット（palette）
    範囲ツール（Range tool）
    ハンドル（handle）
    比較演算子（comparison operators）
    引数（argument）
    非キャッシュ列（non-caching column）
    日付軸（date axis）
    非表示（hidden）
    ビュー（view）
    表（table）
    表形式（tabular）
    表示（display）
    表示形式（plot type）
    表示項目（display item）
    表タイプ（table type）
    ビルトイン（built-ins）
    ビルトイン・データ型（built-in datatype）
    ビルトイン・マクロ（built-in macro）
    ファイアウォール（firewall）
    ファイル・ノード（file node）
    ファミリ（family）
    ファンクション（function）
    フィールド（field）
    フィールド・テンプレート（field template）
    フィルタ（filter）
    フォアグラウンド要素（foregrond element）
    フォーカス（focus）
    フォーマット・トリガー（format trigger）
    フォーム・レイアウト（form layout）
    フォーム・レター・レイアウト（form letter layout）
    複数行フィールド（multi-line field）
    複製（duplicate）
    物理ページ（physical page）
    付与（grant）
    フラット化オブジェクト（flattened object）
    プリンタ制御コード（printer control code）
    ブレーク・グループ（break group）
    ブレーク・チャート（break chart）
    ブレーク・トリガー（break trigger）
    ブレーク・ポイント（breakpoint）
    ブレーク列（break column）
    ブレーク・レポート（break report）
    プレースホルダー・ユーザー名（placeholder username）
    フレックス・モード（flex mode）
    プレビュー（preview）
    プレビューア（Previewer）
    プログラム単位（program unit）
    プロシージャ（procedure）
    プロジェクト（project）
    プロジェクト項目（project item）
    プロジェクト・ナビゲータ（Project Navigator）
    プロジェクト・ノード（project node）
    プロジェクト表示（project view）
    プロジェクト・ファイル（project file）
    プロジェクト・レジストリ（project registry）
    ブロック（block）
    プロトコル（protocol）
    プロパティ（property）
    プロパティ・クラス（property class）
    文（statement）
    分解オブジェクト（deconstructed object）
    分割バー（split bar）
    分類（classification）
    並行性（concurrency）
    ペイン（pane）
    ページ（page）
    ページ・ブレーク（page break）
    ペースト（paste）
    ヘッダー（header）
    ヘッダー・ノード（heading node）
    別名(alias)
    変数（variable）
    編成ノード（organization node）
    ボイラープレート（boilerplate）
    ポート（port）
    保存済み選択項目（saved selection）
    保存済み選択項目ツール（Saved Selection tool）
    ボタン（button）
    ボタン・プロシージャ（button procedure）
    ポップアップ・リスト（pop-up list）
    ボディ（body）

ま

    マージン（margin）
    マクロ（macro）
    マスター/ディテール・レイアウト（master/detail layout）
    マッチング・ツール（Match tool）
    マトリックス・セル（matrix cell）
    マトリックス・レイアウト（matrix layout）
    マトリックス・レポート（matrix report）
    無名ブロック（anoymous block）
    メール・ラベル・レイアウト（mailing label layout）
    メガバイト（MB）（megabyte）
    メソッド（method）
    メッセージ・ボックス（message box）
    モーダル・ウィンドウ（modal window）
    モードなしウィンドウ（modeless window）
    文字位置（justification）
    モジュール（module）

や

    有効なXML（valid XML）
    ユーザー・イグジット（user exit）
    ユーザー定義アクション（user-defined action）
    ユーザー定義型（user-defined type）
    ユーザー定義マクロ（user-defined macro）
    ユーザー・レジストリ（user registry）
    要素（element）
    要素タイプ（element type）
    読込み一貫性（read consistency）

ら

    ライブラリ（library）
    ラジオ・グループ（radio group）
    ラジオ・ボタン（radio button）
    ラベル（label）
    ランタイム・パラメータ･フォーム（Runtime Parameter Form）
    ランチャ（Launcher）
    リスト項目（list item）
    リスト・ツール（list tool）
    リスト・ボックス（list box）
    リフレッシュ（refresh）
    リモート・データベース（remote database）
    リンク（link）
    リンク・ファイル（link file）
    ルート（root）
    ルート・ノード（root node）
    ループ（loop）
    レイアウト（layout）
    レイアウト単位（layout unit）
    例外（exception）
    例外ツール（Exception tool）
    レコード（record）
    レコード・グループ（record group）
    レジストリ（registry）
    列（column）
    列オブジェクト（column object）
    レベル（level）
    レベル・ツール（level tool）
    レポート・レベルのオブジェクト（report-level objects）
    連結したライブラリ（attached library）
    ローカル・データベース（local database）
    ローカル変数（local variable）
    ローカル・レジストリ（local registry）
    論理演算子（logical operators）
    論理ページ（logical page）

わ

    ワイルド・カード（wildcard）
    枠（edge）
    枠（frame）
    枠ボックス（bounding box）


Project Builderにおいて、Project Builderまたはユーザーにより提供され、一定の形式のファイルに用いられるコマンド文字列。アクションは単一のファイル・タイプに制限されていない。たとえば、「ビルド」アクションがFormモジュールおよびCソース・ファイルの双方に定義されている場合、「すべてをビルド」を選択すると適切なツールによりすべての.fmbおよび.cファイルがコンパイルされる。｢定義済みアクション（pre-defined action）｣と｢ユーザー定義アクション（user-defined action）｣も参照。


埋込み型のコンピュータ・システム用に米国国防総省により開発された、高レベルのプログラミング言語。


ユーザー入力を受けることができるウィンドウまたはビュー。


（Oracle Express） 複数のディメンション値のデータを1つの値（全都市の合計販売数など）またはさらに小さな値セット（各地域の都市について算出された平均販売数など）に統合すること。データは詳細の最低レベルで収集されることが多く、分析用にさらに高いレベルでの合計に集約される。


最後のアクションのために発生した状況を通知するモーダル・ウィンドウ。警告には応答する必要がある。


フィールド内でデータが位置付けられる方法。データを定義されたフィールド幅の左、右、中央、左揃え、右揃えまたは中央揃えで配置できる。


表、ビューまたは列を参照するためにSQL文内で使用される2次的な名前。


（Oracle Express） ディメンション内のすべての値または特定階層についてのディメンション内のすべての値を選択できる「セレクタ」ダイアログ・ボックスのツール。


（Oracle Express） 階層内の特定の値を超えるレベルのディメンション値。祖先の値は、その子孫の値の集約合計である。次の例は、GEOGRAPHYディメンション内における、"France"、"Lyon"および"Paris"の祖先としてのディメンション値である"Europe"を示している。


別のグループを直接または間接に所有するグループ。


最初のオブジェクトの位置と2番目のオブジェクトとの関係を保ちながら、1つのオブジェクト上のスポットを別のオブジェクト上のスポットに固定するレイアウト・オブジェクト。


（Oracle Express） ファミリ・リレーションを基準にしてディメンション値を選択するとき、または階層内をナビゲートするときに使用する特定のディメンション値。


名前がなく、実行可能文を囲むBEGINおよびENDキーワードを明示的に指定する必要のないPL/SQLプログラム単位。無名ブロックには名前がないため、他のプログラム単位は参照できない。


別のオブジェクトのグループツリー内で、そのオブジェクトよりも上の位置で現れるオブジェクト。どのオブジェクトも、その依存項目の上位項目になる。


必要に応じWebページやアプリケーションに動的にインポートできる小さなプログラムを表すJava用語。


特定の結果を達成するために使用される、1つ以上のプログラム・モジュール。アプリケーションは、他のアプリケーションにネストできる。たとえば、業務システムを制御するアプリケーションには、データ入力用のさまざまなForm Builderアプリケーションやそのデータを視覚的に表示するさまざまなGraphics Builderアプリケーションを含めることができる。


1. プログラム単位が継続して作動するようにプログラム単位に渡される任意の式。
2. キーワードおよびキーワードの指定値を含む句。


情報交換用の米国標準コード。American National Standard Code for Information Interchangeの略称。


読込み専用のPL/SQLサブプログラムの集合であり、通常アプリケーションと共に提供され、必要なPL/SQLソースを提供する。連結ライブラリ内のプログラム単位は、コンパイル時または実行時に他のプログラム単位によって初めてコールされたときに、暗黙的にロードされる。それらのプログラム単位は、再度必要になったときにすばやく利用できるように、ロードされた状態になっている。このため、実行時のメモリの使用量を節約し、アプリケーションのパフォーマンスを改善することができる。「ライブラリ（library）」も参照。


1. 「プロパティ（prorety）」を参照。
2.  Oracle8オブジェクト・タイプ定義の一部またはコンポーネント。各属性には、名前とOracle8データ型がある。オブジェクト表がオブジェクト・タイプに基づいて作成される場合、表内の列は、オブジェクト・タイプ定義内の属性に対応する。リレーショナル表内の列オブジェクトがオブジェクト・タイプに基づいて作成される場合、その列オブジェクトにはサブ列と同等のものが含まれ、それぞれがオブジェクト・タイプ定義内の属性に対応する。表内の各Oracle8オブジェクト属性が、別の列であるかのように異なるデータ項目として扱われる。このことは、リレーショナル表内のオブジェクト表と列オブジェクトについてもあてはまる。
3. （Oracle Express） ディメンション値によって共有される記述子の特徴。属性は論理グループ分けを表し、これによってユーザーは、同類の特徴を基にデータを選択できる。たとえば、履き物を表すデータベースでは、履き物の色という属性を使用することにより、同じ色を共有するすべてのブーツ、スニーカーおよびスリッパを選択できる。


列オブジェクトを構成する列（Oracle8）。


Graphics Builderでは、属性記述子内の最初の要素。その後のファンクション・コールで設定または取り出される属性のツールキットに知らせる32ビットのマスク。属性マスク内に対応するビットが設定されている要素のみが設定または取り出される。


（Oracle Express） 属性および属性値を基準にしてディメンション値を選択できる「セレクタ」ダイアログ・ボックスのツール。たとえば、ソフト・ドリンクを表すデータベースでは、サイズが1リットルの全製品を選択する場合もある。その場合、「サイズ」が属性で、「1リットル」が属性値である。


（Oracle Express） 属性を構成する、データベース内の値。たとえば、アイスクリーム製品を表すデータベースでは、バニラ、チョコレートおよびストロベリーといった属性値は、製品ディメンションの味属性に属する場合がある。ブランド、形態およびサイズなど、製品ディメンションのさまざまなレベルにおけるディメンション値は、味について同じ値を共有する場合がある。


チャートの1種であり、軸と呼ばれるチャートの境界線のどこにデータが位置するかに基づきデータが表示される。軸チャートには軸が2つまたは3つあり、それぞれが項目軸、値軸または日付軸のいずれかになる。


パターンの白い部分。バックグラウンド要素に色を付けるには、「塗りカラー」パレットを使用する。


オペレーティング・システム環境で実行され、サービスやアクションを行う非対話形式のプロセス。一部のOracle製品では、データベースを同時に使用するユーザーのための作業の実行と調整、電子メッセージの処理と配布、印刷サービスの管理など、さまざまな作業にバックグラウンド処理を使用する。


チャートの値軸上の表示フィールドの始点として使用される値。


ウィンドウ・システムを使用せずにバッチ・モードでアプリケーションを実行する実行可能プログラム。


いくつかのPL/SQLプログラム単位をマシンが実行できる形式に一度に変換する。


PL/SQL構成体またはSQL SELECT文内のあらゆる位置に出現する単一のリテラル値（文字列、数値、日付など）の置換に使用されるパラメータへの参照。バインド参照の際には、パラメータ名の前にコロン（:）を付ける必要がある。


PL/SQLパッケージ以外で作成し使用できるグローバル変数。


1. キーワードDECLARE、BEGIN、EXCEPTIONおよびENDで定義される、PL/SQL内の基本的なプログラム単位。
2. Form Builderでは、データベース表またはビューに関連する論理コンテナ。


1. プログラム単位の仕様部と同じ情報が入っており、サブプログラムの実際のインプリメンテーション（そのアクション順序）も含む。ほとんどの場合、1つのサブプログラムには、本体を1つのみ定義する必要がある。
2. Report Builderでは、レポート・レイアウトの大部分（テキスト、図形、データおよび計算）を含む領域。レポートのボディは、レポートのヘッダー・ページとトレーラ・ページの間に表示される。


レポートが実行されるたびにレポート内に表示されるテキストまたは図形（あるいはその両方）。一部の製品では、「一定の」テキストまたは図形と呼ばれる。


レイアウト・オブジェクトの周辺のユーザー定義のアウトラインであり、通常その内容を強調表示するために使用する。境界線は、幅の半分がオブジェクトの枠の外側、もう半分が内側になるように描かれる。


「内側枠ボックス（inner bounding box）」および「外側枠ボックス（outer bounding box）」を参照。


1つの軸に沿って2種類のデータを表示する軸チャート。


ブレーク・グループに割り当てられた問合せ列。


レポート・データのブレークまたは分類に使用されるグループ。ブレーク・グループに割り当てられた問合せ列のデータは、すべて別のグループに属する列のデータの上に表示される。ブレーク・グループにフェッチされた各レコードは一度しか表示されないが、別のグループの複数の関連レコードは表示できる。


レポート・データの集合を分類する項目を含むレポート。


ブレーク・ポイントに達するたびに実行されるPL/SQLブロック。「ブレーク・ポイント（breakpoint）｣も参照。


PL/SQLサブプログラム内のあらゆる実行可能ソース行にセットできるデバッグ・アクション。ブレーク・ポイントはプログラム単位の実行を中断し、制御をPL/SQLインタプリタに渡す。ブレーク・ポイントを使用すると、サブプログラムをステップごとに実行し、ランタイム・エラーを探すことができる。「ブレーク・トリガー（break trigger）」も参照。


特定の形式のドキュメントを作成するために使用されるコンポーネントを指す。たとえば、フォームの作成にはForm Builderが、レポートの作成にはReport Builderが使用される。


Oracle Serverによって定義およびサポートされるデータ型。


PL/SQL言語に対する拡張機能の集合であり、ソフトウェアで使用されるように設計されている。ビルトインには、データ型、プロシージャ、ファンクション、例外および定数が含まれる。


Project Builderでは、マクロはProject Builderに付属している。「マクロ（macro）｣も参照。


コンピュータと周辺機器、またはコンピュータの部分間でデータを転送する間、データを一時的に格納する領域。バッファにより、転送の速度またはタイミングの違いによる情報の損失を防ぎ、一部の機能が高速化される。


1. アクション項目の選択、ダイアログボックスの表示、または現行の条件の確認に使用されるインタフェース要素。
2. 関連するPL/SQLプロシージャをもつ、アプリケーション内のオブジェクト。通常、ユーザ・マウス・イベントに基づいて実行される。


アプリケーション・オブジェクトに関連するPL/SQLプロシージャであり、実行時にその項目で特定のマウス・イベント（ボタンのクリックなど）が発生すると実行される。これは、ブレーク・グループを含む、フェッチされたデータの階層を確立することによって行われる。


現在、ユーザーからアクセスまたは変更されているデータベース上のデータ、またはOracle Serverがユーザーのサポートに必要とするデータのための、一時的な格納領域。これらの用語は同義で使用されることが多い。


Forms DeveloperおよびReports Developerコンポーネントの実行可能プログラムを他のOracle製品や3GLプログラムから起動させるためのインタフェース。


最初のエントリ・ポイントから現在実行しているサブプログラムに対する、一連のサブプログラム・コール。各サブプログラム・コールは、下に伸びるコール・スタック上の枠によって表され、新規に入力されたサブプログラムはスタックの一番下に追加される。


   「エディタ（editor）」を参照。


Form Builderでは、ユーザーがランタイム・アプリケーションで対話を行うインタフェース・オブジェクトを配置するバックグラウンド・オブジェクト。キャンバス・ビューは、通常、ウィンドウに対応付けられる。


オープンAPIを通じてクライアント、アプリケーション・サーバーまたはデータベースにプラグインできる、管理可能なオブジェクト。


「スタイル・シート（style sheet）」を参照。


非階層型の図表やその断片などの情報の種別を、感性レベルではなく、可能とするラベル・コンポーネント。分類された種々の情報へのアクセスを個別に制限する手段として使用される。


「項目軸（discrete axis）」を参照。


スプレッドシート内のデータのインスタンス（Microsoft Excelなど）。


Common Gateway Interfaceの略称。アプリケーションをWebサーバー上で実行するための、業界標準の技法。Webサーバーで検索される標準のHTMLドキュメントは静的であるが（まったく同じテキストが毎回検索される）、CGIにより、プログラムがWebサーバー上で稼働して別のコンピュータと通信を行い、ユーザーが入力する情報に応えて「動的な」HTMLドキュメントを生成することが可能になる。


コンピュータ・グラフィックス・メタファイル。国際的に認められたファイル形式で、オブジェクト指向の図形の保存や、システムまたはプログラム間の転送に使用される。


ANSI/ISO互換のために提供されているOracleデータ型の1種。CHAR列は固定長の列で、A、3、&、ブランクなどの印字可能文字を含むことができ、1～255個の半角文字やNULLを入力できる。


フィールドに対する単一の値を示す、横棒、線、記号、その他の図形オブジェクト。


Graphics Builderチャートをフォームまたはレポートに埋め込むのに使用されるあらゆるサイズの境界のある四角形。


チャートの書式を定義する属性とプロパティの集合。


小さな四角形として表示されるインタフェース要素であり、ユーザーはこれをオンまたはオフに切り替えることができる。


エラーチェックのアルゴリズム。


1. グループの1メンバーであり、グループ・ツリー内でそのグループ・オブジェクトのすぐ下に位置するオブジェクト。グループ・オブジェクトを構成するオブジェクトは、そのグループの子である。どのオブジェクトも、その親オブジェクトの子になる。
2. （Oracle Express） 階層内にある特定値のすぐ下のレベルのディメンション値。子の値は、親の集約合計を生成する計算に組み込まれる。ディメンションに複数の階層が含まれる場合、ディメンション値は複数の親の子である場合がある。次の例は、GEOGRAPHYディメンション内で、"France"の子としてのディメンション値"Lyon"と"Paris"を示している。


「ディテール問合せ（detail query）」を参照。


ラベルの付いた、情報の感度を示す階層レベル。分類は、情報へのアクセスを制限する手段として使用される。


文全体を構成しない、SQL文の一部。たとえば、「WHERE句」。


別のアプリケーションまたはコンピュータ（「サーバー」）のサービス、データ、処理などを要求するユーザー、ソフトウェア・アプリケーションまたはコンピュータ。2タスク環境では、クライアントはユーザー・プロセスである。ネットワーク環境では、クライアントはローカル・ユーザー・プロセスであり、サーバーはローカルまたはリモートの場合がある。


2つのCPU間の処理の分離。1つはトランザクション内でサービスを提供するサーバーとして、もう1つはトランザクション内でサービスを要求して受けるクライアントとして稼働する。共有データ管理の仕事は、すべてデータベース管理システムを実行しているコンピュータによって処理されるので、データベース・アプリケーションを実行しているワークステーションは、データの解釈と表示専用になる。


メモリー・バッファ。オブジェクトは、別のオブジェクトをカットまたはコピーするか、またはアプリケーションを終了するまで、クリップボードに残る。


すべてが同じデータ型で、数に制限のない要素によって構成されるデータ単位を記述する、ユーザー定義データ型。可変配列型および表タイプは、コレクション・タイプである（Oracle8）。


Forms Developerの実行可能プログラムのコマンド・ライン引数のセットが入ったファイルを指定できる引数。


ウィンドウ・システム、描画面、またはウィンドウおよびそのビューに利用できるすべての色を含む。


1. データの特定のドメインを表す、データベース表内の垂直方向の領域。列には列名（ENAMEなど）があり、特定のデータ型（CHARなど）を持っている。たとえば、従業員情報の表で従業員名のすべてが1つの列を構成するなど。レコード・グループ列は、データベースの列を意味する。
2. Report Builderでは、問合せのSELECTリスト内の列のそれぞれの式に対し自動的に作成されるか、集計や式を実行したりプレースホルダーとして稼働するために手動で作成されるデータ・モデル・オブジェクト。


Oracle8のリレーショナル表またはオブジェクト表で、定義がオブジェクト・タイプに基づいている列。列は複合列で、その構成部分は、オブジェクト・タイプの属性に対応する。


オペレーティング・システムのコマンド・ライン。ほとんどのOracle製品は、いくつかの実行プログラム引数を使用して、コマンド・ラインから起動できる。


プログラム内に説明文を含めるための言語要素。これを実行しても影響は出ない。


データベース内のデータの変更を永続的にすること。変更が確定されるまでは、変更情報を格納したり、データを前の状態に復元できるように、新旧のデータが存在する。


（Oracle Express）

>	より大きい

<	より小さい

=	等しい

<=	以下

>=	以上

<>	等しくない

数値の場合、オペランドは最小共通型に拡大される（IntegerはLongに優先し、LongはSingleに優先し、SingleはDoubleに優先する）。文字列の場合、比較は大/小文字が区別され、Windowsのコントロール・パネルで指定する言語によって使用される照合順番に基づいて行われる。結果はFALSEが0でTRUEが-1になる。


ソース・プログラムを、バイナリの実行可能な形式に変換すること。PL/SQLプログラム単位は、実行する前にコンパイルする必要がある。


大規模アプリケーションの一部である特定のターゲット・オブジェクト。｢ターゲット（target）｣も参照。


異なるデータベース・アプリケーションや同じアプリケーションを実行する複数のユーザーによる、同じデータの同時アクセス。データベース・ソフトウェアで並行性を保つには、すべてのユーザーが首尾一貫したデータを参照できることと、すべての変更が適切な順序で行われることを保証するロジックを追加する必要がある。


X> 100のように、値が真か偽である式。たとえば、式で真を評価させた行のみを表示するための問合せを行う場合、問合せに条件を設定します。


子オブジェクトが親オブジェクトの内外で移動またはサイズ変更されることを防ぐレイアウト・エディタ・モード。


データベースへログインすること。問合せを作成または変更したり、データベースに格納されているアプリケーションにアクセスする場合は、接続する必要がある。


SQL*Netがネットワーク上の特定のOracleインスタンスへの接続に使用する、プロトコルを含むパラメータの集合。


オブジェクト・レベルやアプリケーション・レベルではなくデータベース・レベルで実施される、一定のデータに関する規則または制限（列でのNOT NULL制限など）。


PL/SQLコードの構成体。構成体には2つのタイプがある。値無し構成体は値を戻さず、値付き構成体は値を戻す。


Oracle Serverが現行のSQL文を格納する作業領域。文が問合せの場合には、結果の列ヘッダーと結果が入る１行。カーソルとも呼ばれる。


1つの値で始まり、別の値に達するまで継続する値を表示する軸。したがって、これらの値は、数学的に関連付けられている依存データは、通常、値軸とも呼ばれるこの軸に沿って表示される。


オブジェクトの理想的な形を構成する、垂直の四角形の4隅の点。レイアウト上のオブジェクトを選択すると、その制御ポイントが表示される。選択するオブジェクトによっては、制御ポイントをドラッグして、オブジェクトを変更できる場合がある。


描画が行われる2次元の格子。


レイアウト・エディタ・ビューでのオブジェクトの配置とサイズ設定に使用される、x，y単位のタイプ。利用できる座標システムは、1) プラットフォーム固有の文字セル・サイズを使用する文字、2) 単位がピクセル、センチメートル、インチまたはポイントである実際単位。


オブジェクトがレイアウト内で表示されるための位置を示す点。x座標とy座標により、オブジェクトの水平方向（x）と垂直方向（y）の位置が決まる。


必要に応じエディタ内の別の位置にペーストできるように、選択されたオブジェクトの複製をクリップボード上に保管すること。


親問合せと同じ表に基づく副問合せ（たとえば、その親問合せに含まれる表の中にある列の参照など）。


2つ以上の他のグループを所有し、数学的なクロス積を実行する（それらの間の値を相関させる）グループ。


｢マトリックス･セル｣を参照。


1. マウスの位置を示す小さなアイコン。カーソルの形は、選択するツールによって異なる。
2. 問合せにより取り出されるデータに対する内部ポインタ。カーソルは、一度に1行のデータしか指さない。ただし、ビルトイン・サブプログラムを使用すると、カーソルをデータ・セットの任意の行に移動できる。


（Oracle Express） ユーザーが作成する式で、これによってデータ解析を細かくチューニングできる。データベース内のベース基準を使用して、カスタム基準を作成できる。たとえば、データベース内にVolume Shareという既存の基準がある場合、この基準を使用して、Volume Share Year Agoという名前のカスタム基準を作成できる。このカスタム基準では、製品の前年度からの全体シェアを見ることができる。


1つ以上のオブジェクトを削除し、必要に応じエディタ内の別の位置にペーストできるようにそれらをクリップボードに保管すること。


ビューは、その全体または一部が他のビューにより遮られると破損する。


データベースの管理者により所有される一組の表およびビュー。Oracle Serverやその他のリレーショナル・データベースの中核となる情報ソース。


グループと問合せ間でマスター/ディテール（親子）関係を定義するのに使用されるデータ・モデル・オブジェクト。


データベースからどの値をフェッチすべきか、どの値を計算すべきか、データをレポート内でどのように順序付けるべきかを定義するリレーショナル・モデル。データ・モデルを定義するReport Builderオブジェクトは、問合せ、グループ、列、パラメータおよびリンクである。


ビューは、その全体または一部が他のビューにより遮られると破損する。


Project Builderにおいて、オープン・オブジェクトの構造を制御するプロジェクト項目を示す、プロジェクト・ナビゲータ内のノード。たとえば、「グローバル・レジストリ」ノードはグローバル・レジストリを示し、ローカル・レジストリのリストとグローバル・タイプ定義のリストが含まれている。


ユニットとして扱われる、一組のディクショナリ表とユーザー表。


トリガーを実行するINSERT、UPDATEまたはDELETE文がデータベースのリレーショナル表に対して発行されたときに、暗黙的に実行される保存済みのPL/SQLブロック。｢デバッグ・トリガー（debug trigger）｣も参照。


データの標準の書式。共通のOracleデータ型には、CHAR、VARCHAR2、DATE、NUMBER、LONG、RAWおよびLONG RAWなどがある。


Oracle Serverのデータ型の1つ。日付列には、紀元前9999年1月1日から西暦9999年12月31日までの日付と時刻が入る。


1つの日付から始まり、別の日付に達するまで続く日付の値を表示する軸。


プログラム内のランタイム・エラーを検出して診断し、削除すること。


PL/SQLサブプログラム内に配置されるユーザー指定のイベントであり、通常ランタイム・エラーのトラブルシュートを目的とする。


PL/SQLサブプログラムのどの実行可能ソース行にも配置できる、条件付きのデバッグ・アクション。指定条件が満たされると、サブプログラムの実行が再開される前に、指定したアクションが実行される。｢データベース・トリガー（database trigger）｣も参照。


テストとデバッグに使用される、ソフトウェアでのProcedure Builderの機能。


Oracle8では、オブジェクト・タイプとオブジェクトは複合要素であり、構成要素と属性によって構成される。Forms DeveloperおよびReports Developerでは、個々の構成要素または属性を、独立した、個別に選択できるデータ項目として扱う。このような扱い方によって、分解オブジェクトが生成される（フラット化オブジェクトとも呼ばれることもある）。オブジェクトはDeveloper環境内において、同類のエンティティではない。


値が他のデータに依存するデータ。たとえば、ある従業員の就業年数は値10であるが、それはその従業員の名前の値と依存します。値データとも呼ばれる。


ユーザーが必要なコマンド・パラメータや属性を指定しない場合にシステムにより提供される値。


配布と実行のために完成されたアプリケーションを用意し提供すること。


Project Builderにおいて、Project Builderがプロジェクト内で参照されるファイルをどのようにコンパイルするかを決定するために使用する機構。ツリーの左上の項目は、右下の項目に依存している。たとえば、ヘッダー・ファイルが古いか、またはそれを使用して構築する実行可能ファイルより新しいと、Project Builderでは、Buildコマンドを受けて、実行可能ファイルが再構築される。依存性はサブプロジェクトにも当てはまる。たとえば、関数ライブラリを含むサブプロジェクトが再構築されていると、Project Builderは更新されたライブラリ関数を使用するため依存プロジェクトを再構築する必要があることを「理解する」。｢依存性表示（dependency view）｣も参照。


Project Builderでは、プロジェクト・ナビゲータ内のファイルをそれらが互いに依存する順に表示（プロジェクト・ノードを階層の最上位に、その後にターゲット・ノードを、続いてそれらのターゲットの構築可能コンポーネントを配置）する。たとえば、実行可能フォームは.fmbファイルに依存してこれに先行し、.fmbファイルはUSEREXITプロシージャが使用するライブラリに依存してこれに先行するなど。｢プロジェクト表示（project view）｣、｢ターゲット（target）｣も参照。


1. 別のオブジェクトのグループ・ツリー内で、そのオブジェクトより下位に現れるオブジェクト。どのオブジェクトも、その上位項目の依存項目になる。
2.（Oracle Express）階層内の特定の値より小さいレベルのディメンション値。子孫の値は、その祖先の集約合計を生成する計算に組み込まれる。次の例は、GEOGRAPHYディメンション内における、"Europe"の子孫としてのディメンション値である"France"、"Lyon"および"Paris"を示している。


Forms DeveloperおよびReports Developerアプリケーションのさまざまなコンポーネントを設計するためのインタフェース。


「Oracle Designer」を参照。


アプリケーション・モデリング、設計および生成のツールセット。Oracle Designerを使用すると、Oracleリポジトリに記録されているモジュール定義からフォームとメニューを生成できる。


マスター/ディテール・レポートを定義する際、ディテール問合せはマスター（親）問合せにより取り出された各レコードに対するすべての関連レコードを取り出す。


操作を完了するために必要な情報の入力を求める、部分的な画面またはウィンドウ。


コンパイラにより生成される、プログラム単位の中間的な表現。DIANAには、コンパイルされるプログラム単位の構文上と意味上の情報がすべて含まれている。参照をプログラム単位にコンパイルするため、コンパイラは参照先のプログラム単位のDIANAへのアクセスを必要とする。たとえば、プログラム単位Aがプログラム単位Bをコールする場合、BのDIANAが使用可能でなければ、Aをコンパイルできない。


（Oracle Express） データのカテゴリを提供する値のリストである、データベース・オブジェクトのタイプ。ディメンションは、変数の値を識別する索引として機能する。たとえば、月ごとに個別の販売金額が記録された販売データがある場合、そのデータにはMONTHディメンションがある。つまり、データが月別に分類される。ディメンションはリレーショナル・データベースにおけるキーに似ている。

マルチディメンションの変数内にある任意のデータ項目は、変数の各ディメンションから1つのメンバーを指定することにより、一意におよび完全に選択できる。たとえば、販売変数がMONTH、PRODUCTおよびMARKETによってディメンション化されている場合、MONTHディメンションで"January"、PRODUCTディメンションで"Stereos"、MARKETディメンションで"Eastern Resion"を指定すると、変数内の1つのセルが一意に指定される。このように、ディメンションによって、データの取出し、更新および計算について、データを編成および選択するための、正確で、直感的な方法が提供される。

ディメンションは、1つのテキストまたは整数値などの単純な値から、他のディメンションの値を組み合わせた値など、連結した値の場合もある。複合は、ディメンションではないが、散在する値を処理する目的でExpressによってディメンションのように扱われる、連結に似た内部オブジェクトである。


（Oracle Express） ディメンションを構成するリスト内の1つの要素。たとえば、コンピュータ会社のPRODUCTディメンションでは、"LAPPC"および"DESKPC"と呼ばれるディメンション値を持つ場合がある。GEOGRAPHYディメンション内の値には、"Boston"および"Paris"などが含まれる場合がある。また、TIMEディメンション内の値には、"MAY96"および"JAN97"などが含まれる場合がある。


メニュー項目、ボタンなどを表す、インタフェース要素の状態。現行のコンテキストでは使用不可。つまり、キーボードやマウス入力には応答しない。


固有の値を固定した間隔で表示する軸。これらの値は、数学的に関連付けられていない。通常、独立データは、項目軸とも呼ばれるこの軸に沿って表示される。


チャート、イメージ、テキスト・オブジェクトおよび形のあらゆる組合せを含むGraphics Builderドキュメント。


Form Builderでは、PL/SQLでプログラムに基づいてフェッチまたは割り当てる必要のある情報を格納または表示する項目。


これはコール・スタックに属するため、この中では新規に入るサブプログラムはスタックの最下部に追加される。最初のプログラム・エントリ・ポイントに対応する最も古い枠は、スタックの一番上に、最も深くネストされたサブプログラム・コールと関連付けられた最新の枠は、スタックの一番下にある。


マウス・ボタンを押したまま、マウス・ポインタをウィンドウ内の特定の位置にスライドさせること。


（Oracle Express） 階層を持つディメンション内の集約のレベルを上下にナビゲートすること。ディメンション値を選択したり、データを表示したりするとき、ディメンション階層内でドリル・ダウンまたはドリル・アップすることにより、階層を拡張または縮小できる。ドリル・ダウンによってビューが拡張され、ディメンション階層内にある親の値に関連付けられている子の値も表示される。ドリル・アップによって、ディメンション階層内にある親の値に関連付けられている子の値のリストが収縮される。

階層をドリル・ダウン（拡張）するにはプラス・アイコン( [image])をクリックし、ドリル・アップ（縮小）するにはマイナス・アイコン( [image])をクリックする。

セレクタ内では、ドリル・アイコン( [image])をクリックして「ドリル」ダイアログ・ボックスを表示し、ディメンション全体の詳細レベル選択できる。


クリップボードの内容を変更することなくレイアウト上のオブジェクトを直接コピーできるオプション。


（Oracle Express） 評価されるたびに異なるディメンション値を持つことのできる保存済み選択項目。選択されたディメンション値は、使用ごとに異なる場合がある。対照的に、静的な保存済み選択項目は、ディメンション値の変化しないリストである。動的な保存済み選択項目のスクリプトには"Select the last three Months"などのように文が記述されるが、静的な保存済み選択項目のスクリプトには、"Select February 1996, March 1996, and April 1996"といったように文が記述される。


拡張2進化10進符号（Extended Binary-Coded Decimal Interchange Code）の略称。


オブジェクトの境界。


境界線、塗りおよびテキスト・パターンと色の現行の設定を表示する、レイアウト・エディタのツール・パレット上の表示ボックス。


プログラム単位の作成やアプリケーションの設計など、一連の特定のタスクを実行する作業領域。


情報を記録する必要があるかもしれない重要な事柄。要素は、属性および他の要素との関係で記述される。


ディクショナリ内に保持される要素はすべて、特定のタイプに分類される。要素タイプには、エンティティ、属性、プログラム・モジュール、表、ダイアグラム、テキスト、ソフトボックスなどがある。これらのオカレンスまたはインスタンスは、要素と呼ばれる。


（Oracle Express） 実行しようとしているタスクに関連のあるダイアログ・ボックスを表示する。通常はそこで1つ以上の必要な値を選択する。


メニュー項目、ボタンなどが現行のコンテキストで使用できる（つまり、キーボードやカーソルおよびマウスの入力に応答する）ことを表すインタフェース要素の状態。


別のオブジェクトを含むオブジェクト。オブジェクトは、次の条件をすべて満たす場合に限り、別のオブジェクトに囲まれると見なされる。両方のオブジェクトが同じ領域に属している（ボディまたはマージン、ヘッダー、トレーラ）。2つのオブジェクトの外側のものが、枠または繰返し枠である。2つのオブジェクトの外側のものが、もう一方の後ろにある。2つのオブジェクトの内側のものが、完全にもう一方の境界線内にある。両方のオブジェクトが同じ領域に属している（ボディまたはマージン、ヘッダー、トレーラ）。2つのオブジェクトの外側のものが、枠または繰返し枠である。2つのオブジェクトの外側のものが、もう一方の後ろにある。2つのオブジェクトの内側のものが、完全にもう一方の境界線内にある。


意図された受取人のみがデータを暗号解除し、読めるようにデータを暗号化すること。


一般的に使用されるツールおよびそれらの構成情報を含む、ユーザーのコンピュータ･ベースの作業場所。Project Builderにおいて、Forms Developerアプリケーションの開発関連のさまざまな作業を完成するのに使用される、ツールのサブセットを指す。


PL/SQLサブプログラムから生成される警告またはエラーの状況。


（Oracle Express） 指定期間を満たすデータに関連付けられたディメンション値を選択できる「セレクタ」ダイアログ・ボックスのツール。たとえば、ボストン市場で1995年の12月23日で終わる週に、ドル売上高が10,000ドルを超えるすべての製品を選択するといった操作もできる。


'OPENFILE=my_disp'や'PRINT=YES'など、製品の実行可能プログラムに渡すことができる引数。これらの引数は、通常実行可能プログラムがコマンド・ラインから起動される際に指定される。


「実行（run）」を参照。


オブジェクト、モジュール、選択されたテキストやイメージのコピーをファイルやデータベースに格納すること。Project Builderにおいて、プロジェクト、タイプ、アクションまたはマクロ（あるいはそれらすべて）の定義が含まれるファイルを、異種プラットフォームで作業する他のクライアントに配布できる移植性のある形式で書くプロセス。「エクスポート・ファイル（export file）」、「インポート（import）」も参照。


Project Builderにおいて、プロジェクトのエクスポートにより作成された共有可能な移植性のあるファイル。


1. 変数、定数、リテラルおよびそれらの値による操作を結合したPL/SQL構成体。
2.（Oracle Express） Express言語プログラム内で指定される1つ以上のデータ値。たとえば、式をプログラムまたは関数の引数として指定できる。式は次のいずれかである。

•	単一のリテラル値（10など）

•	1つ以上の値を含む変数または式

•	1つ以上の値を返す関数

•	変数、式または関数などの値を、算術演算子またはブール演算子と組み合せる計算


「ライブラリ（library）」を参照。


他のOracle製品により参照可能なANSI規格のSQL SELECT文。


（Oracle Express） ディメンション階層のレベルに対応する、関連のあるディメンション値のグループ。ファミリ内のディメンション値は、祖先、親、子および子孫としてお互いに関連付けることができる。次の例では、GEOGRAPHYディメンション内のディメンション値"France"についてのファミリ・リレーションを示す。


（Oracle Express） 特定階層のディメンション値のファミリを選択できる、「セレクタ」ダイアログ・ボックスのツール。ファミリには、1つの親とその子孫にあたるディメンション値すべてが含まれる。たとえば、GeographyディメンションにあるChicago市場レベル以下のファミリ・メンバーをすべて選択できる。


1. その中でデータの入力、編集および削除が可能なインタフェース要素。2. Graphics BuilderおよびReport Builderでは、特定の問合せ列のデータがどのように表示されるかを定義するレイアウト・オブジェクト。


Graphics Builderでは、独立データ（値）が横棒や線のようなチャート・フィールドとしてどのように表示されるかを決定する、属性およびプロパティの集合。


Project Builderにおいて、ファイル・システム内に格納されたファイルを示す、プロジェクト・ナビゲータ内のノード。たとえば、グローバルおよびローカル・レジストリ・ノードは、それぞれグローバルおよびローカル・レジストリ・ファイルに対応する。


塗り（色またはパターン）が適用される、オブジェクト内の領域。


グループによりデータが表示されることを制限する、PL/SQL関数または無名関数。


ローカル・エリア・ネットワーク上のコンピュータに対する外部からのアクセスと、ローカル・エリア・ネットワーク内から外部のコンピュータへのアクセスを規定するコンピュータ。


「分解オブジェクト（deconstructed object）」を参照。


子オブジェクトが移動またはサイズ変更される際に親オブジェクトのサイズ変更または縮小を自動的に行い、オブジェクトの位置変更やサイズ変更により影響される可能性のある他のレイアウト・オブジェクトの位置を調整するレイアウト・エディタ・モード。


ユーザーまたはクライアントからの入力に応答できるエンティティ状態。エンティティは、キーボード・フォーカスを持っていれば、ユーザーがキーを押したときにイベントを受け取れる。描画ビューは、描画フォーカスを持っていれば、描画に影響を与えるクライアント・ルーチンに応答できる。


パターンの黒い部分。フォアグラウンド要素に色を付けるには、「線カラー」パレットを使用する。


別の表の主キーを参照している、1つの表内の値または列。


Report Builderにおいて、ラベルがフィールドの左に、各レコードが別々の論理ページに表示される、デフォルトのレイアウト・スタイル。


Report Builderにおいて、ボイラープレートとフィールドを混在させ「ワード」ブレークで行を折り返すデフォルトのレイアウト・スタイル。


（フィールド・プロパティ） フィールドの値の表示状態を定義する設定。たとえば、書式マスクは、金額や日付の表示を指定するのに使用される。


オブジェクトのフォーマット属性の動的な変更を可能にするPL/SQL関数。


（Oracle Express） 値を生成するストアド計算、ストアド式またはストアド・プロシージャを表すデータベース・オブジェクトのタイプ。データ内の複雑なまたは頻繁に使用されるリレーションを、データ自体を再保存せずに定義および保存する方法は、式によって提供される。式を使用するたびに、値の生成に必要な計算またはプロシージャはExpressによって実行される。


PL/SQLのファンクションまたは式、ユーザー・イグジット、SQL文またはこれらのあらゆる組合せからそのデータを獲得するユーザー作成の列。


1.Graphics Builderにおいて、チャートの基本構造を定義するがデータの表示方法は決定しない、チャート・テンプレートの一部。
2.Report Builderにおいて、他のレイアウト・オブジェクトを囲み複数のオブジェクトのフォーマット、周期および位置を同時に制御するのに使用されるレイアウト・オブジェクト。


アクションの指定されたシーケンスを実行して値を返すPL/SQLサブプログラム。クライアントおよびデータベース・サーバーに存在し、実行することができる。


アプリケーションを、ランタイム実行可能プログラムおよびバッチ実行可能プログラムで実行できるバイナリ形式でファイルまたはデータベースに保存すること。


実行可能なForm Builder。アプリケーションをバイナリ形式でファイルやデータベースに保存するときに使用される。


Forms DeveloperおよびReports Developerインストールの全体に共通した情報を格納するProject Builderレジストリ。この情報は、タイプ定義と、それに関連付けられたアクションおよび、事前定義済みまたはユーザー定義のプロパティに限られる。グローバル・レジストリの使用はオプションである。グローバル・レジストリのファンクションは、個々のユーザー・レジストリにより実行することができる。「レジストリ（registry）」、「ユーザー・レジストリ（user registry）」も参照。


アプリケーション内に存在する論理コンテナ。アプリケーションがグローバル変数を使用する場合、その変数は、アプリケーションを終了するまで、または別のオブジェクトがその変数を明示的に削除するまで、保持される。


ユーザーに、モジュールに対するアクセス権限を与える。アクセス権限を他のユーザーに付与できるのは、モジュールの作成者のみである。


Graphics Builderでは、レイアウト・エディタ内の行と列を分離する線。


1. いくつかの他のオブジェクトから構成されているオブジェクト。
2. Report Builderにおいて、問合せにより選択されているすべての列を含むため自動的に作成されるか、レポート内に現れるデータの階層を変更するためにユーザーにより作成されるデータ・モデル・オブジェクト。主に、レポート内でのブレークの作成と計算のリセットに使用される。
3.Project Builderにおいて、ランチャ外のサブメニューを介して利用できる関連項目の集合。グループによりユーザーは、他の項目またはグループ（あるいはその両方）を表示するためにポップアップする任意の「グループ」をエントリとして、ランチャをWindows95の「スタート」メニューに似せてセットアップできる。たとえば、ユーザーはプロジェクト計画、作業リスト、コンポーネント仕様などを含む「Project Docs」というグループを定義し、.TXTファイルや.DOCファイルなどを含めることができる。


グループによりフェッチされるデータを制限するPL/SQL関数。


「ファミリ・ツリー」に類似した階層モデルで、グループ・オブジェクトとそれらを構成するオブジェクトの関係を表す。


グラフィカル・ユーザー・インタフェース。プログラムの入出力を表す以外に、ピクチャを使用することを意味する。GUIのあるプログラムは、ウィンドウ・システム（X Windows、Microsoft Windows、Apple Macintoshなど）上で稼働する。GUIプログラムは、アイコンやボタンなどを画面上のウィンドウに表示する。ユーザーは、GUIプログラムを主に画面上のポインタ（通常マウスで制御される）を移動して制御する。ビットマップ・インタフェースとも呼ばれる。


アプリケーション・オブジェクトに対する内部ポインタ。PL/SQLプログラム単位内のオブジェクトを参照するには、適切なサブプログラムに、引数としてそのハンドルを渡す必要がある。


テキスト、図形、データ、計算など、レポートの紹介内容を入れることができるオプションのレポート領域。レポートには、ヘッダーが最初に表示され、ボディとトレーラがそれに続く。


レポート内に含めたりレポートに関連付けることができるオブジェクトのタイプを示す、オブジェクト・ナビゲータ内のノード。ヘッダー・ノードを選択しても、レポート内のオブジェクトは選択されない。


（フィールド・プロパティ）  Report Builderが、示されたフィールドをレイアウト内のその位置で禁止するかどうかを指定するプロパティ。「非表示」が指定されると、フィールドの値は（&fieldnameにより）テキスト・オブジェクト内で参照される位置のみ表示される。


（Oracle Express） データを編成および構造化するための方法。ディメンション内の値が複数のレベルに配置され、各レベルがその下位レベルからのデータの集約合計を表している場合、階層が存在する。一部のディメンションは、それらに基づく複数の階層を持つ。

次の例は、GEOGRAPHYディメンションに基づく階層を示す。ここでディメンション値は、5つのレベルで配置されている。CustomersレベルのデータはCitiesレベルに集約され、Citiesレベルのデータは、Countries/Areas、Continents/RegionsおよびGlobalの各レベルに集約される。


Hypertext Markup Languageの略称。インターネット上のWebサーバーの他のドキュメントに対するコンテンツとリンクを指定するのに使用される、タグ・ベースのASCII言語。エンド・ユーザーは、WebブラウザによりHTMLドキュメントを表示させ、リンクに従って他のドキュメントを表示させる。


Hypertext Transfer Protocolの略称。WWWブラウザを有するコンピュータとアクセスされるWWWサーバー間のWWW通信データを搬送するのに使用されるプロトコル。


1つの文書のある位置から、別のドキュメント（のある位置）や同じ文書内の別の場所への参照（リンク）。Webブラウザでは、通常区別ができる方法（異なる色、フォント、スタイルなど）によりハイパーリンクが表示される。ユーザーが（マウスをクリックして）ハイパーリンクを実行すると、ブラウザがリンク対象を表示する。


クロス・リファレンスを含むドキュメントの集まりであり、これを使用するとWebブラウザによりドキュメント間の移動を簡単に行うことができる。


Webブラウザを使用することにより、ドキュメント間を簡単に移動できるクロス・リファレンス。


インタフェースC定義。Cにインプリメントされた機能に対するPL/SQLアプリケーションのプログラミング・インタフェース。


ウィンドウやツールの図形表示。


アプリケーションに保管およびロードできるビットマップ・オブジェクト。クライアントは、インポートされたイメージを変更できない。


Project Builderでは、Project Builderが認識し自動的にプロジェクト・ナビゲータ内にそのエントリを作成するプロジェクト項目であり、通常自動生成の結果である。たとえば、Project BuilderはCソース・ファイルのコンパイルの間に中間ステップとして生成される、 OBJファイルを認識し、それらのエントリをプロジェクト・ナビゲータ内に作成できる。暗示項目のプロパティのリセットは使用が制限されているが（次のコンパイルが変更を破棄する）、編集、ビュー、印刷のようなアクションを介して確認できるため、このような項目は便利である。「項目（item）」、「アクション（action）」も参照。


1. モジュールをファイル・システムまたはデータベースから読み込み、それをアプリケーションに取り込むこと。
2.プロジェクト情報が入ったファイルを読み込むこと。


その値について他のデータに依存しないデータ。たとえば、ある従業員の名前が値Jonesで、これは他の従業員名や関連データの値とは無関係であるなど。項目データとも呼ばれる。


表に関連するオプション構造であり、Oracle Serverにより表の行の位置を素早く確かめ、（オプションとして）それぞれの行が他と重複しないことを保証するために使用される。


Project Builderにおいて、依存性ツリー内の祖先ノードからアクション、タイプ、マクロまたはプロパティ定義の情報を取得すること。上位ノードに関連属性がある場合、それらの属性は継承できる。したがって、フォームや文書のようなファイル・システム項目がサブプロジェクト、プロジェクト、ユーザー・レジストリ、グローバル・レジストリからアクション定義を継承したり、プロジェクトがローカルまたはグローバル・レジストリからタイプ定義を継承する、などの場合がある。


枠の厚みや他の属性設定にかかわらず、オブジェクトの理想的な形を構成し、その4つの制御ポイントを接続する仮想の四角形。


ターゲットの構築に使用されるファイル。たとえば、.FMBは.FMXの入力となる。ソースともいう。


入力する各文字が、カーソル位置以降の文字を右に移動させてその位置に挿入されるモード。置換モードの反対。


世界的な、コンピュータのTCP/IPベースのネットワーク。


PL/SQLソース、Procedure BuilderコマンドおよびSQL文のあらゆる組合せが入ったファイル。


内部的なTCP/IPネットワークであり、これに対するアクセスは（ファイアウォールにより）企業や組織内の人物に制限されている。イントラネットは、インターネットが提供するサービスと類似したものを組織内に提供するが、インターネットに接続される必要は必ずしもない。企業内で情報やアプリケーションの配布のため、内部ネットワーク上に1つ以上のWebサーバーをセットアップするのはイントラネットの一般的な例である。


インターネット上のコンピュータを個別に識別する4つの部分をもつ数値で、それぞれの部分は3桁以下である。


Project Builderでは、フォームやドキュメントなど、そのオブジェクトに関連するファイル・システム内のオブジェクト。プロジェクト・ナビゲータ内のノードにより指定または参照される。


Project Builderでは、「プロジェクト・ナビゲータ」ウィンドウ内のエントリで、アイコンおよび内容を示すタイトルから構成される。ノードは、「Form Builder」ファイルおよび文書などのファイル・システム内の実際の項目を持つ。「ノード（node）」、「項目（item）」も参照。


Java ARchiveの略称。多くのファイル（Javaのクラス・ファイル、イメージなど）を1つのファイルに集めるのに使用されるファイル。


インターネット用のプログラミングをプラットフォーム独自の「アプレット」の形でサポートするコンピュータ言語。


2つ（以上）の表のデータを1つのSELECT文内で結合すること。


「配置（alignment）」を参照。


1. 対応する引数と共に指定する必要があるコマンド・ライン構文の一部。

2. PL/SQL構成体に必要な部分の1つ。


アプリケーションの仮想オブジェクトの値または意味を示すテキスト。


（Oracle Express） ディメンション階層内の位置。ベース・レベルより上の各レベルは、それより下のレベルからのデータの集約合計を表す。たとえば、TIMEディメンションには、MonthやQuarterなどの昇順レベルを持つ場合がある。ディメンション階層内では、1つのレベルのディメンション値は、そのレベルより上または下のレベルのディメンション値とファミリ・リレーションを持つ。


（Oracle Express） 特定階層内のレベルに基づいてディメンション値を選択できる「セレクタ」ダイアログ・ボックスのツール。たとえば、GeographyディメンションにあるKey Accountレベルのすべてのディメンション値を選択するといった操作もできる。


オブジェクトの作成、変更、位置付けまたは削除ができるエディタ領域。


異なる表示デバイス間で一貫した測定システムを使用するための寸法の単位。レイアウト上の位置またはオブジェクトの寸法を指定するのに使用される。


SQL SELECT文のテキスト文字列を示すのに使用されるパラメータへの参照。字句参照の際には、パラメータ名の前にアンパサンド（&）を付ける必要がある。


クライアントのファイル・システムまたはデータベースのファイルにともに保管された1つ以上のPL/SQLプログラム単位の集合。ライブラリに保管されたプログラム単位は、複数のアプリケーションから一度に参照できる。ストアド・プログラム単位（データベースに保存され、実行される）とは異なり、ライブラリ内のプログラム単位は、常にクライアント側のPL/SQLエンジン内にロードされ、実行される。ライブラリに保管されたプログラム単位を参照するには、まずライブラリを連結する必要があります。｢連結したライブラリ（attached library）」も参照。


グループと問合せ間でマスター/ディテール（親子）関係を定義するのに使用されるデータ・モデル・オブジェクト。


ボイラープレート・オブジェクトが関連付けられているファイルの名前。実行時に、Report Builderはファイルの内容をレポート・レイアウト内にインポートする。


ダイアログ・ボックス内の項目リスト。通常、リスト・ボックスは選択肢を提供し、スクロールできる。


Form Builderにおいて、選択肢の一覧を表示する項目。


LOVともいう。1列または複数列の選択リストを提供する、スクロール可能なポップアップ・ウィンドウ。


（Oracle Express） ディメンション内で現在選択されている値のリストからディメンション値を選択できる「セレクタ」ダイアログ・ボックスのツール。


1. アプリケーションを実行するコンピュータ上のデータベース。2. アプリケーションが接続されているデータベース。このデータベースは、アプリケーションによって生成されるすべてのSQL文を解析し、実行する。


「ユーザー・レジストリ（user registry）」を参照。


現行のプログラム単位のスコープ内でのみ宣言されるPL/SQL変数。


（Oracle Express）

Not	Unary Not -- オペランドはＩNTEGER型またはLONG型。演算はビット単位で実行される（1の補数）。

And	And -- オペランドはＩNTEGER型またはLONG型。演算はビット単位で実行される。

Or	Inclusive Or -- オペランドはＩNTEGER型またはLONG型。演算はビット単位で実行される。

Xor	Exclusive Or -- オペランドはＩNTEGER型またはLONG型。演算はビット単位で実行される。

Eqv	Equivalence -- オペランドはＩNTEGER型またはLONG型。演算はビット単位で実行される。（A Eqv B）は（Not (A Xor B)）と同じ。

Imp	Implication -- オペランドはＩNTEGER型またはLONG型。演算はビット単位で実行される。（A Imp B）は（(Not A）OR B）と同じ。


実際のレポートの1ページ（1つ以上の物理ページに表示される可能性がある）。


PL/SQLサブプログラムでは、 条件が一致しなくなるまで繰り返される条件文。


Project Builderにおいて、アクションのカスタマイズや拡張に使用できる型独自の変数。マクロは、定数または単純な式（これはまた、別の定数または式、あるいはその両方を含む場合がある）の形をとる。マクロを使用すると、コマンド・オプションの発行、およびユーザーがプロパティ定義を1つ変更して行うコマンド・セットの変更の自由度が、大きく高まる。


ページ上の1つ以上の列にレコードを表示する、デフォルトのレイアウト。フィールドは、1つの繰返し枠内で、互いのすぐ下に表示される。


ボディ領域の各論理ページの最上部と最下部にあるオプションのレポート領域。マージンは、任意のレイアウト・オブジェクトを含むことができるが、一般には、ボイラープレートと（ページ番号、総ページ数、総計、現在の日付と時刻のための）フィールドを含む。


ディテール・レコードがマスター・レコードの下に表示される、デフォルト・レイアウト。マスター・レコードは、フォーム・レイアウト・スタイルで表示され、ディテール・レコードは、表形式のレイアウト・スタイルで表示される。


（Oracle Express） ディメンション値の名前に含まれる文字をユーザーが指定する文字に一致させることにより、ディメンション値を選択できる「セレクタ」ダイアログ・ボックスのツール。たとえば、BrandレベルのProductディメンションで、"new"という文字を含むすべてのディメンション値を選択できる。


繰返し枠の各レコードをマトリックスのセルとして表示する繰返し方向。


マトリックス・レポートに必要な4つのデータ・セットをフォーマットする、格子に類似したデフォルト・レイアウト。この4つのデータ・セットは、ラベルの行として表示されるセット、ラベルの列としてのセット、格子を作成するセットおよび格子のセルに入るセットがそれぞれ1つずつである。


4つのデータ・セットのクロス・タブ。1つのデータ・セットはページの横方向に表示され、1つはページの縦方向に表示される。1つは、横方向と縦方向のデータが交わることが可能なすべての位置を決定し、それらの位置にセルを配置するクロス積である。もう1つは、セルの「フィルタ」として表示される。1つのデータ・セットはページの横方向に表示され、1つはページの縦方向に表示される。1つは、横方向と縦方向のデータが交わることが可能なすべての位置を決定し、それらの位置にセルを配置するクロス積である。もう1つは、セルの「フィルタ」として表示される。


（Oracle Express） 販売データやコスト・データなど、調査および分析できるデータ。ある基準内のデータを選択および表示できる。基準は、変数やリレーションとして格納したり、式を使用して計算したりできる。


1,048,576（1024x1024）バイトに等しいメモリーの単位。多くの場合、100万バイトに切り捨てられる。


最後のアクションのために発生した状況を通知するモーダル・ウィンドウ。メッセージ・ボックスには応答する必要がある。


オブジェクト・タイプ定義によってOracle8に連結された実行可能コード。


アプリケーションが継続する前にオペレータからの応答を引き出すウィンドウ。


ランタイム・ウィンドウ・マネージャがサポートできる量と同じ量の機能をもてる制限のないウィンドウ。


1. 複数のアプリケーションにより共有できるオブジェクト。外部問合せやPL/SQLライブラリは、モジュールの例。2. Form Builderでは、アプリケーションの主要なコンポーネント（メニュー・モジュール）。


いくつかの行に渡るウィンドウ内のフィールド、またはダイアログ。情報を垂直にスクロールさせることが可能である。


（Oracle Express） データが"使用できない（"not available"）（NA）ことを示す特別なデータ値。NAは、特別なデータ値が割り当てられていないまたはデータを計算できない任意のセルの値である。


横方向または縦方向（あるいはその両方）のディメンションに1つ以上のマスター/ディテール関係が含まれるマトリックス・レポート。ネストできる量に制限はない。


データ上のページが（フェッチしてからフォーマットされるまでキャッシュするのではなく）、フォーマットされてからフェッチされるデータ型。


1.  オブジェクト・ナビゲータのオブジェクト階層内の特定の位置。ノードは、他のオブジェクトへのクロス・リファレンスなどのオブジェクトの情報を表示するために拡張できる。2.  Project Builderにおけるプロジェクト・ナビゲータ内のエントリ。「項目（item）」、「項目ノード（item node）」および「編成ノード（organization node）」も参照。


データ型NOCACHEのデータベース列を参照するレポート列。


値がないこと。


（Oracle Express）

^	指数

-,+	単項のプラスおよびマイナス

*, /	数値乗算または除算。除算の場合、結果はDOUBLE型。

\	整数の除算。オペランドはＩNTEGER型またはLONG型。

Mod	係数または剰余。オペランドはＩNTEGER型またはLONG型。

-, +	数値の加算と減算。+演算子は文字列の連結にも使用できる。


1.  レイアウト上に配置できる項目。オブジェクトの例は次のとおり。四角形および、線、楕円、円弧、多角形、折れ線、丸い四角形、手書き、チャート、テキスト、記号、テキスト・フィールドなどのオブジェクト。

2. Oracle8では、オブジェクト・タイプのインスタンス。オブジェクトは、オブジェクト表内の行であったり、リレーショナル表内の列オブジェクトに含まれる行の一部であったりする。


「列オブジェクト（column object）」を参照。


関連するオブジェクトのコピーや参照を行う機能の提供に使用する、オブジェクト・グループのコンテナ。


「ハンドル（handle）」を参照。


現行セッションのオブジェクトの階層リストが入ったウィンドウ。リストはアウトライン形式で表示され、ユーザーはオブジェクトの作成、編集、改名および削除などの複数の作業を実行できる。


Oracle8において、定義がオブジェクト・タイプに基づいている表のこと。オブジェクト・タイプ内の各属性は、オブジェクト表内の列になる。表内の各行は、個々のOracle8オブジェクトである。


Oracle8において、オブジェクト作成の基盤となる、ユーザーが提供する定義またはテンプレート。オブジェクト・タイプは複合であり、その構成要素が属性である。各属性は名前とデータ型を持ち、オブジェクト・タイプ全体として名前を持つ。オブジェクト・タイプには1つ以上のメソッドが含まれる場合もある。


Open Database Connectivityの略称。異なるデータベース・システムをアクセスするための基準。アプリケーションは、SQLのODBC仕様によりODBCに対し文を送ることができる。ODBCはその文をデータベースが理解できる仕様に変換する。Oracle Open Client Adapter（OCA）により、アプリケーションは異なるデータベース管理システムを一貫した方法でアクセスできる。このためアプリケーション開発者は、特定のDBMSを対象とすることなくアプリケーションの開発、コンパイルおよび実行を行うことができる。


Object Linking and Embeddingの略称。


OLEオブジェクトの保管と表示が可能なアプリケーション。


OLEオブジェクトを作成するアプリケーション。


「ビルトイン・データ型（built-in datatype）」を参照。


Oracle製品のルート・ディレクトリを示す環境変数。


ナビゲータの設定や子項目のファイル・タイプの指示に役立つ、「タイプ」、「プロジェクト」、「フォーム・ファイル」などのプロジェクト・ナビゲータ内のエントリ。これはまた、特定のタイプのファイル・システム・オブジェクト内のデータ構成体に対応する。


x座標とy座標により示される。ビューの原点は、その親のキャンバス上のビューの位置を示す。キャンバスの原点は、描画ビュー上の描画の位置を示す。


オブジェクトを完全に囲む最少の仮想の四角形。


オブジェクトの内容が現行の論理ページに入りきらない状態。オーバーフローが発生すると、内容の一部が次の論理ページに移される。


プログラム単位内のあらゆる位置で参照可能な、ソフトウェアで提供されるPL/SQL関数。


関連するプロシージャ、ファンクション、変数およびその他のパッケージ要素をデータベースまたはクライアント内に1つの単位としてカプセル化し保管する方法。パッケージにより、データベース管理者やアプリケーション開発者の、編集作業が容易になると同時に、機能性とデータベースのパフォーマンスも向上する。ソフトウェアでは、クライアント側のプログラム単位によって参照されるPL/SQL構成体を含むビルトイン・パッケージがいくつか提供されている（TEXT_IOパッケージなど）。いくつかのパッケージには、ストアド・プログラム単位の参照用にOracleデータベース・サーバーも提供されている（DBMS_OUTPUTパッケージなど）。


パッケージの実際のインプリメンテーションを含む。これは、個別のサブプログラムおよびデータ型を含む場合がある。パッケージが宣言のみで構成される場合、本体はオプション。


パッケージに対する公開インタフェース（他のプログラム単位により参照可能なデータ型およびサブプログラム）を宣言する。


（Oracle Express） 1. レポート内に含まれる1つのデータ。追加ページによって追加データが表示される。

次の図は3ページ分のデータを示す。

2. Expressにおいて、ページはExpressデータベース内の格納単位も意味する。


（Oracle Express） 問合せについて選択したデータがスプレッドシート内でどのように表示されるかを表したもの。ページ・レイアウトによって、「横」、「縦」および「ページ」の3つの枠が表示される。問合せによって定義されるマルチディメンションのデータキューブが、2次元のスプレッドシート内でどのように表示されるかが、これらの枠によって示される。ディメンション・タイルには、ディメンションの名前と位置が表示される。「横」枠上のディメンションは、このディメンションが列として表示されることを意味する。「縦」枠上のディメンション・タイルは、このディメンションが行として表示されることを意味する。「ページ」枠上のディメンションは、このディメンションが結果の最上部にあるページ・ボックス内に表示されることを意味する。


現行のオブジェクトとその子を次の論理ページに移動するかどうかを制御する設定。レポート出力に現行オブジェクトが表示される前または後に、ページ・ブレークが発生するように設定できる。


エディタ内で利用できるツール、色またはパターンを表示するインタフェース要素。


作業が行われる、エディタの固有の位置で、通常サイズの変更が可能。


1つの論理ページを印刷するのに必要な物理ページの数。


1. 情報をサブプログラムに渡すのに使用されるPL/SQL構成体。たとえば、サブプログラム・コールMYPROC（x）では、xがパラメータ。2. Forms Developerでは、パラメータは情報をForm BuilderやGraphics Builderなどのコンポーネント間で渡すのに使用される。3. 実行時に変更可能な変数。


Forms Developerコンポーネント間で情報を渡すのに使用される、パラメータ名と関連する値のグループ。


1. そのグループ・ツリー内のあるオブジェクトのすぐ上位のオブジェクト。グループ・オブジェクトは、それを構成する各オブジェクトの親である。どのオブジェクトも、その子の親になる。
2.（Oracle Express）階層内において特定値のすぐ上のレベルにあるディメンション値。親値は、その子の値の集約合計である。次の例は、GEOGRAPHYディメンションにおいて、"Lyon"と"Paris"の親としてのディメンション値"France"を示す。


クリップボードの内容（カットまたはコピーされたオブジェクト）を現行のカーソル位置に入れること。


ほとんどのオブジェクトの枠または塗りに適用できる、図形プロパティ。


コンパイルされたプログラム単位に対するマシン・コードまたは指示リスト。


Portable Document Formatの略称。ドキュメントの作成に使用された元のアプリケーション・ソフトウェア、ハードウェアおよびオペレーティング・システムとは無関係にドキュメントを表現する（Adobe Acrobatに固有の）ファイル形式。PDFファイルは、テキスト、図形およびイメージのあらゆる組合せが入ったドキュメントを、デバイスや解像度から独立した形式で表現できる。


プリンタに出力されるページのサイズ。


横棒、線、記号のような、チャート上のフィールドの表示に使用される要素のタイプ。


SQL言語に対するOracle専用の拡張。SQLに対しアプリケーションの記述に適するようにプロシージャ型構成体やその他の構成体を追加している。


Procedure Builderインタプリタのスクリプト・ファイル。


ソース・コードとコンパイル済みコードを含むPL/SQLライブラリ・ファイル。ファイルはProcedure Builderでオープンして編集できる。


1つのプログラム単位のPL/SQLソースを含むテキスト・ファイル。


実行可能コードのみを含むランタイムPL/SQLライブラリ・ファイル。ファイルをProcedure Builderでオープンして編集することはできない。


ユーザーが特定のアクションを実行する際にポップアップするリスト。


転送されたデータと特定のプログラム間の経路を定めるためにTCPが使用する番号。


Project Builderに付属しておりメニュー項目またはツールバー・ボタン（あるいはその両方）で自動的に利用できるアクション。事前定義済みアクションには、「ビルド」および「配布」、複数のソース制御オプションが含まれる。事前定義済みアクションは、サポートされているファイル・タイプに定義されると、Project Builderからコールすることにより、そのタイプの任意の選択項目に対して起動される。「アクション（action）」、「ユーザー定義アクション（user-defined action）」も参照。


「ビルトイン・データ型（built-in datatype）」を参照。


アプリケーションのインタフェースの動作に影響する設定。


（Oracle Express） 現行の基準を受け入れる場合に生成されるスクリプトを表示する。任意の「セレクタ」ツールのダイアログ・ボックスでは、「プレビュー」ボタンを選択することにより、選択項目のプレビューを表示できる。


レポート出力のアウトラインを表示しスクロールできるインタフェース。


表内の行の識別に使用できる一意の値で内容が構成された、データベース表内の列。


「ビルトイン・データ型（built-in datatype）」を参照。


プリンタ定義ファイルでは、レポート内で参照できるプリンタ・コードを割り当てるエスケープ・シーケンス。


プリンタ定義がテキスト形式（ASCIIやEBCDICなど）で入ったファイル。


指定されたアクション・シーケンスを実行するPL/SQLサブプログラム。クライアントおよびデータベース・サーバーに存在し、実行することができる。


PL/SQLコンパイラが独自に認識して処理できるPL/SQLコード構造。無名ブロック、サブプログラムの仕様部と本体（プロシージャおよびファンクション）、パッケージの仕様部と本体などがある。プログラム単位は、クライアントおよびデータベース・サーバーに存在し、実行できる。｢ストアド・プログラム単位（stored program unit）｣も参照。


Project Builderにより作成される基本的なデータ構造。プロジェクトは、アプリケーションの一部と見なしている、または概念的にグループ分けするすべてのファイルに対するポインタの集合である。エディタ、コンパイラまたは他のツールを定義して、プロジェクト内に含まれる項目を操作できる。すべてのプロジェクト情報はプロジェクト・レジストリ内に格納される。「プロジェクト項目（project item）」、「プロジェクト・ファイル（project file）」および「エクスポート（export）」も参照。


Project Builderにおいて、プロジェクト・ファイルは、アプリケーションに関連付けられたすべてのファイルを指す。プロジェクト・ファイルには、フォーム、レポート、ディスプレイ、3GLモジュール、ドキュメントおよびテスト・スクリプトを含む、あらゆるタイプがある。「プロジェクト（project）」、「プロジェクト項目（project item）」も参照。


Project Builderにおいて、プロパティを定義できるすべての項目を指す。これには、「プロジェクト」ノード下に格納されたすべてのエンティティ、タイプ、アクションおよびマクロも含まれる。「プロジェクト（project）」、「プロジェクト・ファイル（project file）」も参照。


現行セッションのプロジェクト項目の階層リストを含むウィンドウ。リストはアウトライン形式で表示され、ユーザーはオブジェクトの作成、編集、改名および削除などの複数の作業を実行できる。いつでも表示できるのは1つのみだが、オブジェクトの編成に使用される2つの異なるスキーマから選択できる。


プロジェクトのトップ・レベルのノード。プロジェクト・ファイルを表示または指示する。「プロジェクト（project）」、「プロジェクト・ファイル（project file）」も参照。


Project Builderにおいて、プロジェクトに関連付けられたすべての情報を格納するファイル。プロジェクトに属するファイル、タイプ、アクションおよびプロジェクトについて定義されたマクロなどが含まれる。プロジェクトに属するファイル、タイプ、アクションおよびプロジェクトについて定義されたマクロなどが含まれる。


プロジェクト表示は、タイプ、およびプロジェクトとサブプロジェクトの関係により編成されるオブジェクトを表示する。プロジェクトは、プロジェクト・ファイルごとにアルファベット順に編成されてから、カテゴリごとにアルファベット順に編成される。「依存性表示（dependency view）」、「プロジェクト（project）」、「プロジェクト・ファイル（project file）」、「ビュー（view）」も参照。


ユーザーが新規プロジェクトまたはサブ・プロジェクトの作成に必要なステップを完了するのを支援するダイアログ。


オブジェクトの動作または外観を決定する、オブジェクトの特性。


クラスに基づいたオブジェクトの外観と機能性をグローバルに制御するために使用するプロパティとその設定のリストを含む、ユーザー命名オブジェクト。


データベースまたはサーバーに接続する際に入力できる文字列で、リモート・データベースまたはサーバーへの接続を可能にする。


（Oracle Express） 基準内のいずれかのディメンションの値を選択するとき、その基準を構成する他のディメンションは修飾ディメンションと呼ばれる。

「販売」基準が「製品」、「月」および「地域」別にディメンション化されていると仮定する。「販売」に基づく上位10都市を選択する場合、「販売」値を比較するには、比較の対象となる製品と月も指定する必要がある。この場合、「製品」と「月」は、修飾ディメンションである。


データベースの1つ以上の表またはビューから検索するデータを指定する、SQL SELECT文。


実行時に、問合せにより取り出されたデータのフィルタリングを行うPL/SQL関数。ファンクションの条件を満たすデータのみをチャートにする。


現行セッションを終了しユーザーをオペレーティング・システムに戻すオプション。一部のシステムでは、「終了（Quit）」は「終了（Exit）」になる。


2つ以上のセットで表示される（チェックボックスに類似した）制御であり、一定の時間において「オン」または「オフ」となるのはそのうちの1つのみである。


2つ以上のラジオ・ボタンのセットであり、一定の時間において「オン」または「オフ」となるのはそのうちの1つのみである。


（Oracle Express） 連続する時間間隔をディメンション値として選択できる「セレクタ」ダイアログ・ボックスのツール。これらの時間間隔は、次のいずれかを基準にすることができる。

•	最も最近の時間間隔の具体的な数

•	開始時間間隔と最も最近の時間間隔

•	開始および終了の時間間隔

たとえば、1996年11月25日で終わる週から、1996年12月30日で終わる週までの範囲で、ディメンション値を選択するといった操作もできる。


RSA Data Security, Inc.により考案された暗号法であり、任意の長さのキーを認める。これは基本的に、暗号データを作成するためにデータ・ストリームにより排他的論理和が行われているジェネレータの出力を使用する、偽のランダム番号のジェネレータである。このため、2種類のデータ・ストリームを暗号化するのに同じRC4キーを使用しないように十分注意する必要がある。


Relational Databasse Management System（リレーショナル・データ・モデルに基づいたデータベース管理システム）の略称。データ構造、格納と検索操作、および整合性制約の定義が行うことができるデータベース。このようなデータベースでは、データとそれらの間の関係は表で編成される。


単一のバイナリ形式のレポート定義を含むファイル。.RDFファイルは、レポートの実行と編集の双方に使用される。


単一のバイナリ形式のレポート定義を含むファイル。.repファイルは、レポートの実行にのみ使用される。.repファイルを編集できない。


ある時点において、データベース全体でデータを問い合わせる能力。


SQL SELECT文によりフェッチされる1行。


列と行構造による内部的なデータ構造オブジェクトで、それらが定義されるフォーム・モジュールに属する。


他の列オブジェクト内またはオブジェクト表内のデータを参照する列のタイプ（Oracle8）。


チャート上の指定された値の位置に表示される線。


（Oracle Express） 問合せ結果をレポートに表示した後、Expressデータベースから最新のデータをフェッチする。保存されたExpress問合せをオープンすると、結果は自動的にリフレッシュされる。


タイプまたは新規プロジェクトの定義をグローバル・レジストリまたはローカル・レジストリに追加すること。登録されると、新規のタイプにはアクションを定義でき、新規のプロジェクトでは参照ファイルを特定のタイプとして識別させ、そのタイプに対してアクションを起動できる。「レジストリ（registry）」も参照。


プロジェクト定義および環境情報を格納した、グローバルな構造ファイルまたはユーザー固有の構造ファイル（あるいはその両方）。「グローバル・レジストリ（Global Registry）」、「ユーザー・レジストリ（user registry）」も参照。


"WHERE DEPTNO = 10"内の等号など、2つの値間の比較を示す検索条件に使用される記号。比較結果が"TRUE"となる行は結果が返され（フェッチされ）、比較結果が"FALSE"となる行は結果は返されない。


コンピュータ上の、ローカル・データベース以外のデータベース。通常、同じネットワーク上にあるが、ノードが異なるコンピュータ（つまり、データベース・リンクを介して使用するデータベース）。


グループのためにフェッチされるデータ行の表示に使用されるレイアウト・オブジェクト。


入力する各文字がカーソル位置の現行の文字を置換するモード。挿入モードの反対。


レポートのデータ・モデルとレイアウトの定義に使用されるオブジェクト。レポート・レベルのオブジェクトは、1つのレポートに割り当てられ、他のレポートまたは他のOracle製品とは共有できない。オブジェクトには、レポート、問合せ、外部問合せ、外部PL/SQLライブラリ、グループ、列、パラメータ、リンク、枠、繰返し枠、フィールド、ボイラープレートおよびアンカーが含まれる。


Windows NTおよびWindows95でのみ利用可能。コマンド・ラインがレポートを実行するのを待機し、ローカル・サーバー上のバックグラウンドで実行するためそのレポートをそのキューに入れる。通常コマンド・ラインは、RUN_PRODUCTを介してForm BuilderまたはGraphics Builderから、あるいはSRW.RUN_REPORTを介して別のレポートから受け取られる。RWISV60を使用し、レポートをReportsバックグラウンド・エンジンに送ることもできる。


タイムスタンプおよびReports Serverにより管理されるレポートに関するステータス情報をメンテナンスする。


Windows NT、Windows95およびUNIXで利用可能。リモート・サーバー上でのレポートの実行を可能にする。ジョブ要求をキューに登録し、レポートをいつ実行するか計画できる。レポートをReports Serverに送るには、RWCLI60を使用する。


WebサーバーとReports Runtime間のインタフェースを提供し、レポートをWebブラウザから動的に実行することを可能にする。


WebサーバーとReports Serverの間の接続を提供する。


テキスト形式（ASCIIやEBCDICAなど）で格納された、レポート定義を含むファイル。.REXファイルは、レポートを1つのプラットフォームから別のプラットフォームに移植するのに使用する。.REXファイルは、現時点では必要ではないことに注意する。このファイルは、下位互換性のために利用できる。


色のコンポーネント、赤、緑および青の濃度を示す。


アプリケーション内の他のすべてのオブジェクトが属するグループ・オブジェクト。


ユーザー環境を表す、プロジェクトの最上位のノード。デフォルトの設定にどのレジストリが選択されているかによって、ユーザー・レジストリまたはグローバル・レジストリに対応する可能性がある。


1. 表内のフィールド値の1組。たとえば、サンプル表EMPにおける1人の従業員を表すフィールド。

2. アプリケーションのランタイム・バージョンを生成する。


Oracle8オブジェクト表内のオブジェクト。表内の各行がオブジェクトになる。ただし、Forms Developerにおいて、オブジェクト表は個々の列に分解されるため、行オブジェクトは1つのエンティティとして存在しない（個別の属性としてのみ存在する）。


アプリケーションまたはプログラム単位のランタイム・バージョンを実行する。


リッチ・テキスト形式の略称。プラットフォームに特定されないファイル形式で、書式化されていないテキストやイメージをさまざまなアプリケーションおよびオペレーティング・システムで表現するのに使用される制御文字に基づいている。RTFは、ANSI、PC-8、MacintoshまたはIBM PCのキャラクタ・セットを使用して、スクリーン表示や印刷において文書の表現と書式化を行う。


「REPファイル（rep file）」を参照。


ユーザーがその中でランタイム・アプリケーションの表示とランタイム・アプリケーションとの対話を行うインタフェース。


実行時にオプションで表示される画面またはウィンドウであり、この中でユーザーはレポートの実行に先立ち印刷オプションやパラメータの変更を行うことができる。


（Oracle Express） 値のリストまたはスクリプトとして保存された一連のディメンション値。ユーザーは自分で作成した選択項目を保存したり、データベース管理者は保存済みの選択項目を作成して、ユーザーが利用できるように提供できる。

保存済みの選択項目は時間短縮の機能を果たす。つまり、選択項目を再利用する必要があるたびに、保存された選択項目を再作成することなく、取り出すことができる。つまり、選択項目を再利用する必要があるたびに、保存された選択項目を再作成することなく、取り出すことができる。


（Oracle Express） 保存されたディメンション値の選択項目を取り出すことのできるセレクタ・ツール。


通常データベースのユーザーIDによりグループ化されている、関連するデータベース・オブジェクトの集まり。スキーマ・オブジェクトには、表、ビュー、順序、ストアド・プログラム単位、シノニム、索引、クラスタおよびデータベース・リンクが含まれる。


オブジェクトが作動するレベルまたは範囲。Project Builderでは1. コンパイル可能なプロジェクト項目に対して起動された「ビルド」および「すべてをビルド」コマンドによって、影響されるファイルの範囲を記述する。

2. 継承可能な定義によって影響されるファイルの範囲を記述する。


「SQLスクリプト（SQL script）」、「インタプリタ・スクリプト（Interpreter script）」を参照。


Report Builderにおける同一レポート内の複数のレイアウトのいずれかで、それぞれ異なる対象読者、出力形式、ページ・レイアウト、ページ・サイズまたは印刷の向きを持つ。たとえば、1つのレポートで、あるセクションには上級管理職向けの業務要約を記載し、別のセクションには個々の管理者用の詳細な業務分析を記載できる。


1つ以上の表またはビューからどの行と列をフェッチするかを指定するSQL文。


（Oracle Express） ディメンションについて現在選択されている一連のディメンション値またはそれらの値を指定するための条件や基準を含むスクリプト。


（Oracle Express） セレクタ内のさまざまなダイアログ・ボックスで表示される、ディメンション値の選択において、ユーザーが選択した項目の説明。Express言語スクリプトを通常の言語で翻訳したもの。


（Oracle Express） レポート、表、グラフまたはディメンションの各リスト・ボックスに含めるディメンション値を選択するための一連のツール。たとえば、セレクタを使用すると、「販売」に基づく上位10都市を選択したり、「販売」が「割当額」を15パーセント超えた上位10都市を選択できる。セレクタを使用することにより、ディメンション値のソート、および保存済み選択項目の作成と取出しも行うことができる。


（Oracle Express） ディメンション値を選択またはソートするための特定の方法を提供するダイアログ・ボックスまたはそのグループ。各セレクタ・ツールは、セレクタの構成要素である。セレクタ・ツールを使用することにより、階層内のレベル、属性または値名内の文字などを基準にしてディメンション値を選択できる。セレクタ・ツールを使用して、ディメンション値をソートすることもできる。


実行可能プログラムの起動と終了の間の期間。


グループ・ツリー内で同じ親オブジェクトをもつ2つ以上のオブジェクトの1つ。1つのグループ・オブジェクトに属するオブジェクトは、すべて同位項目である。


IPアドレスとポート番号の組合せ。


（Oracle Express） 表示された選択項目内で、ディメンション値の順序を並べ替えることのできる「セレクタ」ダイアログ・ボックスのツール。次の項目を基準にして、選択項目を昇順または降順にソートできる。

•	アルファベット

•	データベース内における順序

•	データ値

•	階層内の順序またはレベル

•	時間間隔

ディメンション値をドラッグ・アンド・ドロップすることにより、選択項目を手動でソートすることもできる。


PL/SQLでは、サブプログラムまたはパッケージ内で提供される文。プログラム単位のソース・コードを持っていなければ、それを実行可能な形にコンパイルすることはできません。Project Builderでは、ターゲットの種類の構築に必要な入力タイプ。サブプログラムの名前、パラメータおよび戻り型（ファンクションへの適用のみ）のみを定義する。


サブプログラムの名前、パラメータおよび戻り値の型（ファンクションへの適用のみ）のみを定義する。


エディタ内の、垂直スクロール・バーの下と、水平スクロール・バーの左にある小さな四角形。マウス・ボタンをドラッグして離すと、新規のペインが作成され、スクロール・バーはそれぞれのペイン用に分割される。


リレーショナル・データベースにおける情報の格納と検索のための標準インタフェース。SQLは、Structured Query Language（構造化問合せ言語）の略称。


テキスト形式（ASCIIやEBCDICなど）に格納された問合せを含む。


データベース管理を素早く簡単に行うSQL文を含むファイル。SQLスクリプトの一部は、Oracle製品に付属している。


Oracleに対するSQLの指示。SELECT文は、SQL文の一種。


「コール･スタック（call stack）」を参照。


条件制御、繰返し制御、逐次制御およびエラー処理に使用されるPL/SQL構成体。各PL/SQL文の最後には、必ずセミコロン（;）を付ける必要がある。


（Oracle Express） 評価されるたびに同じディメンション値を含む保存済みの選択項目。静的な保存済み選択項目では、選択基準ではなく、選択されるディメンション値がリストされる。たとえば、静的な保存済み選択項目のスクリプトには、"Select February 1996, March 1996, and April 1996"などのように文が記述され、動的な保存済み選択項目のスクリプトでは、"Select the last three Months"といったように文が記述される。


Oracleデータベース・サーバーに存在し、Oracleデータベース・サーバーで実行されるプロシージャ、ファンクションまたはパッケージ。


Oracleデータベース・サーバーに存在し、Oracleデータベース・サーバーで実行されるプロシージャまたはファンクション。


HTMLドキュメント内でフォーマットの強力な柔軟性を提供するHTMLの拡張機能。スタイル・シートを利用するHTMLドキュメントを探し、それをスタイル・シートをサポートするブラウザに表示する。


PL/SQLプロシージャまたはPL/SQL関数。


Project Builderにおいて、それ自身のファイル内に格納されているのではなく、他のプロジェクトファイル内に含まれるプロジェクト。「プロジェクト（project）」も参照。


Project Builderにおいて、サブプロジェクトを示すノード。「プロジェクト（project）」、「プロジェクト・ノード（project node）」および「サブプロジェクト・ノード（subproject node）」も参照。


集計タイプの列。Report Builderにより提供されているパッケージ化された集計ファンクションの1つを使用し、レポート内のデータのサブ合計、グランド合計、実行合計およびその他のデータ集計を計算する。


Microsoft Excelプログラムで使用されているファイル形式。


コマンド、修飾子およびパラメータが結びつけられて有効なコマンド文字列を形成する規則的なシステム。


Reports Developerで提供されている変数の1つ（&Logical Page、DESTYPEなど）。


リレーショナル・データベースまたはサーバーで行と列から構成される2次元の格子に格納される、関連する情報の名前付き集合。


コレクション・タイプの一種で、すべてが同じデータ型を持つ、順序付けのされていない一連の要素で構成されるデータ単位を定義する。対応するデータ単位は、1つの列がネストされた表で、その列タイプはビルトイン・タイプまたはオブジェクト・タイプである。（Oracle8）


ページの最上部にラベルを、ラベルの下にデータ行を表示するデフォルト・レイアウト。


Project Builderにおける依存ツリー内のあらゆる項目。たとえば、実行可能プログラムはライブラリの（コンパイル）ターゲット、ライブラリはオブジェクトのグループのターゲット、そしてオブジェクトはソース・ファイルのターゲットである。


ターゲットを示すノード。「ターゲット（target）」も参照。


Transmission Control Protocol（伝送制御プロトコル）の略語。クライアントとWebサーバー間のHTTP要求を交換するための基礎的な通信プロトコル。


マウスやその他のポインティング・デバイスを使用しユーザーがそのソースから削除して表示画面の別の位置へドラッグできるサブメニュー。


Form Builderにおいて、文字列の値を表示する項目。


アプリケーション名やそのウィンドウ内のインタフェース要素を表示する、ウィンドウの最上部の水平領域。


「ヘッダー（header）」を参照。


設定を交互にオンまたはオフに切り替えること。たとえば、オブジェクト・ナビゲータを隠したり表示できる。


アプリケーション内でオブジェクトの作成と操作に使用するアイコン・ボタン。


製品コマンドを実行するアイコン・ボタンの集合。通常、ウィンドウの一番上に沿って水平に並んでいるか、横に垂直に並んでいる。


ツールの集合。


（Oracle Express） 上限xと下限yまたは上限xと下限yのデータ値を基準にしてディメンション値を選択できる「セレクタ」ダイアログ・ボックスのツール。たとえば、1995年12月30日で終わる4週間の時間間隔において、「米国内」で生産された製品のうち、販売量が上位10パーセントに入る製品を含むディメンション選択項目を生成できる。


テキスト、図形、データ、計算など、レポートについての最終内容を入れることができるオプションのレポート領域。レポート・トレーラは、ヘッダーとボディに続いて最後に表示される。


1つの単位として扱われる一連のSQL文。


特定のイベントに従って実行または「起動」されるPL/SQLプロシージャ。


タイプ名や説明などの情報が入った、フォームやドキュメントなどのファイル・タイプの説明。各説明は1つのファイル・タイプに当てはまる。また、4つのメタ・タイプもある。"updtext"は、すべてのテキスト・ファイルに適用される。"updproj"は、すべてのプロジェクト・ファイルに適用される。"updlink"は、すべてのプロジェクト・リンクに適用される。"all"は、すべてのファイル・タイプに適用される。"updtext"は、すべてのテキスト・ファイルに適用される。"updproj"は、すべてのプロジェクト・ファイルに適用される。"updlink"は、すべてのプロジェクト・リンクに適用される。"all"は、すべてのファイル・タイプに適用される。タイプは、アクションやマクロを定義する基礎となる。


表データの値を変更すること。特に、SQLコマンドUPDATEによるデータ値の変更、SQLコマンドDELETEによる値の削除、またはコマンドINSERTによる値の挿入。


Uniform Resource Locatorの略称。WWWサーバーおよびホーム・ページの指定に使用される「アドレス」。たとえば、http://www.acme.com/。
この例は、ホストのアドレスがwww.acme.comであることを示す。一般に、URLはファイル名である（長いパスをもち、拡張子.HTMLまたは.HTM（PC-DOSファイル名の場合）が通常付く）。


Forms Developerからの制御（および引数）を別のOracle製品または3GLに渡し、続いて制御（および引数）をForms Developerに戻す方法。


Project Builderユーザーにより定義されるカスタム・アクション。このようなアクションは、任意の1つのファイル・タイプまたはすべてのファイル・タイプに適用できる。「アクション（action）」、「定義済みアクション（pre-defined action）」も参照。


「オブジェクト・タイプ（object type）」を参照。


Project Builderユーザーにより定義されるカスタム・マクロ。このようなマクロは、ビルトイン・アクションとユーザー定義アクションの両方を変更するのに使用することができる。「マクロ（macro）」、「ビルトイン・マクロ（built-in macro）」、「アクション（action）」および「定義済みアクション（pre-defined action）」も参照。


構成情報をユーザーごとに格納するプロジェクト・ファイル。これによってユーザーは、個々の開発環境をカスタマイズできる。ユーザー・レジストリは、グローバル・レジストリからタイプ情報を継承するほか、新規タイプを定義したり、グローバル・レジストリに格納されているタイプ定義の一部を上書きすることもできる。また、ユーザー設定による接続文字列、「ツールバー表示」のようなUI設定、および「作成者」のような一般的なプロジェクト情報など、環境情報および作業環境情報も格納する。「レジストリ（registry）」、「グローバル・レジストリ（Global Registry）」も参照。


「値軸（continuous axis）」を参照。


値を返すPL/SQLコード構造。値構成体には、ファンクションと式が含まれる。


値を割り当てることができ、割り当てられた値が時間がたつにつれ変化する可能性があるユーザー命名オブジェクト。


コレクション･タイプの一種で、すべてが同じデータ型を持つ、順序付けされた一連の要素で構成されるデータ単位を定義する。対応するデータ単位は、可変配列つまりVARRAYである。VARRAY（サイズ）内の要素数は可変である。ただし、可変配列型を宣言するときは、最大サイズを指定する必要がある。


Visual Basic extensionの略称。事前定義済みのVBXコントロールを含むファイル上に分配された特定のダイナミック・リンク・ライブラリのファイル拡張子として使用される。


Microsoft Visual Basic言語で構築されたウィジェット。ユーザー・インタフェースの拡張、ユーザー入力の取得、および出力（スライダ、格子、制御ノブなど）の表示に使用される。


その行がデータベース内に実際に存在しないが、データベースに物理的に格納されている表に基づいている仮想的な表。


仮想ファイル・システムがホスト・マシン上のファイル・システムに格納されたファイルをマッピングするのに使用する、ディレクトリ・ニーモニック（本来、ショートカットまたは略称）。


URL内で使用されているパス名を、ホスト・マシンのオペレーティング・システムによりメンテナンスされているファイル・システムに関連付けるマッピング。


アプリケーション・インタフェース内に現れるオブジェクトに対し設定する、フォント、色およびパターンのプロパティ。


「WWW」を参照。


エンド・ユーザーが（Webサーバーによりサービスされる）コンピュータ上に保管されているHTMLドキュメントおよびプログラムを読むために利用するプログラム。


Web Request Brokerを介してWebサーバー上で実行されるプログラム。


リモートWebブラウザのHTTP要求に応答してWebページを送信する、Webサイトで稼働しているサーバー・プロセス（HTTPデーモン）。


ワードまたはフェーズ内で「任意の1文字」または「隣り合うキャラクタ・セット」を意味するために使用される文字。


1. アプリケーションが入った、デスクトップの四角形の領域。各ウィンドウには、アプリケーションと対話できる領域がある。ウィンドウは、オープン、サイズ変更、移動、アイコンへの縮小、デスクトップ全体への拡張ができる。2. Form Builderにおいて、キャンバス・ビューと関連付けることができるオブジェクト・タイプ。


SQL*CalcやLotus 1-2-3プログラムなどのスプレッドシート・プログラムで使用されているファイル形式。


Oracle Web Request Brokerの略語。Web用のアプリケーションの開発と実行に、強力な分散した実行時環境を提供する。WRBランタイム・プラットフォームにより、アプリケーション開発者は、Webサーバーから独立したアプリケーションや多くのWebサーバーと共に稼働するアプリケーションを記述することができる。


World Wide Webの略語。インターネット上のサーバーのネットワークであり、サーバーのそれぞれが1つ以上のホームページをもつ。ホームページは、そのサーバーまたは他のサーバー（通常こちら）上の他のドキュメントに対し情報やリンクを提供する。


フィールドの内容を編集するため、オブジェクトを拡大し表示領域を広げること。


（デフォルトで）descriptionプロジェクト・ナビゲータの左に表示された2番目のツールバー。簡単な編成およびアプリケーション起動機能がある。


 OLEコントロール（OCX）の最新バージョン。


適切なタギング、ネスティングおよびXML宣言（<?xml version="1.0" encoding="UTF-8"?>など）の組込みなどの一般的なXML原理に従うXML出力。


プレースホルダ・ユーザー名を使用すると、Webブラウザからレポートを実行するときに、Oracelデータベースのユーザー名（$user_name@databaseなど）ではなく、個人ユーザー名を使用してデータベースにログオンできる。


ＸML（Extensible Markup Language）。SGMLを使用して、データを定義および構築するメタ言語。Report Builderは、XML出力をサポートして、Webパブリッシングおよびサードパーティーのアプリケーションとの電子的データ交換を可能にする。また、XMLを使用して、実行時に他のレポート定義とマージすることができるレポート定義を作成することも、文書型定義（DTD）に従う構造および要素の内容を持つXML出力を別々に実行することもできる。


文書型定義（DTD）に準拠する構造および要素内容を持つ、XMLによる出力。有効なXMLは、適切に構成されている。


環境変数

  関連項目

CA_GPREFS

CA_UPREFS

CUE_PREFS

DEV2000_PROJECT

DEV2000_SOURCECONTROL

DOC60

FORMS60_DEFAULTFONT

FORMS60_EDITOR

FORMSnn_ERROR_DATE/DATETIME_FORMAT

FORMS60_JAVADIR

FORMS60_MAPPING

FORMS60_OUTPUT

FORMSnn_OUTPUT_DATE/DATETIME_FORMAT

FORMS60_PATH

FORMS60_REPFORMAT

FORMSnn_PLSQLV1_NAME_RESOLUTION

FORMS60_TIMEOUT

FORMSnn_USER_DATE/DATETIME_FORMAT

FORMS60_USEREXITS

GRAPHICS60_PATH

INTERRUPT（DOS SQL*Netユーザーのみ）

LOCAL

NLS_LANG

OleCreateObjPoolInMemory

OleDoNotUpdateLinks

OleUpdateLinksPrompt

ORACLE_HOME

ORACLE_PATH

ORAINFONAV_DOCPATH

REPORTS60_CGIDIAGBODYTAGS

REPORTS60_CGIDIAGHEADTAGS

REPORTS60_CGIHLP

REPORTS60_CGIMAP

REPORTS60_CGINODIAG

REPORTS60_CGIPATHONLYURL

REPORTS60_COOKIE_EXPIRE

REPORTS60_DB_AUTH

REPORTS60_ENCRYPTION_KEY

REPORTS60_OWSDIAGBODYTAGS

REPORTS60_OWSDIAGHEADTAGS

REPORTS60_OWSHELP

REPORTS60_OWSMAP

REPORTS60_OWSNODIAG

REPORTS60_OWSPATHONLYURL

REPORTS60_PATH

REPORTS60_REPORTS_SERVER

REPORTS60_SYS_AUTH

REPORTS60_TERMINAL

REPORTS60_TMP

REPORTS60_USEREXIT

REMOTE

UI_ICON

USERNAME

WIN_REMOTE_SESSIONS

XMITTR（DOSユーザーのみ）


レジストリ（Windows95およびWindows NT）

  環境変数

Oracleインストーラは、レジストリ内に新しいORACLEセクションを作成します。Oracleレジストリには、Oracleホーム・ディレクトリの名前、製品の作業環境ファイルのディレクトリ、ヘルプ・ファイルのディレクトリなどを制御する構成パラメータが入っています。

レジストリの表示と変更

Microsoft Windowsレジストリは、レジストリ・エディタを使用して表示およびオプションの編集ができます。このエディタは、Windowsソフトウェアがインストールされているディレクトリに入っています。エディタを起動するには、「スタート」 [image] 「ファイル名を指定して実行」を選択し、続いてREGEDITと入力し、「OK」をクリックします。

レジストリ・エディタ内で、HKEY_LOCAL_MACHINEノードを拡張し、続いてSOFTWAREノードを拡張します。[ORACLE]キーをクリックし、Oracle構成パラメータを表示させます。

パラメータ名をダブルクリックし「文字列の編集」ダイアログを表示させると、どのパラメータ値でも変更できます。「値」データ・テキスト・ボックス内の値を変更し、「OK」をクリックして新しい値を認めます。


構成パラメータ

  環境変数

Oracleインストーラは、多くのパラメータを自動的に設定します。これらのパラメータはOracle製品が必要とするものもあれば、開発者が製品動作のカスタマイズに使用するものもあります。

必要なパラメータ

この項に挙げているパラメータは、Oracleインストーラにより自動的に設定または削除されます。これらのパラメータは、さまざまなOracle製品が正しく動作するために必要なものです。

注意: この項に挙げられているパラメータの設定は変更しないでください。設定を変更すると、1つ以上のOracle製品が正しく動作しなくなります。

次に挙げているパラメータ内のnnは、製品またはコンポーネントのリリース番号を示します。この番号は、Oracle製品の新しいリリースにアップグレードする際に変わる場合があります。

パラメータ	デフォルト値
BROWSERnn	ORACLE_HOME\BROWSE25
DEnn	ORACLE_HOME\TOOLS\COMMON60
FORMSnn	ORACLE_HOME\FORMS60
GRAPHICSnn	ORACLE_HOME\GRAPH60
MMnn	ORACLE_HOME\TOOLS\COMMON60
OCLnn	ORACLE_HOME\GRAPH60
PROnn	ORACLE_HOME\PRO18
RDBMSnn	ORACLE_HOME\RDBMS73
RWnn	ORACLE_HOME\REPORT60
TKnn	ORACLE_HOME\TOOLS\COMMON60
VGSnn	ORACLE_HOME\TOOLS\COMMON60
カスタマイズできるパラメータ

この項に挙げているパラメータは、Oracle製品のさまざまな面を制御します。これらのパラメータの設定を変更し、製品動作をカスタマイズできます。

この後の項では、Oracleインストーラにより自動的に設定される、各パラメータのデフォルト設定（存在する場合）を挙げています。自動的に設定されないパラメータについても述べられています。設定の有効な値および例の説明も合わせて挙げられています。


CA_GPREFS

デフォルト: ORACLE_HOME

有効な値: 任意のドライブの任意のディレクトリ

例:

CA_GPREFS=C:\orawin95

このパラメータは、グローバル作業環境ファイルCAGPREFS.ORAのディレクトリを指定します。グローバル作業環境は、ネットワーク化されたユーザー間で共有されます。この製品は、CAGPREFS.ORAファイルを探すのに、CA_GPREFSパラメータで指定されるディレクトリの他、現行ディレクトリも検索します。

CAGPREFS.ORAファイルは、Oracleインストーラにより自動的に作成されます。グローバル作業環境を変更するには、「メモ帳」などのテキスト・エディタを使用し、このファイルを直接編集してください。CAGPREFS.ORA内のグローバル作業環境は、ローカル作業環境ファイルCAUPREFS.ORA（パラメータCA_UPREFSにより定義される）で上書きできます。


CA_UPREFS

デフォルト: ORACLE_HOME

有効な値: 任意のドライブの任意のディレクトリ

例:

CA_UPREFS=C:\orawin95

このパラメータは、ユーザー作業環境ファイルCAUPREFS.ORAのディレクトリを指定します。CAUPREFS.ORAファイルは、開発者が「ツール」 [image] 「ツール・オプション」から設定する作業環境をメンテナンスします。製品は、CAUPREFS.ORAファイルを探すために、CA_UPREFSパラメータで指定されているディレクトリの他、現行ディレクトリも検索します。

Oracle製品の中には、作業環境情報をCAUPREFS.ORAファイルに書き込むものもあります。ユーザー作業環境を手動で変更するには、「メモ帳」などのテキスト・エディタを使用しこのファイルを編集します。CAUPREFS.ORAに設定されているユーザー作業環境は、CAGPREFS.ORAファイル（パラメータCA_GPREFSで定義する）内のグローバル作業環境を上書きします。


CUE_PREFS

デフォルト: ORACLE_HOME

有効な値: 任意のドライブの任意のディレクトリ

例:

CUE_PREFS=C:\orawin95

このパラメータは、キュー・カードの作業環境ファイルCUEPREF.RESのディレクトリを指定します。CUEPREF.RESファイルは、「キュー・カード・オプション」ダイアログで設定可能なキューカードの作業環境をメンテナンスします。

作業環境は、アプリケーションを終了するたびにCUEPREF.RESファイルに保存されます。このファイルは、手動では変更できません。


DEV2000_SOURCECONTROL

デフォルト: なし

有効な値: Forms DeveloperまたはReports Developerにどのソース制御システムを使用すべきかを指定するキーワード

例:

DEV2000_SOURCECONTROL=PVCS

このパラメータは、Forms DeveloperまたはReports Developerにどのソース制御システムを使用するかを指定します。現在のところ、ソース制御システムを指定しない、またはこのパラメータを値'PVCS'に設定する、のどちらかを指定できます。ソース制御システムのサポートが追加されると、追加されたソース制御システムのキーワードも指定できるようになります。


DEV2000_PROJECT

デフォルト: なし

有効な値: Forms DeveloperまたはReports Developerで使用するソース制御システムのプロジェクト・ファイルを指定するキーワード

例:

DEV2000_PROJECT=c:\pvcs\project1\project1.cfg

このパラメータは、開発者がDEV2000_SOURCECONTROLパラメータ上で選択したソース制御システムのプロジェクト・ファイルの名前を指定します。


DOC60

デフォルト: Oracle_Home\tools\doc60

有効な値: 任意のドライブの任意のディレクトリ

例:

DOC60=c:\orawin95\tools\doc60

このパラメータは、オンライン・ヘルプ、キュー・カード、クイック・ツアーなど、オンライン・ドキュメント・ファイルのディレクトリを指定します。


FORMS60_DEFAULTFONT

デフォルト: なし

有効な値: 任意の有効フォントを指定するテキスト文字列

例:

FORMS60_DEFAULTFONT="MS Sans Serif.8"

このパラメータは、Form Builderのレイアウト・エディタ内のボイラープレートに使用するデフォルト・フォントを指定します。


FORMS60_EDITOR

デフォルト: なし

有効な値: システム・エディタの名前とパス

例:

FORMS60_EDITOR=C:\windows\notepad.exe

このパラメータは、デザイナまたはランフォーム・コンポーネント内でForm Builderの複数行の項目が起動できるエディタを定義します。このパラメータが定義されない限り、ユーザー定義のエディタは起動できません。

注意: エディタを終了する際、ファイルは「ASCIIのみ」のファイルとして保存する必要があります。固有のワープロ形式はサポートされていません。


FORMSnn_ERROR_DATE/DATETIME_FORMAT

目的： 次の環境変数は、エンドユーザーが日付または日時項目に無効な値を入力したときに表示されるランタイム・エラー･メッセージを生成するために、Formsが使用する書式マスクを設定します。

デフォルト: ヘルプ・トピック「日付の書式マスク」を参照してください。

有効な値: 任意の有効な日付/日時書式マスク。

例:

FORMS65_ERROR_DATE_FORMAT YYYY/MM/DD


FORMS60_JAVADIR

デフォルト: Oracle_Home\forms60\java

有効な値: Oracle Java実行時環境の名前およびパス

例:

FORMS60_JAVADIR=C:\orant\forms60\java

このパラメータは、Java Beanエリアを使用し、WebベースのフォームをForm Builderからプレビューするのに必要なOracle Java実行時環境ファイルのロケーションを定義します。


FORMS60_MAPPING

デフォルト: なし

有効な値: 一時作業ディレクトリの仮想位置

例:

FORMS60_MAPPING=http://myhost.com/webtemp

Web上でイメージを処理するために、Forms Serverは一時的な圧縮JPEGファイルを送信します。Web Formsアプリケーションでイメージまたはアイコンを使用する場合は、Forms Serverがイメージやその他の作業ファイルに使用する一時ディレクトリと仮想ディレクトリ（例 C:\ORANT\WEBTEMP）を作成する必要があります。また、Forms Serverが動作しているコンピュータ上にFORMS60_OUTPUT環境変数およびFORMS60_MAPPING環境変数を作成する必要もあります。


FORMS60_OUTPUT

デフォルト: なし

有効な値: Formsサーバーが動作しているコンピュータ上の任意のドライブの任意のディレクトリ

例:

FORMS60_OUTPUT=C:\ORANT\WEBTEMP\

Web上でイメージを処理するために、Forms Serverは一時的な圧縮JPEGファイルを送信します。Web Formsアプリケーションでイメージまたはアイコンを使用する場合は、Forms Serverがイメージやその他の作業ファイルに使用する一時ディレクトリ（例 C:\ORANT\WEBTEMP）を作成する必要があります。また、Forms Serverが動作しているコンピュータ上にFORMS60_OUTPUT環境変数およびFORMS60_MAPPING環境変数を作成する必要もあります。


FORMSnn_OUTPUT_DATE/DATETIME_FORMAT

目的： 次の2つの環境変数は、独自のマスクを持たない任意の日付および日時項目で実行時出力操作を行うためにFormsが使用する書式マスクを設定します。

デフォルト: ヘルプ・トピック「日付の書式マスク」を参照してください。

有効な値: 任意の有効な日付/日時書式マスク。

例:

FORMS65_OUTPUT_DATETIME_FORMAT YYYY/MM/DD HH24:MI:SS


FORMS60_PATH

デフォルト: ORACLE_HOME\FORMS60\PLSQLLIB

有効な値: 任意のドライブの任意のディレクトリ

例:

FORMS60_PATH=C:\oracle\apps\forms;C:\myfiles

このパラメータは、Form Builderのランタイム・アプリケーション内で使用するファイルの検索パスを指定します。これには、フォーム・ファイル（.fmx）、メニュー・ファイル（.mmx）、PL/SQLライブラリ（.pll）、アプリケーションが実行時にロードを試みるその他のオブジェクトが含まれます。たとえば、イメージ・ファイルscooter.tifをインポートすると、Form BuilderはそのファイルをFORMS60_PATHで指定されているディレクトリ内で検索します。

FORMS60_PATHは、複数のディレクトリを指定できます。セミコロン（;）を使用して、パス・リスト内のディレクトリ名を区切ってください。


FORMSnn_PLSQLV1_NAME_RESOLUTION

デフォルト:  オフ

有効な値:  オン、オフ

例:

FORMS6i_PLSQLV1_NAME_RESOLUTION=ON

この環境変数を使用すると、ランタイム・プログラム・ユニット名の解決の動作をR4.5とR5以降のバージョン間で選択できます。オンを指定すると、R4.5の動作が選択されます。オフを指定すると（またはこの環境変数を指定しないと）、R5以降の動作が選択されます。

R4.5の動作:

Formsがプログラム・ユニットのコールに出会うと、まず現行Formsまたはメニューのプログラム・ユニットを探し、次に連結されたライブラリを検索します。この動作により、呼び出されるプログラム・ユニットが、コンパイル時に解決されたのと同じプログラム・ユニットではないので、動的名前の解決の簡易なスタイルが得られます。さらに、同じライブラリが複数のFormsに連結される場合には、各Formsは、インスタンシエーション、パッケージ状態、依存関係を含む一意のセットのライブラリ情報を保持します。これは依存関係情報がForms全体にわたって共有されないことを意味します。

R4.5には次の短所があります。

•	Forms全体にわたって情報が共有されません。SHARE_LIBRARY_STATEは効果がありません。

•	実行時間とメモリー使用量が増えます（R5+と比較した場合）。

R5+の動作:

Formsがプログラム・ユニットのコールに出会うと、まず現行Formsまたはメニューのプログラム・ユニットを探し、次に連結されたライブラリを検索します。しかし、同じライブラリが複数のFormsに連結される場合には、各Formsは一意のセットのライブラリ情報を保持しません。その代わりに、プログラム・ユニット・インスタンシエーションはForms全体にわたって共有されます。これは依存関係情報がForms全体にわたって共有できることを意味します。

推奨事項:

前述の短所とこの環境変数が将来のバージョンで必ずサポートされるとは限らないため、R4.5の動作を選択しないようお薦めします。

その代わりに、動的な名前の解決を取得するために、Execute-Triggerビルトインを使用してください。引数が必要な場合はグローバル変数を使用します。


FORMS60_REPFORMAT

デフォルト: なし

有効な値: HTML、PDF

例:

FORMS60_REPFORMAT=HTML

ブラウザを起動して、フォームからRUN_PRODUCTを使用してレポートを実行する場合は、FORMS60_REPFORMAT環境変数を設定する必要があります。このパラメータは、レポートの書式を指定します。


FORMS60_TIMEOUT

デフォルト:   15

有効な値: 1～1440（1日）

例:

FORMS60_OUTPUT=1440

このパラメータは、クライアントとFormsのサーバーとの通信がない場合に、Formsのサーバーのプロセスが終了するまでの経過時間を分単位で指定します。


FORMSnn_USER_DATE/DATETIME_FORMAT

目的: 次の2つの環境変数は、独自のマスクを持たないDATE型およびDATETIME型の項目から値を取り出すためにFormsが実行時に使用する書式マスクを設定します。

デフォルト: ヘルプ・トピック「日付の書式マスク」を参照してください。

有効な値: 任意の有効な日付/日時書式マスク。複数の書式マスクを垂直バーで区切って指定できます。ランタイム項目の変換時には、その変換が正常に終了するまで（または、書式マスクがなくなるまで）書式マスクが指定された順に使用されます。

例:

FORMS65_USER_DATE_FORMAT  FXFMDD-MM-RRRR


FORMS60_USEREXITS

デフォルト: なし

有効な値: （絶対パスおよび）任意のユーザー・イグジット・ダイナミック・リンク・ライブラリ。

このパラメータにより、複数のDLLを定義し、ユーザー・イグジット・インタフェースから起動できる外部ファンクションを含めることができます。FORMS60_USEREXITSパラメータには、セミコロンで区切られた一連のユーザー・インタフェースDLLが入っています。

FORMS60_USEREXITSには、複数のDLLを指定できます。円記号（\）を使用してパス内のディレクトリを指定し、セミコロン（;）を使用してパスごとに区切ってください。

この値を明示的に設定しないと、Form Builderは値をORACLE_HOME\BIN\F45XTB.DLLと断定します。

例:

FORMS60_USEREXITS = C:\mathlib\add.dll;C:\mathlib\mult.dll


GRAPHICS60_PATH

デフォルト: なし

有効な値: 任意のドライブの任意のディレクトリ

例:

GRAPHICS60_PATH=C:\oracle\apps\graphics;C:\myfiles

このパラメータは、Graphics Runtimeアプリケーション内で使用されるファイルの検索パスを指定します。これは、表示ファイル（.ogr）、イメージ、外部問合せおよびアプリケーションが実行時にファイルからロードを試みるその他のオブジェクトを含みます。たとえば、イメージ・ファイルscooter.tifをインポートすると、Graphics Builderはこのファイルを探すためにGRAPHICS60_PATHで指定されているディレクトリを検索します。

GRAPHICS60_PATHには、複数のディレクトリを指定できます。円記号（\）を使用してパス内のディレクトリを指定し、セミコロン（;）を使用してパスごとに区切ってください。


INTERRUPT（DOS SQL*Netユーザーのみ）

デフォルト: なし

有効な値: DOSのCONFIG.ORAファイルで指定されているものと同じ値

このパラメータは、DOSのOracle製品が使用する割込みベクトル・アドレスを指定します。Windows版のDOS SQL*Netドライバを使用する場合は、CONFIG.ORAファイルがDOSのOracleホーム・ディレクトリに入っていることを確認してください。INTERRUPTパラメータがCONFIG.ORA内に設定されている場合は、レジストリ内でこのパラメータを同じ値に設定する必要があります。DOSのCONFIG.ORAファイル内でこの変数が設定されていない場合は、レジストリ内で設定する必要はありません。

注意: QEMM、386MAX、CEMM、EMM386などのサードパーティのメモリー管理製品を使用する場合は、INTERRUPTを103に設定しないでください。この設定が行われると、SQLPMEおよびSQL*Netを起動後、予期しない動作が起きます。


LOCAL

デフォルト: なし

有効な値: データベースの文字列パラメータを含む、任意の有効なSQL*Netドライバ接頭辞。詳細は、『Oracleネットワーク管理者ガイド』を参照してください。

このパラメータは、製品内でのデータベースの接続に通信ドライバを設定しない場合にこの製品が使用する、SQL*Netドライバと完全な接続文字列を指定します。

LOCALパラメータを追加する場合、そのパラメータをファイルの最後に追加しないでください。Oracle製品は、LOCALパラメータが最後のパラメータとして現れる場合、それを認識しません。

注意: Windows版のDOS SQL*Netドライバを使用する場合は、LOCALパラメータがDOSのOracleホーム・ディレクトリのCONFIG.ORAファイルに設定されているかを確認してください。CONFIG.ORA内でLOCALが設定されている場合、同じ値をレジストリ内で設定する必要があります。


NLS_LANG

デフォルト: AMERICAN_AMERICA.WE8ISO8859P1

有効な値: 利用できる値の現行の一覧を、『NLSリファレンス・マニュアル』またはCDの\bonus\nls\nlsd2r1.wriファイルで参照してください。

例:

NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1

このパラメータは、メッセージ・ファイルが表示される言語を設定します。NLS_LANGの構文を次に示します。

NLS_LANG=<language>_<territory>.<char_set>

パラメータの内容は次のとおりです。

language	メッセージおよび日と月の名前を表示するための言語とその規約を指定します。
territory	週と日の数を計算するための地域およびその規約を指定します。
char_set	UPPER、LOWERおよびINITCAPファンクションに使用されるキャラクタ・セットと、ORDER BY問合せが使用するソートの型を指定します。この引数は、メッセージの表示に使用するキャラクタ・セットも制御します。


OleCreateObjPoolInMemory

デフォルト:   0

有効な値: 0または1

例:

OleCreateObjPoolInMemory=0

Report Builderでは、このパラメータはOLE2オブジェクト・プールを一時ファイル（0）に作成するか、メモリー（1）に作成するかを指定します。メモリーにプールを作成すると、ディスク・アクセスを減らしパフォーマンスが向上します。OLE2オブジェクトが多いか大きなOLE2オブジェクト（イメージなど）がある場合は、必要なメモリー量が多くなる可能性があります。どれだけのOLE2オブジェクトがあるかを調べるには、繰返し枠内の1つのOLE2ボイラープレート・オブジェクトにOLE2オブジェクトが1つ入っていることを参考にしてください。1つのOLE2フィールドには、フィールドのそれぞれのインスタンスに対しOLE2オブジェクトが1つ入っています。


OleDoNotUpdateLinks

デフォルト:   0

有効な値: 0または1

例:

OleDoNotUpdateLinks=0

Report Builderでは、このパラメータは、レイアウト・エディタがオープンされる場合やレポートが実行される場合、リンクのアップデートを有効（0）または無効（1）にします。リンクされたOLE2オブジェクトには、それらのソース・オブジェクトのキャッシュされたプレゼンテーションが入っています。これらのキャッシュされたプレゼンテーションは、持続したオブジェクト・データに基づく対応するOLE2サーバーにより更新されます。

これらの更新は、リンクの種類に基づき、自動的に、または手動で行われます。キャッシュされたプレゼンテーションの更新はOLE2サーバーの起動を要するため、ソース・オブジェクトが変更されていないことが明らかな場合や、最新の変更を必要としない場合は、更新を無効にしパフォーマンスを向上させることができます。このオプションを指定しない場合も、OLE2オブジェクトが更新される際に表示される標準のダイアログ・ボックスで更新を取り消すことができます。


OleUpdateLinksPrompt

デフォルト:   0

有効な値: 0または1

例:

OleUpdateLinksPrompt=0

Report Builderでは、このパラメータは、リンクしたオブジェクトが見つからない場合にそれを知らせる（0）か知らせない（1）かを指定します。更新時にオブジェクトのソースが見つからない場合ダイアログ・ボックスが表示され、リンク・ソースを再指定するかエラーを無視できます。ダイアログ・ボックスに対応できない場合（レポートを一晩中実行している場合など）、レポートの実行が確実に終了するようにこの確認を無効にできます。


ORACLE_HOME

デフォルト: C:\ORAWIN95

有効な値: 任意のドライブの任意のディレクトリ

例:

ORACLE_HOME=C:\orawin95

このパラメータは、Windows版のOracle製品がインストールされているホーム・ディレクトリを指定します。このディレクトリは、Oracleディレクトリ階層の「トップ」ディレクトリです。

使用上の注意

•	Reports Runtimeを使用している場合は、ORACLE_HOMEとORACLE_PATHで使用できる検索パスの最大長は合計で255文字です。


ORACLE_PATH

デフォルト: なし

有効な値: 任意のドライブの任意のディレクトリ

例:

ORACLE_PATH=C:\oracle\apps\forms;C:\oracle\apps\graphics;
C:\oracle\apps\reports

このパラメータは、Forms Runtime、Graphics RuntimeまたはReports Runtimeにより参照されるファイルの検索パスを指定します。ORACLE_PATHで指定されるディレクトリは、製品固有のパラメータであるFORMS60_PATH、GRAPHICS60_PATHまたはREPORTS60_PATHで指定されるディレクトリの後に検索される点に注意してください。

ORACLE_PATHには、複数のディレクトリを指定できます。セミコロン（;）を使用して、パス・リスト内のディレクトリ名を区切ってください。

使用上の注意

•	Reports Runtimeを使用している場合は、ORACLE_HOMEとORACLE_PATHで使用できる検索パスの最大長は合計で255文字です。


ORAINFONAV_DOCPATH

デフォルト: なし

有効な値: 任意のドライブの任意のディレクトリ

例:

ORAINFONAV_DOCPATH=C:\orawin95\oin

このパラメータは、オンライン・ドキュメントの目次と索引のテーブルのディレクトリを指定します。


REMOTE

デフォルト: なし

有効な値: 任意の有効なSQL*Netドライバ接頭辞およびパラメータ

例:

REMOTE=P:PIPER

このパラメータは、ローカル・データベースを介して接続する場合に使用する、デフォルトのリモートSQL*Netドライバを指定します。このパラメータには、デフォルトのSQL*Netパラメータ（すべてのデータベース文字列）を含めることができます。

この例中のP：は名前付きパイプに対するネットワーク接頭辞、Piperはデータベース名です。

ユーザーがログインを行いREMOTEで指定されたものと一致する明示的なドライバ接頭辞との接続を指定し、SQL*Netパラメータを指定しないと、REMOTEで指定されたパラメータが使用されます。このパラメータによりDBAは、SQL*Netユーザーが接続パラメータを指定する必要がない「通常の」ネットワーク接続を定義できます。このパラメータは、コマンド・ラインでいつでもリセットできます。

注意:Windows版のDOS SQL*Netドライバを使用する場合は、DOSのOracleホーム・ディレクトリに入っているCONFIG.ORAファイルにREMOTEパラメータが設定されているか確認してください。CONFIG.ORAでREMOTEが設定されている場合は、レジストリ内でこのパラメータを同じ値に設定する必要があります。


REPORTS60_CGIDIAGBODYTAGS

Reports Web CGIでは、このパラメータはRWCGI60診断/デバッグ出力で<BODY_>タグとして挿入されるHTMLタグを指定します。たとえば、この環境変数を文字色/背景色とイメージを設定するのに使用することができます。


REPORTS60_CGIDIAGHEADTAGS

Reports Web CGIでは、このパラメータは診断/デバッグ出力のRWCGI60で <HEAD> � </HEAD>タグの間に挿入されるHTMLタグを指定します。たとえば、この環境変数を<TITLE>や<META_>タグを設定するのに使用することができます。


REPORTS60_CGIHLP

Reports Web CGIでは、このパラメータでRWCGI60ヘルプ・ファイルを空の要求で起動したときにナビゲートされるURL/URIを指定します。

http://your_webserver/your_virtual_cgi_dir/rwcgi60.exe?

たとえば、REPORTS60_CGIHLPをhttp://www.yahoo.comに設定すると、指定したWebページが表示され、myhelpfile.htmに設定すると指定したファイルが表示されます。

http://your_webserver/myhelpfile.htm

この変数を定義しない場合は、デフォルトのヘルプ画面が表示されます。


REPORTS60_CGIMAP

Reports Web CGIでは、このパラメータでマップ・ファイル構成が使用される場合に、RWCGI60マップ・ファイルの適切なファイル名および位置を定義します。

c:\orant\report60\mymap.dat


REPORTS60_CGINODIAG

Reports Web CGIでは、このパラメータを定義するとRWCGI60からのすべてのデバッグ/診断出力が使用不可になります。

http://your_webserver/cgi-bin/rwcgi60.exe/help?

使用上の注意

このパラメータは、REPORTS60_CGINODIAGが定義されている場合は使用できません。


REPORTS60_CGIPATHONLYURL

Reports Web CGIでは、このパラメータが定義されている場合（値にかかわらず）、指定されたURLのパス部分にしか戻りません。 たとえば、次のURLに戻るかわりに、

Location: http://your_webserver:port/path

こちらに戻ります。

Location: /Path

この変数は、デフォルトのポートを含む複数のポートを使用するWebサーバーのセットアップに関する問題を解決するのに使用することができます。


REPORTS60_COOKIE_EXPIRE

デフォルト:   30

有効な値: 任意の数（分単位）

例:

REPORTS60_COOKIE_EXPIRE=30

Reports Serverのセキュリティでは、このパラメータはクッキーのアイドル時間（例 REPORTS60_COOKIE_EXPIRE=30）を決定します。クッキーは暗号化されたユーザー名とパスワードをクライアント側で保存します。CGIがクライアントからクッキーを受け取ると、CGIがクッキーに保存された時間と、現在のシステム時間を比較します。

REPORTS60_COOKIE_EXPIREパラメータで指定された時間（例 30分）よりも長い時間が経過している場合は、CGIはクッキーを拒否し、データベース認証フォームとエラー・メッセージをクライアントに返します。レポートを実行するには、ユーザーは再度認証を受けなければなりません。


REPORTS60_DB_AUTH

デフォルト: dbauth.htm

有効な値: 特別な認証アクションを含む、任意のhtmlファイル。デフォルトの状態が望ましい。

例:

REPORTS60_DB_AUTH=dbauth.htm

データベースにログインするのに使用するデータベース認証テンプレートを指定します。


REPORTS60_SYS_AUTH

デフォルト: sysauth.htm

有効な値: 特別な認証アクションを含む、任意のhtmlファイル。デフォルトの状態が望ましい。

例:

REPORTS60_SYS_AUTH=sysauth.htm

アクセスが制限されているReports Serverに対してユーザがレポート要求を実行するときに、ユーザー名とパスワードを認証するのに使用する認証テンプレートを指定します。


REPORTS60_ENCRYPTION_KEY

デフォルト: Reports6.0

有効な値: 任意の暗号キー

例:

REPORTS60_ENCRYPTION_KEY=reports6.0

このパラメータで、ユーザー名とパスワードの暗号化に必要な暗号キーを指定します。


REPORTS60_REPORTS_SERVER

有効な値: 任意のReports Serverサービス・エントリ名

例:

REPORTS60_REPORTS_SERVER=repserver

デフォルトのReports ServerをWeb CartridgeまたはWeb CGI要求に指定します。このパラメータを設定すると、レポート要求でSERVERコマンド･ライン引数を省略し、デフォルト・サーバーを使用してそれらを処理することも、SERVERコマンド･ライン引数を組み込んで、デフォルトより優先させることもできます。


REPORTS60_OWSDIAGBODYTAGS

Reports Webカートリッジでは、このパラメータはRWOWS60診断/デバッグ出力ファイルで<BODY_>タグとして挿入されるHTMLタグを指定します。たとえば、この環境変数を文字や背景の色やイメージなどを指定するのに使用することができます。


REPORTS60_OWSDIAGHEADTAGS

Reports Webカートリッジでは、このパラメータはRWOWS60診断/デバッグ出力ファイルで<HEAD> _</HEAD>タグの間に挿入されるHTMLタグを指定します。たとえば、この環境変数を<TITLE>や<META_>タグなどを指定するのに使用することができます。


REPORTS60_OWSHELP

有効な値:任意のパスとファイル名、またはURL

Reports Web カートリッジでは、このパラメータはRWOWS60ヘルプ・ファイルが空の要求で起動されたときにナビゲートされるURL/URIを指定します。

http://your_webserver/rwows60?

例 このパラメータをhttp://www.yahoo.comに設定すると、Webページが表示され、myhelpfile.htmに設定すると、指定したファイルが表示されます。

http://your_webserver/myhelpfile.htm

このパラメータを定義しない場合は、デフォルトのヘルプ画面が表示されます。


REPORTS60_OWSMAP

Reports Webカートリッジでは、このパラメータはRWOWS60マップ・ファイルの適切なファイル名および位置を指定します（マップ・ファイル構成が使用されている場合）。

C:\ORANT\REPORTS60\MYMAP.DAT


REPORTS60_OWSNODIAG

Reports Webカートリッジでは、このパラメータを定義すると、RWOWS60からのすべてのデバッグ/診断出力が使用不可になります。

http://your_webserver/rwows60/help?

REPORTS60_OWSNODIAGが定義されている場合は、このパラメータを使用することはできません。


REPORTS60_OWSPATHONLYURL

Reports Webカートリッジでは、このパラメータを指定すると（値にかかわらず）、RWOWS60は、レポート出力するHTTPリダイレクションと、RWOWS60が生成する診断出力にURLのパス部分のみを使用します（例 "http://mywebsrv.com:1550/rscache/..."の代わりに"/rscache/..."）。クライアントのブラウザで、レポート出力を検索した後に、"Location"フィールドのオリジナルのURL要求を維持するのに役に立ちます。通常、RWOWS60はURLをレポート出力の場所に置き換えて（例 REPORTS60_WEBLOCで指定されたディレクトリ）、出力されたレポート出力ファイルの名前を、12345679.htmのような意味のない文字列のような形式の名前で表示します。このパラメータを設定することによって、このような"URL の切り替え"を避けることができます。すべてのURLがデフォルトのポート（通常は80）を使用している場合のみ、このパラメータを使用することができます。

しかし、このパラメータを設定する場合の欠点は、メインのレポート出力ファイルに依存している任意の補助ファイル（たとえば画像ファイルなど）をブラウザで検索することができないことです（REPORTS60_WEBLOCで指定した場所に作成はされています）。この問題は、メインのレポート出力ファイルにインクルードしたり、REPORTS60_WEBLOCでRWOWS60実行可能ファイルの場所を、レポート定義の<BASE HREF="...">や<META HREF="...">タグ（メイン・ファイルの場所をフル・パスまたは部分パスで）で指定すると対処できます。

コンピュータ名やIPアドレスのHTTPリダイレクションの依存性を解決するため、REPORTS60_OWSPATHONLYURLを設定すると、1台のコンピュータが複数の異なるIPアドレスを同時に（複数のネットワーク・カードを使用して）持つイントラネットまたはインターネット構成に対処することもできます。


REPORTS60_PATH

デフォルト:ORACLE_HOME\REPORT60\DEMO;ORACLE_HOME\REPORT60\DEMO\BITMAP;ORACLE_HOME\REPORT60\DEMO\REQFILES

有効な値: 任意のドライブの任意のディレクトリ

例:

REPORTS60_PATH=C:\oracle\apps\reports;C:\myfiles

この環境変数は、レポートと、PL/SQLライブラリ、外部問合せ、外部ボイラープレートなどのレポート内で使用する外部オブジェクトの位置を示すのに使用します。この環境変数により、ディレクトリ・パスをハードコード化する必要がなくなり、オペレーティング・システム間で簡単に移植できるレポートを作成することが可能となります。

注意: REPORTSPATHは256文字以内に制限されています。

パスの長さなどのプラットフォーム固有の規則に注意しながら、オペレーティング・システム上の他の環境変数の定義と同じ方法で、REPORTS60_PATHを定義してください。

REPORTS60_PATHを定義する際、ディレクトリ・パスの他、キーワードとなるデータベースを指定できます。この指定は、Report Builderに現在接続しているデータベースを検索するように指示します。

Unixプラットフォームで次のように指定したと仮定します。

setenv REPORTS60_PATH
/home/tkostin/pay:/home/tkostin/receive:DB

Report Builderは、初めにディレクトリ/home/tkostin/payを検索します。探しているファイルが見つからない場合、/home/tkostin/receiveを検索します。それでもファイルが見つからないと、Report Builderセッションを開始したときに接続していたデータベースを検索します。


REPORTS60_TERMINAL

デフォルト: なし

有効な値: 任意のドライブの任意のディレクトリ

例:

REPORTS60_TERMINAL=C:\mytermdefs

この環境変数は、文字モード・レポート内で使用する端末定義の位置を示すのに使用します。この変数に指定するパスは、ORACLE_TERMINAL環境変数よりも優先します。

パスの長さなどのプラットフォーム固有の規則に注意しながら、オペレーティング・システム上の他の環境変数の定義と同じ方法でREPORTS60_TERMINALを定義してください。


REPORTS60_TMP

デフォルト: なし

有効な値: 任意のドライブの任意のディレクトリ

例:

REPORTS60_TMP=C:\tmp

この環境変数は、Report Builderの一時ファイルを格納するディレクトリを設定します。Report Builderは、この目的では1つのディレクトリしか使用しません。 複数のディレクトリを定義しないでください。

パスの長さなどのプラットフォーム固有の規則に注意しながら、ベース・オペレーティング・システム上の他の環境変数の定義と同じ方法でREPORTS60_TMPを定義してください。REPORTS60_TMPを定義しないと、現在使用しているディレクトリがデフォルトで指定されます。


REPORTS60_USEREXIT

デフォルト: なし

有効な値: （絶対パスおよび）任意のユーザー・イグジット・ダイナミック・リンク・ライブラリ

例:

REPORTS60_USEREXIT=C:\mydll.dll;d:\mynew.dll;e:\bin\speed.dll

このパラメータにより、Report Builderおよびその関連する実行可能プログラム（Reports Runtimeなど）が使用する複数のDLLを定義できます。これらのDLLは、Report Builderの実行可能プログラムがコールするように開発者が作成したプログラム・モジュールです。

REPORTS60_USEREXITSには、複数のDLLを指定できます。円記号（\）を使用してパス内のディレクトリを指定し、セミコロン（;）を使用してパスごとに区切ってください。

この値を明示的に指定しないと、Report Builderはシステムのパス変数に従って60xtb32.dllを探します。


UI_ICON

デフォルト: なし

有効な値: 任意のドライブのアクセス可能なディレクトリ

例:

UI_ICON=C:\icon

この環境変数は、レイアウト内のボタンに使用するアイコンを格納するディレクトリを設定します。Report Builderは、この目的では1つのディレクトリしか使用しません。 複数のディレクトリを定義しないでください。

パスの長さのようなプラットフォーム固有の規則に注意しながら、ベース・オペレーティング・システム上の他の環境変数の定義と同じ方法で、UI_ICONを定義してください。


USERNAME

デフォルト: なし

有効な値: （OPS$接頭辞を除く）任意の有効なOracleユーザー名

例:

USERNAME=dsanvita

このパラメータは、デフォルトのログイン・アカウントの変数部分を指定します。USERNAMEパラメータの設定の詳細は、データベースのドキュメントを参照してください。


WIN_REMOTE_SESSIONS

デフォルト: なし

有効な値:   0～33

ログイン時にORA-3100～ORA-3100の範囲のエラーを受け取った場合は、Oracle Serverとの通信バッファを設定するのに十分なリアルモード・メモリーがない可能性があります。NETINIT7.EXEを使用すると、サーバー接続のメモリーを確保しこの問題を解決できます。

このパラメータは、NETINIT7がメモリーを確保する、リモート・サーバーへの接続数を設定します。WIN_REMOTE_SESSIONSパラメータを設定する際、次の規則に注意してください。

•	WIN_REMOTE_SESSIONSを0に設定すると、NETINIT7はリモート・サーバー接続に対しメモリーを確保しません。

•	WIN_REMOTE_SESSIONSを1～33の値に設定すると、指定した接続数に必要なメモリーを確保します。NETINIT7は、各リモート・サーバー接続に対し12KBのリアルモード・メモリーを確保します。

•	WIN_REMOTE_SESSIONSの推奨されるデフォルト値は5。 WIN_REMOTE_SESSIONSを5に設定すると、複数の製品を実行するのに十分なセッションを作成できます。

•	WIN_REMOTE_SESSIONSパラメータを追加しないと、NETINIT7は1つのリモート・サーバー接続に必要なメモリーを確保します。

NETINIT7を使用する場合、次に示すステップを行ってください。

1	WIN_REMOTE_SESSIONSパラメータを追加し、セッション数を設定します。

2	Oracleプログラム・グループ内でNETINIT7アイコンを作成します（アイコンの作成の詳細は、Microsoft Windowsの文書を参照）。Windowsの「アイコンのプロパティ」ダイアログ・ボックスの「コマンド・ライン」フィールドで次のパスを入力します。

ORACLE_HOME\bin\netinit7.exe

3	Oracleプログラム・グループ内のアイコンをダブルクリックし、NETINIT7を起動します。NETINIT7は、必ず製品を起動する前に起動してください。Windowsの起動時にNETINIT7を自動的に実行したい場合は、「Windows起動」プログラム・グループにNETINIT7アイコンを含めてください。

NETINIT7は、設定された数のサーバー接続に必要な実メモリーの確保を試みます。必要なメモリーを割り当てられないと、NETINIT7は警告メッセージを表示し、メモリーを割り当てた実際のセッション数を示します。

メモリーを割り当てた後、NETINIT7のサイズは最小化されます。NETINIT7を復元すると、設定されているセッションの合計数と使用されているメモリーの合計容量が表示されます。NETINIT7をクローズすると、使用されていないすべてのセッション・メモリーが解放されます。アプリケーションでセッション・メモリーがまだ使用されている場合は、NETINIT7はセッション・メモリーが解放される前にアプリケーションのログオフが必要なことを知らせます。

注意: NETINIT7の前にこの製品を起動すると、製品はNETINIT7が認識しないそれ自身のセッション・メモリーを割り当てます。NETINIT7は、起動した製品によりすでに割り当てられているメモリーに加えて設定されているセッション・メモリーを割り当てようとします。


XMITTR（DOSユーザーのみ）

デフォルト: なし

有効な値: DOSのCONFIG.ORAファイルで指定されているものと同じ値

このパラメータは、Oracle DOSのプロテクト・モードの実行可能プログラムのユーザーにのみ適用されます。DOSのOracleホーム・ディレクトリに入っているCONFIG.ORAファイルを確認してください。CONFIG.ORAにXMMITRパラメータが設定されている場合、レジストリ内でこのパラメータを同じ値に設定する必要があります。DOSのCONFIG.ORAファイル内でこの変数が設定されていない場合は、レジストリ内で設定する必要はありません。

拡張メモリー・マネージャの割込みベクトル（Extended Memory Manager Interrupt Vector:XMMITR）は、拡張メモリー・マネージャ、モード遷移ドライバXMMおよびMTD割込みサービスのエントリ・ポイントに使用される割込みベクトルを示す変数です。異なるベクトルを設定するには、新しいベクトルを10進数として表現します。XMMITRは、システム内の別のプログラムが割込みの100（10進）または64（16進）を使用する必要がある場合のみ使用してください。

注意: QEMM、386MAX、CEMM、EMM386などのサードパーティのメモリー管理製品を使用する場合は、XMMITRを103に設定しないでください。この設定が行われると、SQLPMEおよびSQL*Netのロード後、予期しない動作が起きます。


オンライン・ヘルプの使用

オンライン・ヘルプ・システムを効果的に利用するためのガイドラインを次に示します。

•	「目次」タブを読んで、オンライン・ヘルプで取り上げられているトピックの内容を把握します。

•	トピック・タイトルのすぐ下にある「関連項目」ボタンをクリックして、現行のトピックに関連するトピックのリストを表示します。

•	トピックの一番上にある「オプション」ボタンをクリックして、「手前に表示」を設定します。これにより、アプリケーションの開発を進めながらでも、ヘルプ・トピックは常に画面の手前に表示されます。

•	用語の定義を調べるには、トピックの最上部にある「用語集」ボタンをクリックします。


ドキュメント・ロードマップ

アプリケーションの構築方法を習得するには:

1	各コンポーネントの概要を述べたクイック・ツアーを確認します。

•	「ヘルプ」 [image] 「クイック・ツアー」を選択します。

2	最も一般的な作業の実行方法を学習するには、キュー・カードを参照します。

•	「ヘルプ」 [image] 「キュー・カード」を選択します。

3	オンライン・マニュアルを表示します（ハード・コピーのマニュアルも利用できます）。

•	「ヘルプ」 [image] 「マニュアル」を選択します。

4	オンライン・ヘルプ・システムにアクセスします。

•	「ヘルプ」 [image] 「ヘルプ・トピック」を選択します。

•	状況依存ヘルプを参照するには、[Help]キー（ほとんどのプラットフォームでは通常[F1]キー）を押します。


インフォメーション・デスク


Oracle8 Serverのサポート

  関連項目

Oracle8 Serverではさまざまな新機能を使用できます。一般に、機能は、次のようなカテゴリに分けられます。

•	拡張性の向上。たとえば、Oracle8データベースには数十TBのデータを格納できます。また、最大10000ユーザーの同時アクセスがサポートされています。表には、最大1000列を含めることができます。CHARデータ型とVARCHAR2データ型は、それぞれ最大2000バイトと4000バイトまで可能です。

•	パフォーマンスと効率の向上。これらのOracle8の機能を使用することによって必要となるユーザ操作はありません。Oracle8 Serverにデータを格納する速度と信頼性の利点が自動的に得られます。

•	ラージ・オブジェクト（LOB）

•	ユーザー定義オブジェクト

Oracle7の継続サポート

Oracle7 Serverの機能もサポートされています（リリース7.3.4以降）。


サポートされているOracle8データ型

  関連項目

このリリースでは、以下のOracle8データ型を引き続きサポートしています。

ラージ・オブジェクト（LOB）

Oracle8では、プログラマは、ラージ・オブジェクト（LOB）を定義できます。ラージ・オブジェクトには、テキスト、イメージ、サウンド、ビデオなどを格納できます。

このリリースでは、次のOracle8ラージ・オブジェクトのデータ型がサポートされています。

•	BLOB（バイナリ・ラージ・オブジェクト）

•	CLOB（シングルバイト・キャラクタ・ラージ・オブジェクト）

•	BFILE（バイナリ・ファイルまたは外部ファイル）

ユーザー定義のオブジェクト

Oracle8では、プログラマはオブジェクト・タイプ（ユーザー定義タイプとも呼ぶ）を定義できます。 オブジェクト・タイプは、Oracle8によってサポートされる既存の単一要素のデータ型に基づく複合要素です。これらのオブジェクト定義を使用して、プログラマは、さまざまな種類の表を作成できます。

現在サポートされているOracle8オブジェクトは、次のとおりです。

•	オブジェクト表。この場合、表全体が1つのオブジェクト・タイプに基づいています。

•	リレーショナル表内の列オブジェクト。この場合、列がオブジェクト・タイプに基づいています。

•	オブジェクト表またはリレーショナル表内のREF列。この場合、列の値が他のオブジェクト表内の行へのポインタとなっています。

新しいスカラー・データ型

このリリースでは、新しいOracle8 FLOATデータ型もサポートされています。このデータ型をそれ自身のNUMBERデータ型にマップします。


Oracle8ラージ・オブジェクト（LOB）について

バイナリ・ラージ・オブジェクト（BLOB）、キャラクタ・ラージ・オブジェクト（CLOBとNCLOB）およびバイナリ・ファイル（BFILE）などのOracle8ラージ・オブジェクト・データ型にアクセスできます。

Oracle8サーバーでは、これらのデータ型は、サイズが4GBまでのオブジェクトを格納できます。Oracle7のLONGデータ型およびLONG RAWデータ型の用途と似ていますが、さらにさまざまな利点が提供されます。

LOBとLONGの比較

LOB	LONG
4GBまで	2GBまで
1つの表につき複数のLOB列	1つの表につき1つのLONG列
レプリケーション可能	レプリケーションなし
ランダム・データ・アクセスが可能	シーケンシャル・アクセスのみ可能
優れた表領域管理（LOBロケータのみを格納）	LOBと比べて効率性に欠ける（表に直接データが格納される）
ユーザー定義のオブジェクト・タイプが使用可能	ユーザー定義のオブジェクト・タイプが使用不可能
プロシージャおよび外部コールに簡単に渡せる	プロシージャおよび外部コールに簡単に渡せない
LOBの詳細

BLOBは、ラージ・オブジェクトをバイナリ形式で格納するときに使用します。CLOBは、文字データを格納するときに使用します。これら2つのタイプは、データがサーバー内に格納されるため、内部LOBとも呼ばれます。データは、コミットとロールバックを含め、トランザクションおよび整合性制御で使用されます。

BFILEは対照的に、サーバーの外に格納されます。サーバーでは、ファイルのオペレーティング・システム・アドレスのみが格納されます。そのため、BFILEはデータベース・トランザクションでは使用できません。

互換性

LOBによってさまざまな利点が提供されるため（前述の表を参照）、任意の新しいアプリケーションでは、LONGではなくLOBを使用することをお薦めします。

ただし、下位互換性を保持するため、LONGも完全にサポートされています。

Forms型

Formでは、LOBは通常、その性質と使用法に基づいて、テキスト、イメージまたはサウンドのいずれかの制御タイプが指定されます。

制限

•	BFILEは読込み専用です。

•	FormsはBLOBの読取り時にBLOB全体をロードしようとしますが、実行時の使用可能仮想メモリ容量の制限を受けます。

•	CLOBの場合、Formsには65,534バイトの制限があります。


Oracle8のユーザー定義オブジェクトについて

  関連項目  [image]  例

Oracle8 Serverに対するサポートとして、このリリースではOracle8のユーザー定義オブジェクトにアクセスできます。ユーザー定義オブジェクトには、オブジェクト表、リレーショナル表の列オブジェクトおよびREF列と呼ばれる特殊な列オブジェクトが含まれます。

オブジェクト表

Oracle8では、オブジェクト表はユーザーのオブジェクト・タイプ定義に基づいています。この定義はそれ自体が複合要素であり、その属性またはコンポーネントがそれぞれ、一般的なOracle8ビルトイン・データ型に基づいています。（オブジェクト・タイプ定義は、他のオブジェクト・タイプ定義に基づかせることができますが、定義は最終的に一般的なOracle8ビルトイン・データ型に依存しています。）

このため、オブジェクト表内の各列は、リレーショナル表の列を扱う場合と同様に個々のデータ項目として扱われます。

リレーショナル表の列オブジェクト

データベース・プログラマは、リレーショナル表の列をオブジェクト・タイプ定義に基づかせることもできます。これには、複合オブジェクトをリレーショナル表に埋め込む効果があります。

埋め込まれた列オブジェクトは複合部分に拡張され、それぞれの部分自体は列として扱われます。

たとえば、Oracle8 Serverに3列のリレーショナル表があり、そのいずれかの列が列オブジェクトで、その列オブジェクトが、4つの部分または属性を持つオブジェクト定義に基づいている場合、その表が6列の表として扱われます（リレーショナル表の列が2つとオブジェクトを構成する列が4つ）。

列オブジェクト定義の個々の属性のいずれかが別のオブジェクト・タイプに基づいている場合は、その部分がさらに拡張され、一連の個別の列として扱われます。

REF列

オブジェクト表またはリレーショナル表のいずれかの列をREF型を持つように定義することができます。REF列はデータを直接保持するのではなく、実際のデータを保持する別のオブジェクト表へのポインタ（参照）を持ちます。

参照は実行時に解決されるため、ユーザーは参照される実際のデータを見ることができます。


Oracle8のユーザー定義オブジェクト: 例

  関連項目

Oracle8 Server内でオブジェクトを作成するには、データベース・プログラマはまずオブジェクト・タイプを定義し、次にそのタイプ定義に基づいて特定のオブジェクトを作成します。作成されるオブジェクトは、オブジェクト表またはリレーショナル表内の列オブジェクトになります。

例

次の定義について考えてみます。最初の定義ではオブジェクト・タイプが作成されます。2番目の定義ではそのタイプの表が作成されます。

CREATE TYPE  emp_type  AS OBJECT

(name     CHAR(30),

title    CHAR(20),

idnum    NUMBER);

CREATE TABLE  emp  OF emp_type;

前述の例では、empという名前のオブジェクト表を作成します。この表には3つの列があり、これらの列は、emp_typeオブジェクト・タイプ定義で確立された名前とデータ型を持ちます。

次は、リレーショナル表内の列オブジェクトの例です。

CREATE TYPE  address_type  AS OBJECT

(street    VARCHAR2(40),

city      VARCHAR2(25),

state     VARCHAR2(2)

zip       NUMBER);

CREATE TABLE  customers

(cust_id  NUMBER,

name     VARCHAR(40),

address  address_type);

この例では、customersという名前のリレーショナル表を作成します。表には3つの列があります。最初の2つの列（cust_idとname）は、通常の関係列です。3つ目の列（address）は、列オブジェクトです。これは、address_typeという名前のオブジェクト・タイプ定義に基づいて作成されます。このaddress列は、オブジェクト定義によって確立された構造とデータ型を持ちます。address列は、4つの部分またはコンポーネント（street、city、stateおよびzip）を持っていると考えることができます。これらの各コンポーネントは、address_typeオブジェクト・タイプ定義で確立されたデータ型を持ちます。（この場合、NUMBER型のzipを除くすべてのコンポーネントはVARCHAR2型です）。

次の例では、3つの列で構成されるリレーショナル表の3番目の列は、それ自体が3つの部分またはコンポーネントを持つオブジェクト・タイプに基づいています。

Oracle8オブジェクトは、部分またはコンポーネントによって作成される複合であることに注意してください。それぞれの部分は、名前および一般的なOracle8データ型を持ちます。オブジェクトが表の場合（実際はオブジェクト表の行）、オブジェクト・タイプ定義内の属性と同じ数の列または部分を持ちます。リレーショナル表の列がオブジェクトに基づいている場合、各オブジェクトの部分は、その表の追加列であると考えることができます。それぞれの部分がオブジェクト・タイプ定義内の属性に基づいているため、これらの部分は属性列と呼ばれることもあります。

Developerにおけるオブジェクトの扱い

オブジェクト表は、リレーショナル表と非常に似た方法で扱われます。それぞれの列は個別に選択できます。すべての列を選択できますが、それぞれの列はアプリケーション内で別々の項目として扱われます。表自体は、環境内のオブジェクトなどの特定の個別性は持ちません。

同様にリレーショナル表の列オブジェクトは、単一の、同類性を持つエンティティとして扱われません。その代わりに、列オブジェクトの各コンポーネントを、個別の、独立したデータ項目として扱います。列オブジェクトの各コンポーネントは選択できます。選択されると、それぞれが独立したデータ項目として扱われます。列オブジェクトのすべてのコンポーネントを選択した場合でも、列オブジェクト自体は、開発環境内のオブジェクトとしての特定の個別性は持ちません。

オブジェクトから選択されたデータ項目には、ColumnObjectName_ItemNameというデフォルト名が付けられます。したがって、前述の例で、addressという名前の列オブジェクトからzipという名前のコンポーネントを選択すると、そのデータ項目はアプリケーション内でaddress_zipという名前が付けられます。


Oracle8のREFについて

  関連項目

REFは、Oracle8の新しいデータ型です。REFによって、他のオブジェクト表にあるデータへのポインタとしての列オブジェクトが確立されます。REF列自体はデータを保有しません。

次に例を示します。

CREATE TYPE  dept_type  AS OBJECT

(deptname     VARCHAR2(24),

deptnumber   NUMBER);

CREATE TABLE  dept_table OF dept_type;

CREATE TABLE  emp

(empname    VARCHAR2(50),

empnumber  NUMBER,

empdept    REF  dept_type);

empという名前のリレーショナル表では、列empdeptはREF列です。これは、タイプdept_typeのオブジェクトを参照します。

タイプと表

REF列を定義すると、特定のオブジェクト表ではなく、オブジェクト・タイプが識別されます。データベースには、単一のオブジェクト・タイプ定義に基づくオブジェクト表が複数含まれる場合があります。このため、REF列の定義自体によって、ターゲット表は識別されません。

ポインタ変換

REF列を含む表を初期化すると、REF列に配置されている値は、希望のデータを持つ特定の表に含まれる行へのポインタになります。実行時には、REF列に参照先のデータ（ポインタではない）が表示されます。

Developerにおける設計時のREFの表示方法

設計時にREF列を含む表の表示を求めると、REF列が拡張された形態で表示されます。つまり、元のREF定義によって参照されるオブジェクト・タイプ内の属性が表示されます。

この例の場合、empdeptが2つのコンポーネントまたは属性列、deptnameとdeptnumberを保有するREF列として表示されます。これらは、REF定義内で識別されたオブジェクト・タイプ（dept_type）内の2つの属性でした。

通常の列オブジェクトと同じように、参照先となるコンポーネントまたは属性の一部またはすべてを選択して、アプリケーション内のデータ項目にすることができます。ただし、通常の列オブジェクトとは対照的に、REF名自体を選択して、アプリケーション内で操作可能な項目にすることもできます。つまり、PL/SQLコード作成でREFを使用することができます。デフォルトで、REFはNULLキャンバスの一部になります。

ユーザーに対するREFの表示方法

アプリケーション設計者は、実行時ユーザーに対する参照先データ（変換されたREF）の表示方法を選択できます。

•	REFがあるデータ・ブロック内のデータを表示（参照方式と呼ばれることもある）

•	REFによって参照されるデータ・ブロック内のデータを表示（マスター/ディテール方式）

最初の方法（REFがあるデータ・ブロックの一部としてデータを表示）は最も単純です。データ・ブロック内に含める項目として目的のREFコンポーネントを選択し、実行時にDeveloperおよびOracle8によって参照が変換され、参照先の実際のデータが表示項目内に配置されます。ユーザーは1つのブロックを見るだけで済みます。

もう1つの方法（参照先データ・ブロックのデータを表示）では、マスター/ディテール・リンクを設定する必要があります。これは、主キー/外部キー・リレーションを持つ2つのブロックについてマスター/ディテール・リンクを設定することと似ています。この場合は、REFによって2つのブロック間にリンクが作成されます。ユーザーには両方のブロックが表示されますが、REFデータは参照先ブロック内にしか表示されません。

Form Builderのデータ・ブロック・ウィザードを使用して、このマスター/ディテール・リレーションを設定できます。


Oracle8オブジェクトのアイコン

オブジェクト・ナビゲータとウィザードでは、アクセスしているOracle8データの型がアイコンによって表示されます。アイコンとその意味は次のとおりです。

             通常の表

             オブジェクト・タイプ

             オブジェクト・ビュー

             オブジェクト表

             ネストしたオブジェクト

             ネストした表

             参照オブジェクト

             可変配列

             メソッド

             不明の型

             サーバー側のスタック・モード

             サーバー側のプログラム単位

             ファイル

             DATEデータ型

             NUMBERデータ型

             CHARACTERデータ型

             RAWデータ型

            BLOBデータ型

             BFILEデータ型

             CLOBデータ型

             rowid

             MLSラベル


Oracle8の拡張性とパフォーマンス

Oracle8 Serverによって、さまざまな点で拡張性およびパフォーマンスの向上が実現します。これらの利点の多くは、自動的に提供されます。

たとえば、Oracle8の次の特性を利用できます。

•	より大きなサイズへの対応。データベース自体のサイズ、同時ユーザーの数および表列の制限数（現行では1000列まで）がすべて増加しました。

•	表と索引のパーティション化

•	クライアント側のオブジェクト・キャッシング

また、パフォーマンスを向上させるOracle8のその他のさまざまな機能を直接利用できます。

•	プリフェッチ。Formsでは、Oracle8のこの機能を使用して（既存の配列サイズ機能と併用）、データベースのラウンドトリップ回数およびメモリ使用量を削減します。プリフェッチ機能は、ユーザーが操作しなくても自動的に実行されます。

•	戻り値句。Formsでは、挿入および更新を行うときに、この新しいDML機能を使用します。戻り値句によって2回目のデータベース問合せ（データに対するサーバー側トリガーの変更を取得する）が不要になるため、処理時間が短縮されます。ユーザーは「DMLの戻り値」プロパティを使用して、この機能を制御できます。

•	ビュー更新用のINSTEAD-OFトリガー。このサーバー側トリガーによって、リレーション・ビューとオブジェクト・ビューを更新する機能が提供されます。 これらのビューは、これ以外の方法では更新できません。


PL/SQL 8のサポート

  関連項目

このリリースでは、クライアントとサーバーでPL/SQL 8を使用します。クライアント側のプログラム単位は、現在Oracle8のオブジェクト関連機能をサポートしていません。ただし、ストアド・プログラム単位は、新しいPL/SQL 8機能をすべて使用できます。

『PL/SQLユーザーズ・ガイドおよびリファレンス、リリース8』マニュアルの付録Aでは、PL/SQL 8の新機能について説明しています。このマニュアルはオンラインで利用できます。「ヘルプ」 -> 「マニュアル」を選択して、オンライン・マニュアルの下のリファレンス・マニュアルに移動します。


PL/SQLの以前のリリースとの互換性

PL/SQL 1またはPL/SQL 2を使用して書かれたクライアント側のプログラム単位は、コードを新しいレベルに変換する必要があります。アップグレードを自動化できるように、PL/SQL 1変換ユーティリティが提供されています。

以前のリリースを使用して作成されたストアド・プログラム単位は、データベース・サーバー上のPL/SQL 8エンジンに対して実行できますが、コンパイル・エラーが発生する場合があります。これらのエラーは、PL/SQL 8とPL/SQL 2との間で構文の互換性がない場合に発生します。 PL/SQL 8の互換性フラグを使用することによってPL/SQL 2との互換性モードを選択できるため、PL/SQL 8エンジンでは、サーバーでPL/SQL 2コードをコンパイルするときに、このようなエラーは発生しません。『Oracle8 Server移行ガイド』の第6章では、この互換性フラグによってサポートされる状況について説明しています。


サポートされていないOracle8機能

  関連項目

このリリース全体では、一部のOracle8機能がサポートされていません。サポートされていない主な機能は次のとおりです。

•	コレクション・タイプ（ネストした表と可変配列）

•	オブジェクト値を返すストアド・プロシージャ

•	スカラー・データ型のNCHARとNVARCHAR2

このリリースではPL/SQL 8をサポートしていますが、クライアント側のPL/SQL 8は一部のOracle8 Serverの機能をまだサポートしていないことに注意してください。（サーバー側のPL/SQL 8ではOracle8 Serverのすべての機能をサポートしています。）


構文パレットのインタフェース

構文パレットを使用すると、PL/SQL言語要素やビルトイン・パッケージの構成体を表示したりコピーできます。選択した構文は、プログラム単位エディタまたはストアド・プログラム単位エディタにのみコピーできます。

構文パレットには、次のページがあります。

PL/SQLページ	コピーするPL/SQL言語要素を表示および選択できます。PL/SQL言語要素は、制御フロー、カーソル、例外などのカテゴリの一覧にグループ化されています。
ビルトイン・ページ	ビルトイン・パッケージからPL/SQL構成体（ファンクションまたはプロシージャ）を表示および選択できます。ビルトインの一覧は、EXEC_SQL、DEBUG、DDEのようなパッケージ名でグループ化されています。

各ページには次のコンポーネントがあります。

ドロップダウン・リスト	PL/SQLカテゴリ名またはビルトイン・パッケージ名が表示されます。   右側の矢印をクリックすると、PL/SQLカテゴリまたはビルトイン・パッケージを選択できます。
リスト領域	選択されたPL/SQLカテゴリ内の個々の言語要素、または選択されたビルトイン・パッケージ内の構成体が表示されます。デフォルトで、リスト内の最初の項目がハイライト表示（選択）されます。 言語要素または構成体をクリックすると、それらが選択され、表示領域に完全な構文が表示されます。
表示領域	選択されたPL/SQL言語要素または構成体の完全な構文が表示されます。予約語は大文字で表示されます。 エディタに構文を挿入した後、コメント内にない小文字の項目を適切な値に置き換えます。コメント内の小文字の項目は任意です。
挿入	クリックすると、リスト領域で選択された項目が、アクティブ・エディタ・ウィンドウの現行のカーソル位置にコピーされます。
クローズ	クリックすると、構文パレットがクローズします。
ヘルプ	このヘルプ・トピックが表示されます。


構文パレットの表示

構文パレットを表示するには:

「プログラム」 [image] 「構文パレット」を選択します。


構文パレットのクローズ

構文パレットをクローズするには:

「クローズ」ボタンをクリックします。


エディタへの構文の挿入

関連項目

構文をエディタに挿入するには:

1	プログラム単位エディタまたはストアド・プログラム単位エディタが現行の（最後に選択された）ウィンドウであることを確認します。

2	エディタ内で、構文を挿入する位置にカーソルを置きます。

3	構文パレットで、「PL/SQL」タブまたは「ビルトイン」タブをクリックします。

4	ドロップダウン・リストで、PL/SQLカテゴリまたはビルトイン・パッケージを選択します。

カテゴリまたはパッケージをクリックすると、選択できるPL/SQL言語要素またはPL/SQL構成体が下のリスト領域に表示されます。

5	リスト領域でPL/SQL言語要素または構成体を選択します。

PL/SQL言語要素または構成体をクリックすると、リスト領域の下の表示領域に構文が表示されます。

6	「挿入」をクリックして、選択された構文をコピーします。

選択したプレースホルダのあるPL/SQL構文は、アクティブ・エディタの現行のカーソル位置に挿入されます。予約語は大文字で表示されます。

コメント内にない小文字のプレースホルダを、すべて適切な値と置換します。コメント内の項目は任意です。


PL/SQLカテゴリの一覧

ブロック

コメント

制御フロー

カーソル

データ型

例外

ファンクション

ループ

オブジェクト・タイプ

パッケージ

PL/SQL表

プロシージャ

問合せ

レコード

SQLカーソル

表/ビュー

トランザクション

ユーザー・タイプ

変数


ビルトインの一覧

EXEC_SQL

TOOL_SQL

ORA_FFI

ORA_DE

ORA_PROF

ORA_NLS

TOOL_RES

TOOL_ENV

TEXT_IO

TOOL_ERR

STPROC

LIST

OLE2

DDE

DEBUG

PLITBLM

STANDARD


例

  アルファベット順のリスト

インタプリタ・コマンドの例

各国語サポートの例

Forms Developerビルトイン・パッケージの例

Oracle8オブジェクトの例

PL/SQL V1変換の例


ビルトイン・パッケージ

  アルファベット順のリスト [image]  関連項目

Oracleでは、PL/SQLベースのアプリケーションのビルドやデバッグ時に使用できるさまざまなパッケージ・プロシージャを提供しています。

作成したPL/SQLコードから、次のクライアント側ビルトイン・パッケージのプロシージャ、ファンクション、例外を利用できます。

Forms Developerビルトイン・パッケージ


オラクル社が提供するパッケージ

  関連項目

いくつかのパッケージは、データベースの機能を拡張するために、あるいはPL/SQLからSQLの一部の機能にアクセスできるように、Oracleデータベース・サーバーとともに提供されます。

たとえば、PL/SQLからSQLの一部の機能にアクセスできるように、Oracleでは次のパッケージ・プロシージャを提供しています。

•	DBMS_DDL

•	DBMS_SESSION

•	DBMS_TRANSACTION

•	DBMS_UTILITY

DBMS_*およびUTL_*パッケージは、データベースの機能を拡張するためにOracleとともに提供されます。たとえば、DBMS_OUTPUTパッケージを使用すると、トリガー、プロシージャおよびパッケージからのメッセージを出力できます。これは、PL/SQLデバッグ情報の表示に特に役立ちます。

サーバー側パッケージは、CATPROC.SQLスクリプトによってサーバーに自動的にインストールされます。  DBMSグループおよびその他の提供されているパッケージの詳細は、『Oracle8 Serverアプリケーション開発者ガイド』を参照してください。


オブジェクト・ナビゲータのOracle8オブジェクト・サポート

オブジェクト・ナビゲータのOracle8機能を利用すると、オブジェクトのデータ型にアクセスし、Oracle8データに対するプログラムをより簡単に行うことができます。追加されたOracle8オブジェクト・サポートを使用すると、ユーザー定義データ型を階層形式で表示したり、ユーザー定義データ型に関連付けられた表、ビュー、列、トリガー、属性、メソッドの検索や表示を行うことができます。

「データベース・オブジェクト」ノードには、現在接続中のデータベース内でアクセス可能なスキーマとそのオブジェクトが含まれます。Oracle8データベースに接続している場合は、使用可能なユーザー定義データ型が（その属性およびメソッドと一緒に）各スキーマ内の「タイプ」ノードに表示されます。ユーザー定義データ型に関連付けられた表、ビュー、列およびトリガーは、「表」ノードと「ビュー」ノードに表示されます。

特に、オブジェクト・ナビゲータのOracle8機能を使用すると、次の項目を表示および検索できます。

•	「表」ノードのオブジェクト表と列オブジェクト

•	「ビュー」ノードのオブジェクト・ビュー

•	「ビュー」ノードのビュー用のInstead Ofトリガー

•	「タイプ」ノードのオブジェクト・タイプ、表タイプおよび可変配列タイプ

•	「タイプ」ノードのオブジェクト・タイプの属性とメソッド

オブジェクト・ナビゲータでは、リレーション・オブジェクトとOracle8オブジェクトを区別するために、アイコンが使用されます。たとえば、通常のリレーショナル表とオブジェクト表、および通常のビューとオブジェクト・ビューは、別々のアイコンで表されます。

Oracle8ユーザー定義データ型の詳細は、Oracle8のマニュアルを参照してください。

関連項目

オブジェクト・タイプ・ノード

表タイプ・ノード

可変配列タイプ・ノード

列オブジェクト・ノード

オブジェクト表ノード

オブジェクト・ビュー・ノード

すべて拡張

Oracle8オブジェクトのアイコン


オブジェクト・タイプ・ノード

  例	  関連項目

オブジェクト・タイプは、オブジェクト・ナビゲータの「タイプ」ノード内に表示されます。オブジェクト・タイプ・ノードは、SQL文のCREATE TYPE AS OBJECTで作成されたタイプを表します。オブジェクト・タイプはオブジェクト・ナビゲータに次のように表示されます。

object-type-name ( Object Type [ * ] & Body [ * ] )

CREATE TYPE AS OBJECT文がデータベースに発行されると、「オブジェクト・タイプ」ラベルが表示されます。タイプ仕様が無効か、またはタイプが不完全な場合は、アスタリスク（ * ）が表示されます。不完全なタイプは、タイプを再帰的に定義するためのプレースホルダになります。

CREATE TYPE BODY文を使用してタイプ本体が作成されると、「オブジェクト本体」ラベルが表示されます。タイプ本体が無効な場合は、アスタリスク（ * ）が表示されます。

オブジェクト･タイプとオブジェクト本体の両方が正常に作成されると、ラベルは「オブジェクト・タイプおよび本体」と表示されます。

オブジェクト・タイプ・ノードは複合ノードで、「属性」と「メソッド」の2つのサブノードを持ちます。オブジェクト・タイプ・ノードを拡張できるのは、有効なタイプ仕様が存在する場合のみです。

オブジェクト・タイプの属性は、「属性」サブノードの下のノードとして表されます。

オブジェクト・タイプのメソッドは、「メソッド」サブノードの下のノードとして表されます。メソッドは、プロシージャとファンクションとして表示されます。メソッドのラベルはオブジェクト・ナビゲータに次のように表示されます。

method-name (Procedure)

および

method-name (Function)

オブジェクト・タイプにマップ・メソッドまたはオーダー・メソッドが指定されている場合、メソッドのラベルは次のように表示されます。

method-name (Map Function)

または

method-name (Order Function)

注意: メソッドの引数リストは表示されません。


オブジェクト・タイプ・ノードの例

  関連項目 	   すべての例

次のSQL文は、オブジェクト・タイプemp_typを作成します。

CREATE TYPE emp_typ AS OBJECT
  (ename VARCHAR2(30), esalary NUMBER(5,2),
  MEMBER PROCEDURE raise(amount NUMBER),
  MEMBER FUNCTION get_salary RETURN NUMBER,
  MAP MEMBER FUNCTION compare RETURN NUMBER);

emp_typのサブツリーは次のとおりです。


表タイプ・ノード

  例	  関連項目

表タイプは、オブジェクト・ナビゲータの「タイプ」ノード内に表示されます。表タイプ・ノードは、SQL文のCREATE TYPE AS TABLEで作成されたタイプを表します。表タイプはオブジェクト・ナビゲータに次のように表示されます。

table-type-name (TABLE OF table-subtype-name)

サブタイプがビルトイン・タイプの場合、表タイプ・ノードは拡張できません。サブタイプがオブジェクト・タイプまたは参照オブジェクトの場合は、オブジェクトの属性がサブノードとして表示されます。


表タイプ・ノードの例

  関連項目 	   すべての例

次のSQL文は、オブジェクト・タイプemp_typおよび表タイプemp_tblを作成します。

CREATE TYPE emp_typ AS OBJECT
  (ename VARCHAR2(30), esalary NUMBER(5,2),
  MEMBER PROCEDURE raise(amount NUMBER),
  MEMBER FUNCTION get_salary RETURN NUMBER,
  MAP MEMBER FUNCTION compare RETURN NUMBER);

CREATE TYPE emp_tbl AS TABLE OF emp_typ;

emp_tblのサブツリーは次のとおりです。


可変配列タイプ・ノード

  例	  関連項目

可変配列タイプは、オブジェクト・ナビゲータの「タイプ」ノード内に表示されます。可変配列タイプ・ノードは、SQL文のCREATE TYPE AS VARYING ARRAYで作成されたタイプを表します。可変配列タイプはオブジェクト・ナビゲータに次のように表示されます。

varying-array-type-name (VARRAY (size) varying-array-subtype-name)

サブタイプがビルトイン・タイプの場合、可変配列タイプ・ノードは拡張できません。サブタイプがオブジェクト・タイプまたは参照オブジェクトの場合は、オブジェクトの属性がサブノードとして表示されます。


可変配列タイプ・ノードの例

  関連項目 	   すべての例

次のSQL文は、オブジェクト・タイプemp_typおよび可変配列タイプemp_aryを作成します。

CREATE TYPE emp_typ AS OBJECT
  (ename VARCHAR2(30), esalary NUMBER(5,2),
  MEMBER PROCEDURE raise(amount NUMBER),
  MEMBER FUNCTION get_salary RETURN NUMBER,
  MAP MEMBER FUNCTION compare RETURN NUMBER);

CREATE TYPE emp_ary AS VARRAY(7) OF emp_typ;

emp_aryのサブツリーは次のとおりです。


列オブジェクト・ノード

  例	  関連項目

列オブジェクトは、「列」ノード内のノードとして表示されます。各オブジェクトには、名前およびカッコで囲まれたタイプのラベルが付きます。列オブジェクト・ノードは複合ノードで、タイプの属性がサブノードとして表示されます。

列オブジェクトのサブタイプには、ネスト・オブジェクト・タイプ、表タイプ、可変配列タイプおよび参照オブジェクト・タイプの4種類があります。オブジェクト・ナビゲータでは、列オブジェクトに次のようなラベルが付きます。

column-name (nested-object-type)

column-name (table-type-name:TABLE OF table-subtype-name)

column-name (varying-array-type-name:VARRAY(size) OF varying-array-subtype-name)

column-name (REF reference-type-name)


列オブジェクト・ノードの例

  関連項目 	   すべての例

次の例では、表emp_tabのemp_col列が、タイプemp_typのネスト・オブジェクトになります。

CREATE TYPE emp_typ AS OBJECT (ename VARCHAR2(30), esalary NUMBER(5,2));
CREATE TABLE emp_tab (emp_col emp_typ, dept VARCHAR2(2));

emp_tabのサブツリーは次のとおりです。

次の例では、表dept_tabのemps列が、サブタイプemp_tblのネスト表になります。ネスト表には、タイプemp_typの行が含まれます。

CREATE TYPE emp_typ AS OBJECT (ename VARCHAR2(30), esalary NUMBER(5,2));
CREATE TYPE emp_tbl AS TABLE OF emp_typ;
CREATE TABLE dept_tab (dname VARCHAR2(20), emps emp_tbl)
  NESTED TABLE emps STORE AS emps_tab;

dept_tabのサブツリーは次のとおりです。

次の例では、表dept_tab_aryのemps列が、サブタイプemp_aryの可変配列になります。可変配列には、タイプemp_typの行が含まれます。

CREATE TYPE emp_typ AS OBJECT (ename VARCHAR2(30), esalary NUMBER(5,2));
CREATE TYPE emp_ary AS VARRAY(7) OF emp_typ;
CREATE TABLE dept_tab_ary (dname VARCHAR2(20), emps emp_ary);

dept_tab_aryのサブツリーは次のとおりです。

次の例では、表dept_refのmanager列が、タイプemp_typの参照オブジェクトになります。

CREATE TYPE emp_typ AS OBJECT (ename VARCHAR2(30), esalary NUMBER(5,2));
CREATE TABLE dept_ref (dname VARCHAR2(20), manager REF emp_typ);

dept_refのサブツリーは次のとおりです。


オブジェクト表ノード

  例	  関連項目

オブジェクト表は、オブジェクト・ナビゲータの「表」ノード内に表示されます。オブジェクト表ノードは、SQL文のCREATE TABLE OFで作成された表を表します。オブジェクト・ナビゲータでは、オブジェクト表ノードに次のようなラベルが付きます。

object-table-name (object-type-name)

各オブジェクト表ノードには、「トリガー」と「列」の2つのサブノードがあります。「トリガー」サブノードには、オブジェクト表に関連付けられたすべてのトリガーが含まれます。これらのトリガーは、通常のリレーショナル表に関連付けられたトリガーと同じように表示されます。「列」ノードには、オブジェクト表に関連付けられたすべての関係列と列オブジェクトが含まれます。各列には、名前およびカッコで囲まれたタイプのラベルが付きます。


オブジェクト表ノードの例

  関連項目 	   すべての例

次のSQL文は、オブジェクト・タイプperson_typおよびオブジェクト表person_tabを作成します。

CREATE TYPE person_typ AS OBJECT
  (name VARCHAR2(30), address VARCHAR2(60));

CREATE TABLE person_tab OF person_typ;

person_tabのサブツリーは次のとおりです。


オブジェクト・ビュー・ノード

  例	  関連項目

オブジェクト・ビューは、オブジェクト・ナビゲータの「ビュー」ノード内に表示されます。オブジェクト・ビュー・ノードは、OF object_type句を使用して作成されたビューを表します。オブジェクト・ビュー・ノードには、名前およびカッコで囲まれたタイプのラベルが付きます。オブジェクトの属性は表示されません。

各オブジェクト・ビュー・ノードには、「トリガー」と「列」の2つのサブノードがあります。「トリガー」サブノードには、Instead Ofトリガーを含む、オブジェクト・ビューに関連付けられたすべてのトリガーが含まれます。Instead Ofトリガーがビューに関連付けられている場合、ラベルは次のように表示されます。

trigger-name (INSTEAD OF trigger-statements)


オブジェクト・ビュー・ノードの例

  関連項目 	   すべての例

次のSQL文は、オブジェクト・ビューを作成します。

CREATE TYPE emps_typ AS OBJECT (ename VARCHAR2(30), esalary number(5,2), deptno NUMBER(2));
CREATE TABLE emps (ename VARCHAR2(30), esalary number(5,2), deptno NUMBER(2));
CREATE VIEW dev_emps OF emps_typ
  WITH OBJECT OID (ename)
  AS SELECT ename, esalary, deptno FROM emps WHERE deptno = 10;

オブジェクト・ビューdev_empsのサブツリーは次のとおりです。


すべてのOracle8オブジェクト・ノードの拡張

  関連項目

オブジェクト・ナビゲータで「すべて拡張」を実行しても、Oracle8データ型と属性の各ノードは再帰的に拡張されません。

たとえば、タイプemp_typのmanagerという属性が、別のタイプemp_typの派生項目として表示されている場合、「すべて拡張」を実行してもmanager属性は拡張されません。


Oracle8オブジェクトの例

関連項目 	   すべての例

オブジェクト・タイプ

表タイプ

可変配列タイプ

列オブジェクト

オブジェクト表

オブジェクト・ビュー


PL/SQL V1変換の例

関連項目 	   すべての例

デフォルト式を削除する

NULLをRETURN文に追加する

廃止されたビルトインを置換する

ファンクションlength

オーバーロードしたサブプログラムにNULLを渡す

RETURN文が指定されていない

パッケージのプロシージャ名を一意名に変更する

パッケージの接頭辞を削除する

予約語

長さの制限を削除する

変数の宣言