【问题标题】:Azure SQL : error code for Connection is closed exception'sAzure SQL:连接的错误代码是关闭异常的
【发布时间】: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


【解决方案1】:

此异常似乎与尝试从受支持的数据类型转换为不受支持的数据类型有关。 This 就是一个很好的例子。

尝试其他版本的 JDBC 驱动程序。

【讨论】:

  • 查看可能不受支持的数据类型转换,它不仅仅是时间戳。你读过整个 Github 线程吗?他们建议尝试使用其他版本的驱动程序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-29
  • 2010-09-20
  • 1970-01-01
  • 2019-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多