許可 ID は、データベース・マネージャーとプログラム間の接続が確立したときに、データベース・マネージャーに渡される文字ストリングです。許可 ID は、プログラムが別のプログラムを準備するかどうかや、エンド・ユーザーが SQL テーブルにアクセスできるかどうかに関係なく、データベース・マネージャーに渡されます。この文字ストリングは、準備するプログラムまたはエンド・ユーザーが保持しているデータベース・アクセス許可を検査する際に必要となるユーザー ID です。
許可 ID のソースは、データベース・アクセスが行われるシステムごとに異なります。
iSeries™ COBOL プログラムの場合、許可 ID は、プログラムが実行されるユーザー ID です。
EGL 生成の CICS
® または z/OS
® バッチ COBOL プログラムの状況を次に示します。
- バインド時の許可 ID は、バインド・ジョブを実行しているユーザーの RACF® ID です。
- 実行時、トランザクションにアクセス可能なユーザーは、データベースにアクセスする権限を持ちます。認証 ID は、CICS ユーザー ID となります。
EGL 生成 Java™ プログラムの状況を次に示します。
- 許可 ID は、データベース・マネージャーとプログラム間の接続が確立したときに、データベース・マネージャーが受け取る ID です。
- デフォルト・データベースに対する許可 ID は、Java ランタイム・プロパティー vgj.jdbc.default.userid に指定された値です。
- システム関数 sysLib.connect または VGLib.connectionService を呼び出す場合、許可 ID は、userID パラメーターに指定された値です。
許可 ID は、テーブル名を指定すると使用できます。その場合、テーブル名修飾子は、次の構文に従って指定します。
tableOwner.myTable
- tableOwner
- データベース・マネージャーが認識する修飾子です。テーブルを識別する際に必要となります。テーブル作成時の修飾子は、テーブル作成者の許可 ID です。
- myTable
- テーブル名を指定します。
テーブル名を指定する際にテーブル名修飾子が含まれていないと、データベース・マネージャーがテーブル名修飾子を指定します。
- z/OS 上の静的 SQL ステートメントの場合、テーブル所有者は、バインド時に解決されます。デフォルトのテーブル所有者は、バインドしたユーザーの許可 ID です。ただし、バインド制御ファイル内のバインド・オプションを使用すると、別の修飾子を指定できます。
- z/OS 上の静的 SQL ステートメント以外の場合、テーブル所有者は、実行時に解決されます。修飾子には、許可 ID が設定されます。
テーブル名を指定する際にテーブル名修飾子が含まれていない場合、テーブル所有者は、実行時に解決されます。修飾子には、許可 ID が設定されます。
許可 ID の詳細については、データベース・マネージャーの資料を参照してください。