DBServerにて異常が発生した場合は configファイルにて ログHandlerの設定に記述されたパスおよびファイルに情報が出力されます。
例:
------------------------------------------------------------------------------- [2002/05/15 17:37:12] Log Type : Error(ContorlRecord + Exception) Client IP(Pri) : 192.168.1.35 Client IP(Glo) : 192.168.1.35 WEB IP : User ID : null Server Sub : test Server Revision : 11 Transaction : tran Base Server Sub : null Base Server Tran : null Message : jp.ne.mki.wedge.run.db.control.XM_Statement : SQL = INSERT INTO P_TypeNumberTable ( TypeNumber1,TypeName,PublicDate) VALUES (?,?,?) XM_Statement executeQuery RowCount = 1 ColCount = 3 PG Name(Phy) : P_TypeTable_Add PG Name(Log) : 公開用型番マスタ追加 BR Class Name : XM_Dlcp DB Error CD : 1 DB Status : 23000 DB Message : ORA-00001: 一意制約 (TESTAP.P_TYPENUMBERTABLE_PKEY) に反しています。 DB Update Rows : 1 DB Access Rows : 0 DB Error Row No : 1 Exception : java.sql.SQLException: ORA-00001: 一意制約 (TESTAP.P_TYPENUMBERTABLE_PKEY) に反しています。 StackTrace : java.sql.SQLException: ORA-00001: 一意制約 (TESTAP.P_TYPENUMBERTABLE_PKEY) に反しています。 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168) at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208) at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543) at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405) at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:822) at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1446) at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1371) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1900) at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:363) at jp.ne.mki.wedge.run.db.control.XM_Statement.executeUpdate(XM_Statement.java:864) at jp.ne.mki.wedge.run.db.main.XM_DBServer.executeUpdateDBServer(XM_DBServer.java:557) at java.lang.reflect.Method.invoke(Native Method) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:241) at sun.rmi.transport.Transport$1.run(Transport.java:152) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:148) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:465) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:706) at java.lang.Thread.run(Thread.java:484)
ApServerからの要求により、実行された処理をトレースし、関連するデータの内容を出力します。トレースの出力場所は、configファイルにて ログHandlerの設定に記述されたパスおよびファイルになります。 ディフォルトでは common.wdg の"LogPath"に記述された パス直下の「RunDBServer/trace_グローバルIPアドレス」ディレクトリに「呼び出し元サーバパッケージ_呼び出し元トランザクション」のファイル名で出力されます。
DBServerのトレースログは下記のように出力されます。
[2002/05/29 19:53:07] [SQL] SELECT Name1,Name2,PublicDate FROM P_CommodityTable WHERE TypeNumber1 = ? AND TypeNumber2 = ? [Input Record] DB Data Class : [Varchar][] InputRow=3 InputSize=2 [AA][100] [Output Record] DB Data Class : [][][Date] 1 : ColumnSize=3 [笠木][6,100mm][2001/07/07] InputSize=2 [AA][101] [Output Record] DB Data Class : [][][Date] 2 : ColumnSize=3 [笠木][6,100mm][2001/07/07] InputSize=2 [AB][102] [Output Record] DB Data Class : [][][Date] 3 : ColumnSize=3 [パネル中骨][5,500mm][2001/07/07]
[SQL] SELECT Name1,Name2,PublicDate FROM P_CommodityTable WHERE TypeNumber1 = ? AND TypeNumber2 = ?
データベースへ実際に発行されたSQLを表示しています。
[Input Record] DB Data Class : [Varchar][] InputRow=3
DB Data Classはデータ型に対しDB変換クラスが設定されていた場合、そのDB変換クラス名称を表示します。
InputRowとはApServerより渡された入力データセットのうち、もっともデータ数の多いデータの
個数を表示しています。DBServerはSQL実行時にこのRow値の数だけバインド変数にデータをバインドをします。
この項目はバインドがされた回数分表示されます。
InputSize=2 [AA][100] [Output Record] DB Data Class : [][][Date] 1 : ColumnSize=3 [笠木][6,100mm][2001/07/07]
まず頭に入出力データセットの数と、バインド変数に使用された入力値が表示されます。
DB Data Classは出力データセットのデータ型に定義されているDB変換クラスの名称が表示されます。
続いて次の行に、このSQLのバインド回数と、出力データセットの数が表示されます。
SQLのバインド回数はバインドが繰り返されるたびに加算されていきます。
最後の行に、SQLの発行結果返ってきた値を表示します。