Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


16.2.9 SQLWarningクラス

〈この項の構成〉

(1) 概要

SQLWarningクラスでは,次の機能が提供されます。

SQLWarningオブジェクトは,警告が報告される原因となったメソッドのオブジェクトに,例外での通知なしで蓄積されます。

(2) 注意事項

(a) 蓄積されたSQLWarningオブジェクトの解放

SQLWarningオブジェクトは,警告が報告される原因となったメソッドのオブジェクト(Connection,Statement,PreparedStatement,CallableStatement,又はResultSet)から,チェーンによって蓄積されます。

蓄積されたSQLWarningオブジェクトを明示的に解放するには,チェーンをつないでいるオブジェクトから,clearWarningsを実行する必要があります。

(b) SQLWarningオブジェクトの生成条件

SQLの実行で発生した警告が,JDBCドライバ内で保持することを,警告保持レベルで指定している場合,SQLWarningオブジェクトを生成して警告情報を保持します。SQLWarningの生成条件を次に示します。

SQLの実行結果

警告保持レベル

IGNORE

SQLWARN

ALLWARN

SQLCODE>0,かつSQLCODEが100,110,及び120以外

×

×

SQL連絡領域のSQLWARN0がW(SQLWARN6がWである場合を除く)

×

JDBCドライバ内での警告発生

×

(凡例)

○:生成します。

×:生成しません。

警告保持レベルは,プロパティのHiRDB_for_Java_SQLWARNING_LEVEL,又はメソッドのsetSQLWarningLevelで指定できます。デフォルトはSQLWARNです。

(c) 警告メッセージ

SQLWarningから取得できるメッセージを次に示します。

条件

getMessageで取得するメッセージ

SQLWARN0がW

KFPJ01074-W

SQLWARN0が'△',かつSQLCODE>0(SQLCODE=100,110,及び120を除く)

KFPAXXXXX-X

JDBCドライバ内で警告が発生

KFPJXXXXX-W

(d) バッチ更新

バッチ更新実行中に複数行の更新で警告が発生しても,SQLWarningは1個しか生成しません。