「メッセージ」とは、次の図の「メッセージ」タブを意味します。これには、「警告」、「n行の影響」、および下図の実行時間が含まれます。 JDBCでは、ResultSetクラスを使用して「結果」を取得します。 JDBCを介して[メッセージ]タブのすべての情報を取得する方法はありますか?
それらのメッセージのほとんどを取得できますが、残念ながらすべてではありません。これについては Stackoverflowに関する私の質問 を参照してください。
一般に、これらのメッセージ(PRINT
ステートメントからのメッセージなど)は、JDBCドライバーによってStatementオブジェクトに対する警告として返されます。それらを取得するには、ループでStatement.getWarnings()を使用します。
Statement stmt = ...;
stmt.execute("some_procedure");
SQLWarning warning = stmt.getWarnings();
while (warning != null)
{
System.out.println(warning.getMessage());
warning = warning.getNextWarning();
}
Statementではなく、Connectionインスタンスにもいくつかのメッセージが返されるのを見ました。何も表示されない場合は、Connectionインスタンスで上記のコードを試してください。