2009-06-01 12 views
4

JDBC経由でjspからSQL Server 2005とやりとりしています(これは実際のプロジェクトではありません)。 。このトリガが実行されたときに特定の条件が満たされない場合は、raiserror()によってエラーが発生します。私はこのエラーを実際のページで表示するには、JDBC経由でSQL Serverクエリを呼び出すが、現時点では、SQLException.getMessage()の結果を出力するときに次のデフォルトメッセージが表示されます。SQL Serverでraiserror()から生成されたエラーメッセージを表示する方法

トランザクション引き金に終わった。バッチは中止されました。

私は実際にトリガーコードでraiserrorに渡されたテキストを抽出する方法を知っていますか?私はすでに試してみました:

  • SQLException.getState()
  • SQLException.getNextException()
  • SQLException.getCause()
  • SQLException.toString()

答えて

8

私はそれを理解しました。問題は、raiserror()を呼び出すときに選択していた重大度に関連していました。私はこの引数に10を渡していましたが、そこに10を置いた例を見ましたが、エラー・テキストがSQLExceptionに渡されるためには、重大度は11以上でなければなりません。重大度を変更した後、すべて正常に動作します。他の誰かが同様の問題を抱えているなら、これを試すことをお勧めします。便利なドキュメントのためのGoogleのJDBCエラー処理(リンクを提出しますが、新しいユーザーは許可されません)。

0

をあなたが反復する必要がありますすべての例外はgetNextException()で返されます

+0

お返事ありがとうございます。私はそれを試みましたが、残念ながらgetNextException()を呼び出すときにnullを返すように他の例外はないようです。 – BordrGuy108

+0

SQLまたは手続きにBEGIN TRY/BEGIN CATCHがありますか? –

+0

私はjspでtry/catchブロックを使用してSQLExceptionをキャッチします。自分のSQLにBEGIN TRYやBEGIN CATCHのようなものはありません。 – BordrGuy108

関連する問題