17.5 トラブルシューティング

この項では、DB2 Connectを使用する場合に発生する接続の問題の、最も一般的な症状を示します。それぞれの場合につき、次の情報を提供します。

  • メッセージ番号と、そのメッセージに関連付けられたリターン・コード(またはプロトコル固有のリターン・コード)の組合せ。各メッセージとリターン・コードの組合せは別々の見出しを持っており、見出しはメッセージ番号、リターン・コードの順に並べられます。
  • 症状は、通常サンプル・メッセージ・リストの形で提示されます。
  • 推奨される対処法と、考えられるエラーの原因が示されます。場合によっては、複数の推奨される対処法が提示されることがあります。
SQL1403N
症状: SQL1403N 入力したユーザー名やパスワードが不正確です。

対処法: ユーザーがDB2 Connectワークステーションで認証に失敗しました。ユーザーがそのDB2 Connectワークステーションで認証されるはずかどうかを確認します。

「はい」の場合、必要に応じて、CONNECT文で正しいパスワードを入力したことを確認します。

「いいえ」の場合、システム・データベース・ディレクトリ・エントリが、AUTHENTICATION SERVERを使用して不正確にカタログ化されています(AUTHENTICATIONが明示的に指定されていない場合、これがデフォルトです)。この場合、AUTHENTICATION DCSまたはCLIENTを使用して、エントリを再カタログ化します。

ターゲット・サーバー・データベースに送信するパスワードを使用できません。システム・データベース・ディレクトリ・エントリがAUTHENTICATION DCSを使用してカタログ化されている場合、パスワードは、DB2 Clientからターゲット・サーバー・データベースに流される必要があります。一部のプラットフォーム(たとえばAIX)では、CONNECT文で入力されないとパスワードを取得できません。

SQL5043N
症状: 1つ以上の通信プロトコルのサポートを正常に開始できませんでした。ただし、コア・データベース・マネージャ機能は、正常に起動しました。

おそらく、TCP/IPプロトコルがDB2 Connectゲートウェイ上で起動されていません。以前には正常にクライアント接続できていた可能性があります。

対処法: この警告は、リモート・クライアントのためのゲートウェイの働きをするDB2 Connectが、1つ以上のクライアント通信プロトコルを処理できないことを示す症状です。そのプロトコルはTCP/IP、APPCなどの可能性がありますが、通常、このメッセージは、DB2 Connectに対して定義されている通信プロトコルの1つが正しく構成されていないことを示しています。

多くの場合、原因は、DB2COMMプロファイル変数が定義されていないか、不正確に定義されていないことです。通常、問題は、DB2COMM変数と、データベース・マネージャ構成で定義される名前(svcename、tpnameなど)の不一致の結果です。

、1つの可能なシナリオは、以前に正常に接続できていて、何も構成を変更していないのに、SQL5043エラー・メッセージが表示される場合です。これは、TCP/IPプロトコルの使用時に、リモート・システムがなんらかの理由で接続を異常に終了した場合に発生する可能性があります。これが発生した場合、クライアント上に接続がまだ存在するように表示され、次に示すコマンドを発行することによって、それ以上の操作をしなくとも接続をリストア可能になる場合があります。

最も可能性が高いのは、ゲートウェイに接続しているクライアントの1つが、まだTCP/IPポート上のハンドルを持っている場合です。各クライアント・マシン上で、それはゲートウェイに接続されます。

SQL30061
症状: 誤ったホストまたはAS/400データベース・サーバーの場所に接続しています - ターゲット・データベースを検出できません。

対処法: 誤ったサーバー・データベース名は、DCSディレクトリ・エントリで指定された可能性があります。これが発生した場合、アプリケーションに、SQLCODE -30061が戻されます。

DB2ノード、データベースおよびDCSディレクトリ・エントリを確認します。DCSディレクトリ・エントリのターゲット・データベース名フィールドは、そのプラットフォームに基づくデータベースの名前に対応している必要があります。

SQL30081 with Return Code 79
症状: SQL30081N 通信エラーが検出されました。

使用されている通信プロトコル: "TCP/IP"。使用されている通信API: "SOCKETS"。

エラーが検出された場所: ""。通信機能がエラーを検出:

"connect". Protocol specific error code(s): "79", "*", "*". 
SQLSTATE=08001

対処法: このエラーは、リモート・クライアントが、DB2 Connectゲートウェイに接続できない場合に発生することがあります。DB2 Connectゲートウェイからホストに接続する場合に発生することもあります。

DB2COMMプロファイル変数が、DB2 Connectゲートウェイ上で不正確に設定されていることがあります。確認してください。たとえば、AIX上でDB2 Extended Enterprise Editionを実行する場合、コマンドdb2set db2comm=tcpipが、sqllib/db2profileにある必要があります。

DB2クライアントとDB2 Connectゲートウェイの間で、TCP/IPサービス名やポート番号の指定に不一致がある可能性があります。両方のマシン上で、TCP/IPサービス・ファイルのエントリを検証します。