groovy 服务器异常错误:连接已关闭

col17t5w  于 2022-11-01  发布在  其他
关注(0)|答案(1)|浏览(229)

当我试图从groovy脚本运行数据库查询时,我遇到了一个问题。有时,但经常,我会遇到一个错误:

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)

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

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上迁移数据库后,我看到这个错误。

pbossiut

pbossiut1#

这可能是由以下几个原因造成的:
1.脚本中的错误。连接在某处关闭(可能是因为您没有正确处理异常),然后您尝试再次使用它。请检查异常和资源处理。
1.您保持连接打开的时间太长。在特定超时后,数据库将关闭对方的连接。
1.有人重新启动了数据库服务器。
这很可能不是防火墙问题;当连接超时时,防火墙只会丢弃数据包,因此应用程序看起来像是“挂起”,而不是给出正确的错误消息。

相关问题