Symfoware/RDBが異常や内部矛盾を検出すると、エラーメッセージが出力されます。メッセージの内容を元に、異常の内容、原因、対処方法を特定します。
エラーメッセージは、エラーの内容や使用するアプリケーションにより出力先が異なります。エラーの出力状況は、以下の3つに分類できます。
C/COBOL埋込みホストプログラムおよびRDBコマンドの場合
JDBC連携の場合
ODBC連携の場合
なお、エラーメッセージの対処方法については、“付録A エラーメッセージの対処”を参照してください。
C/COBOL埋込みホストプログラムおよびRDBコマンドの場合
C/COBOL埋込みホストプログラム、およびRDBコマンドの場合のエラーメッセージは、以下の箇所に出力されます。
メッセージ種別 | 内容 | 出力先 |
---|---|---|
SQLMSG | SQL文実行時の異常 | アプリケーションプログラムのホスト変数SQLMSGとして出力 |
コマンド標準異常出力 | RDBコマンド実行時の異常 | コマンド標準異常出力として出力 |
RDBREPORT | Symfoware/RDBで発生した異常をロギング | RDB構成パラメタファイルのRDBREPORTで指定したディレクトリ配下に、以下のファイル名で出力
|
コンソール | OSおよび各種ソフトウェアの異常をロギング | Solarisの場合
Linuxの場合
Windowsの場合
|
JDBC連携を使用している場合、使用するアプリケーションの形態によりエラーメッセージの出力先が異なります。
形態ごとの出力先を以下に示します。
アプリケーションの形態 | 出力先 |
---|---|
Javaアプリケーション | 標準出力 |
EJB |
Windowsの場合
|
サーブレット | サーブレットのログファイル |
ポイント
RDA-SV連携時は、RDA-SVのメッセージが、イベントログまたはメッセージログに出力される場合があります。
データベース関連のエラーメッセージを取得するには、アプリケーションでSQLException発生時に以下の記述が必要となります。
種類 | メソッド名 | 備考 |
---|---|---|
SQLSTATE値 | GetSQLState | Symfoware/RDBまたはJDBCが設定 |
エラーメッセージ | GetMessage | Symfoware/RDBまたはJDBCが設定 |
エラーコード | GetErrorCode | Symfoware/RDBまたはJDBCが設定 |
備考)アプリケーションで上記の記述がない場合は、実行トレースに情報が出力されるため、実行トレースを採取して確認します。
実行トレースについては、“14.2.3 アプリケーションの実行トレース”を参照してください。
ポイント
JavaVMが出力するエラーについては、アプリケーションでの記述は必要ありません。
JavaVMでは、以下のようなエラーが出力されます。
java.lang.NullPointerException
java.lang.NoClassDefFoundError
java.lang.OutOfMemoryError
ODBC連携アプリケーションを作成する場合、ISV製品を利用するのが一般的です。
ISV製品を利用してデバッグする方法については、各ISV製品のマニュアルを参照してください。