DB2 LUW プログラムをコンパイルするには、まずデータベースに接続する必要があります。データベース自体は、DB2 ECM 指令の DB で指定されます。ユーザー資格情報も DB2 ECM プリプロセッサからコンパイラに提供されます。データベースへの接続に使用されるログイン資格情報は、データベースがローカルとリモートのどちらであるか、どの DB2 コンパイラ指令オプションが指定されているか、およびどの環境変数が設定されているかによって異なります。
DB2 ECM は、1 つ以上の場所を特定の順序で調べてログイン資格証明を探し、接続が成功するまで各場所で提供されている資格情報を順番に使用して接続を試みます。
PASS を使用してログイン資格情報を指定すると、他の方法で提供されたどの資格情報よりも優先されます。提供された資格情報を使用して接続に成功すると、コンパイルが続行されます。PASS は、リモート DB2 データベースに接続する場合は必須です。PASS で提供された資格情報を使用して接続に失敗した場合、DB2 ECM は次に SQLPASS.TXT 環境変数を探します。
これは、Windows 環境 (ローカル開発) にのみ適用されます。
このオプションは、PASS コンパイラ指令オプションを使用して資格情報が提供されていない場合、または PASS で提供された資格情報で接続できない場合にのみ使用されます。接続に成功すると、コンパイルが続行されます。
SQLPASS.TXT 環境変数が設定されていない場合、または提供された資格情報を使用して接続に失敗した場合、DB2 ECM は次にオペレーティング システムの資格情報を調べます。
PASS コンパイラ指令オプションを使用してログイン資格情報が指定されておらず、SQLPASS.TXT 環境変数も設定されていない場合、あるいはそのいずれかまたは両方の方法で使用できない資格情報が渡された場合、DB2 ECM は現在のオペレーティング システムの資格情報を使用して接続を試みます。このコンパイルの試行は、ローカル データベースを使用している場合にしか成功しません。リモート データベースを使用している場合は、いずれのプラットフォームでも一貫して動作する PASS 指令の使用を検討してください。
オペレーティング システムの資格情報を使用して接続に失敗した場合、DB2 ECM はログイン資格情報を求めるプロンプトを表示します。
PASS コンパイラ指令オプションを使用してログイン資格情報が指定されていない場合、またはその方法で使用できない資格情報が渡された場合、DB2 ECM は現在のオペレーティング システムの資格情報を使用して接続を試みます。このコンパイルの試行は、ローカル データベースを使用している場合にしか成功しません。
リモート データベースを使用している場合、またはオペレーティング システムの資格情報を使用してローカル データベースへの接続に失敗する場合は、PASS コンパイラ指令オプションを使用してください。必ず使用可能な資格情報を指定してください。
これは、Windows 環境 (ローカル開発) にのみ適用されます。
他のどの方法で取得したログイン資格情報を使用してもデータベースに接続できず、データベースへの接続の試行がすべて失敗した場合、DB2 ECM は [SQL Logon] ダイアログ ボックスを呼び出して資格情報の入力を求めます。