【发布时间】:2018-11-27 08:46:57
【问题描述】:
我在连接到 Azure SQL 服务器的 java 代码中有时会遇到异常。为此,我需要实现重试逻辑,即当我遇到以下异常时,我将重试 1)创建新连接 2)重新执行 SQL 查询 3)提交事务。
但是,我无法获取以下错误的 Azure SQL 服务器错误代码。请告诉我错误代码?当我运行以下查询时,我没有看到错误代码:
SELECT * FROM sys.messages WHERE language_id = 1033
例外:
com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:227)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed(SQLServerConnection.java:796)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.commit(SQLServerConnection.java:2681)
另外,使用e.getMessage() 并检查返回字符串是否为“连接已关闭”是一个好习惯。并重试我的逻辑?
我在Error codes from SQL 中没有看到错误代码
【问题讨论】:
-
我相信错误状态很清楚。 SQL 连接已关闭。您是否尝试在执行查询之前打开连接??
-
是的,我知道连接已关闭。需要知道上述异常的错误码,以便对比错误码重新建立连接
标签: java sql-server jdbc azure-sql-database