2015-11-04 44 views
2

我的服务器有时会调用与以前连接的连接一起工作的MSSQL JDBC CallableStatement.execute()。连接还活着时,一切正常。但是,如果连接以某种方式断开连接(例如某人关闭SQL服务器),​​调用将抛出SQLException。我需要区别'连接被丢弃'错误和任何其他JDBC错误(如我试图使用的表不存在)。因为如果我点击连接错误 - 我需要重新连接。在任何其他情况下,我只需要给用户提供错误信息。如何区别MSSQL JDBC错误代码?

SQLException.getSQLState()总是返回null和getErrorCode()总是返回0

感谢

回答

0

我不是Java专家,但这似乎主要是基于Java。

你需要赶上从.execute()命令异常和查询字符串,看看是什么错误,然后做出何种方法来执行下根据这些信息决定。

+0

1)我不知道所有可能的异常消息,因为它们没有列出(许多协议列出了它们的错误代码),所以我可能错过很多情况 2)它们可以在下一个实现中更改字符串,所以它不会再工作 – Oleg

+0

对不起,我不知道什么是官方的解决方案。也许一些Java文档可以帮助你的方法? –