首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >com.microsoft.sqlserver.jdbc.SQLServerException:连接已关闭

com.microsoft.sqlserver.jdbc.SQLServerException:连接已关闭
EN

Stack Overflow用户
提问于 2015-08-20 07:37:24
回答 1查看 20.7K关注 0票数 1

当我尝试从groovy脚本运行数据库查询时,我遇到了一些问题。有时,但很多时候,我会出错:

代码语言:javascript
运行
复制
com.microsoft.sqlserver.jdbc.SQLServerException: The connection is closed.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed(SQLServerConnection.java:388)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.createStatement(SQLServerConnection.java:2156)

我用来连接数据库的模块是:

代码语言:javascript
运行
复制
import com.microsoft.sqlserver.jdbc.*;
def dbUser = "username"
def dbPassword = 'password'
def dbDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
def dbUrl = "jdbc:sqlserver://mssql-server"
def sql = Sql.newInstance(dbUrl, dbUser, dbPassword, dbDriver)

该脚本由windows Server 2012上的Windows调度程序每2分钟启动一次。我使用的是开发人员机器,在这里我正在编写代码,并从这个大小运行脚本。当我使用MySQL数据库时,没有问题,但是在MSSQL上迁移数据库之后,我看到了这个错误。

EN

回答 1

Stack Overflow用户

发布于 2015-08-20 07:44:57

这可能是由几个原因造成的:

  1. 你剧本里的窃听器。连接在某个地方关闭(可能是因为异常,您没有正确处理),然后尝试再次使用它。检查异常和资源处理。
  2. 你把连接打开太久了。经过一定的超时后,数据库将关闭其侧的连接。
  3. 有人重新启动了数据库服务器。

这很可能不是防火墙问题;防火墙只是在连接超时时丢弃数据包,因此应用程序似乎“挂起”,而不是给出一个很好的错误消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32112231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档