エラーメッセージだけでは情報が不足している場合、EventLogからアプリケーションの実行状況を確認し、対処してください。
EventLogでは、APIやアプリケーションの所要時間がどれくらいかかるか、API呼出しのシーケンスや、入出力パラメタが正しいかなど、レスポンス性能やエラーの原因を確認することができます。
EventLogの取得方法と、出力内容について説明します。
EventLogの取得には、以下の2種類の方法があります。
アプリケーションの構成ファイルに指定する(推奨)
ConnectionStringプロパティに指定する
上記の指定方法は、データベースの接続先情報の指定方法と同じです。各指定方法の詳細は、“2.1 コネクション”を参照してください。
EventLogは、アプリケーションの性能を改善したり、アプリケーションの異常時に原因を追求したりするために取得します。このため、性能情報やエラーの原因を確認したいときに取得し、問題が解決したあとはログの取得を中断できるように、ログの取得と中断をパラメタで切替えることができます。EventLogの取得と中断を簡単に切替えられるように、EventLogの取得には、アプリケーションの構成ファイルを使用することを推奨します。
また、問題が発生したらいつでもEventLogを取得できるように、EventLogの取得の有無に関わらず、アプリケーションの構成ファイルに、あらかじめ指定しておくことを推奨します。
EventLogの取得には、ConnectionStringプロパティのキーワードを使用します。EventLogのキーワードの詳細は、“付録B 接続文字列に指定可能なキーワード”を参照してください。
EventLogを取得すると、指定した出力先に、コネクション単位に以下のファイル名で、ログが出力されます。
symfosndp_プロセスID_コネクション番号.log
なお、tuneparamキーワードに未指定の実行パラメタは、nullを表示します。
以下に、出力レベル“Debug”の場合の出力例を示します。出力レベルごとの出力情報の詳細は、“B.1 eventlogキーワード”を参照してください。
Begin: 2009-04-10 16:59:00.921 // 開始時刻
Class: SymfowareConnection // クラス名
Method: Open // メソッド名
Input Variables: // 入力パラメタ名
void
SymfowareConnection Environment: // 環境情報(SymfowareConnectionクラスのプロパティ情報)
ConnectionState = Closed
Connection String:
ACCESS_PLAN = OFF
ARC_FULL = null
CAL_ERROR = REJECT
CONNECT TIMEOUT = 15
CONNECTIONLIFETIME = 0
CHOOSE_TID_UNION = NO
DATA SOURCE = 10.34.186.126
DEFAULT_ACCESS_MODE = READ_WRITE
DEFAULT_DSI_TYPE = OBJECT
DEFAULT_INDEX_SIZE = null
DEFAULT_ISOLATION = DEFAULT
DEFAULT_OBJECT_TABLE_SIZE = null
DEFAULT_TABLE_SIZE = null
DSI_EXPAND_POINT = ON
EVENTLOG = (ON,DEBUG)
GROUP_COL_COND_MOVE = YES
IGNORE_INDEX = NO
INACTIVE_INDEX_SCAN = YES
INCLUSION_DSI = null
INITIAL CATALOG = DB1
ISOLATION_WAIT = WAIT
JOIN_ORDER = INSIDE
JOIN_RULE = AUTO
MAX POOL SIZE = 100
MAX_PARALLEL = null
MAX_SCAN_RANGE = null
MAX_SQL = 1024
MIN POOL SIZE = 0
MSG_LANG = JAPANESE
OPL_BUFFER_SIZE = 8192
PARALLEL_SCAN = NO
PASSWORD = ******
POOLING = TRUE
PORT = 8003
R_LOCK = null
RCV_MODE = RCV
ROUTINE_SNAP = OFF
SAME_COST_JOIN_ORDER = ORDER
SCAN_KEY_ARITHMETIC_RANGE = YES
SCAN_KEY_CAST = YES
SCHEMA = fnst
SERVER_ENV_FILE = null
SORT_HASHAREA_SIZE = null
SORT_MEM_SIZE = null
SQL_LEVEL = SQL2007
SQL_TRACE = OFF
SS_RATE = 0.2,0.25,0.5,0.4,0.0001
TEMPORARY_INDEX_SIZE = null
TEMPORARY_TABLE_SIZE = null
TID_SORT = YES
TID_UNION = YES
TRAN_SPEC = NONE
TRAN_TIME_LIMIT = 0
USER ID = ******
USQL_LOCK = SH
WAIT_TIME = 0
WORK_ALLOC_SPACESIZE = 10000,50000
WORK_MEM_SIZE = null
WORK_PATH = null
Return: void // 戻り値
End: 2009-04-10 16:59:01.593(00:00:00.6718750) // 終了時刻(経過時間)
Begin: 2009-04-10 16:59:01.640 // 開始時刻
Class: SymfowareDataAdapter // クラス名
Method: Fill // メソッド名
Input Variables: // 入力パラメタ名
dataSet: System.Data.DataSet
srcTable: TESTTBL
SymfowareDataAdapter Environment: // 環境情報(SymfowareDataAdapterクラスのプロパティ情報)
SelectCommandText = SELECT * FROM SAMPLE1.TESTTBL
Row Content:
KEY_C = 2
DEC_C = 9999999.999
DAT_C = 2007/04/05 0:00:00
CHA_C = TEST DATA
Row Content:
KEY_C = 133
DEC_C = 500.001
DAT_C = 2007/04/01 0:00:00
CHA_C = TEST DATA
Row Content:
KEY_C = 134
DEC_C = 500.001
DAT_C = 2007/04/01 0:00:00
CHA_C = TEST DATA
Return: 3 // 戻り値
End: 2009-04-10 16:59:02.46(00:00:00.4062500) // 終了時刻(経過時間)
Begin: 2009-04-10 16:59:02.359 // 開始時刻
Class: SymfowareConnection // クラス名
Method: Close // メソッド名
Input Variables: // 入力パラメタ名
void
SymfowareConnection Environment: // 環境情報(SymfowareConnectionクラスのプロパティ情報)
ConnectionState = Open
Return: void // 戻り値
End: 2009-04-10 16:59:02.359(00:00:00) // 終了時刻(経過時間)