2013-11-20 75 views
0

我想知道是否有方法從SQLException/SQLWarning訪問原始SQL查詢。我認爲這不太可能,但API文檔中的句子Warnings are silently chained to the object whose method caused it to be reported給我帶來了一些希望。通過SQLWarning訪問原始查詢

如果這是不可能的,那麼最好的方法是什麼?在發生異常的情況下,從SQLWarning創建一個保存查詢信息的子類?或者每當我想創建一個SQL查詢並處理異常時調用一個類?

在此先感謝,

回答

1

SQLException(爲此和SQLWarning)不包含已執行的語句。這是沒有辦法的。你需要以某種方式處理這個問題。理論上,驅動程序實現可以添加這些信息,但這將是JDBC規範和API之外的非標準。

的警告正常鏈接到其方法導致它被報告

這意味着SQLWarning加入到java.sql.Statement(或其它JDBC對象)可以使用getWarnings()得到警告的對象,該對象返回一個單一的SQLWarning,它有一個零個或多個警告鏈。