ページの先頭行へ戻る
Symfoware Server V12.0.0 トラブルシューティング集(データベース簡単運用編)
FUJITSU Software

3.2.1 エラーメッセージ

Symfoware Serverが異常や内部矛盾を検出すると、エラーメッセージが出力されます。メッセージの内容を元に、異常の内容、原因、対処方法を特定します。

エラーメッセージは、エラーの内容や使用するアプリケーションにより出力先が異なります。エラーの出力状況は、以下の4つに分類できます。

なお、エラーメッセージの対処方法については、“付録A エラーメッセージの対処”を参照してください。

C/COBOL埋込みホストプログラムおよびRDBコマンドの場合

C/COBOL埋込みホストプログラム、およびRDBコマンドの場合のエラーメッセージは、以下の箇所に出力されます。

メッセージ種別

内容

出力先

SQLMSG

SQL文実行時の異常

アプリケーションプログラムのホスト変数SQLMSGとして出力

コマンド標準異常出力

RDBコマンド実行時の異常

コマンド標準異常出力として出力

メッセージログファイル

Symfoware Serverで発生した異常をロギング

SolarisLinuxデータ格納先/SFWD/RDBシステム名/USR/REPORT配下に、以下のファイル名で出力

Windowsデータ格納先:\SFWD\RDBシステム名\USR\REPORT配下に、以下のファイル名で出力

  • RDBシステム名.log

  • RDBシステム名.old

システムログ

OSおよび各種ソフトウェアの異常をロギング

  • Solaris/var/adm/messages

  • Linux/var/log/messages

  • WindowsWindowsの場合

    • イベントログ

    • アプリケーションログ

JDBC連携の場合

JDBC連携を使用している場合、使用するアプリケーションの形態によりエラーメッセージの出力先が異なります。

形態ごとの出力先を以下に示します。

アプリケーションの形態

出力先

Javaアプリケーション

標準出力

EJB

  • EJBのコンソールファイル

  • メッセージログ

WindowsWindowsの場合

  • イベントログ

サーブレット

サーブレットのログファイル

エラーメッセージの取得方法

データベース関連のエラーメッセージを取得するには、アプリケーションでSQLException発生時に以下の記述が必要となります。

種類

メソッド名

備考

SQLSTATE値

GetSQLState

Symfoware ServerまたはJDBCが設定

エラーメッセージ

GetMessage

エラーコード

GetErrorCode

備考)アプリケーションで上記の記述がない場合は、実行トレースに情報が出力されるため、実行トレースを採取して確認します。
実行トレースについては、“3.2.3 アプリケーションの実行トレース”を参照してください。

ポイント

JavaVMが出力するエラーについては、アプリケーションでの記述は必要ありません。
JavaVMでは、以下のようなエラーが出力されます。

  • java.lang.NullPointerException

  • java.lang.NoClassDefFoundError

  • java.lang.OutOfMemoryError

ODBC 連携の場合

ODBC連携を使用している場合、使用するアプリケーションの形態によりエラーメッセージの出力先が異なります。

形態ごとの出力先を以下に示します。

アプリケーションの形態

出力先

Office

DAO

アプリケーションプログラムのDBEngine.Errorsオブジェクトとして出力

Visual Basic

RDO

アプリケーションプログラムのrdoEngine.rdoErrorsオブジェクトとして出力

ADO

アプリケーションプログラムのConnection.Errorsオブジェクトとして出力

Visual Basic .NET

ADO

アプリケーションプログラムのConnection.Errorsオブジェクトとして出力

ADO.NET

アプリケーションプログラムのOdbcException.Errorsオブジェクトとして出力

ASP

ADO

アプリケーションプログラムのConnection.Errorsオブジェクトとして出力

エラーメッセージの取得方法

データベース関連のエラーメッセージを取得するには、アプリケーションでODBCエラー発生時に以下の記述が必要となります。

アプリケーション

種類

メソッド名

備考

DAO

SQLSTATE値

SQLState

SymfowareまたはODBCが設定

エラーメッセージ

Description

エラーコード

SQLRetCode

RDO

SQLSTATE値

SQLState

エラーメッセージ

Description

エラーコード

Number

ADO

SQLSTATE値

SQLState

エラーメッセージ

Description

ADO.NET

SQLSTATE値

SQLState

エラーメッセージ

Message

備考)アプリケーションで上記の記述がない場合は、実行トレースに情報が出力されるため、実行トレースを採取して確認します。
実行トレースについては、“3.2.3 アプリケーションの実行トレース”を参照してください。

.NET Framework連携

.NET Framework連携で使用できる開発言語は下記のとおりです。

それぞれの言語により、エラーメッセージの出力先が異なります。

言語ごとの出力先を以下に示します。

言語

出力先

C#

  • アプリケーションプログラムのSymfowareException.Errorsオブジェクトとして出力

  • イベントログ

Visual Basic .NET

  • アプリケーションプログラムのSymfowareException.Errorsオブジェクトとして出力

  • イベントログ

COBOL (注)

標準出力

注) COBOLを利用する場合、Visual Studio 2005、Visual Studio 2008またはVisual Studio 2010に加えて、NetCOBOL for .NETが必要です。

エラーメッセージの取得方法

それぞれの言語でエラーメッセージの取得方法は同じです。データベース関連のエラーメッセージを取得するときには、アプリケーションでSymfowareException発生時に以下の記述が必要となります。

種類

プロパティ

備考

SQLSTATE値

SQLState

SymfowareまたはSymfoware .NET Data Providerが設定

エラーメッセージ

Message

エラーコード

Number

備考)アプリケーションで上記の記述がない場合は、実行トレースに情報が出力されるため、実行トレースを採取して確認します。
実行トレースについては、“3.2.3 アプリケーションの実行トレース”を参照してください。