我通过JDBC从jsp与SQL Server 2005进行交互(这是一个分配而不是真正的项目),我在我正在使用的数据库中创建了一个触发器。如果在执行此触发器时未满足某个条件,则通过raiserror()引发错误。我希望这个错误显示在通过JDBC调用SQL Server查询的实际页面上,但是当我打印出SQLException.getMessage()的结果时,我只是得到以下默认消息:
交易在触发器中结束。批次已中止。
有谁知道如何在我的触发器代码中提取我实际传递给raiserror的文本?我已经尝试过了:
答案 0 :(得分:9)
我明白了。问题与我在调用raiserror()时选择的严重性有关。我在10中传递了这个参数,因为我看到了一个将10放在那里的示例,但为了将错误文本传递给SQLException,严重性必须为11或更高。更改严重程度后,一切正常。如果其他人有类似的问题我会建议尝试这个。还有谷歌JDBC错误处理有用的文档(我会提交一个链接,但不允许新用户。)
答案 1 :(得分:0)
您需要迭代使用getNextException()返回的所有异常