Grails 3.2.9 SQL 驱动程序错误

Grails 3.2.9 SQL Driver error

从 Grails 3.2.5 升级到 3.2.9 后,我开始收到 SQL 服务器驱动程序异常(使用 sqljdbc42.jar):

com.microsoft.sqlserver.jdbc.SQLServerException: com.microsoft.sqlserver.jdbc.SQLServerException: The database name component of the object qualifier must be the name of the current database.

降级到 Grails 3.2.7 后,这再次停止。我在不同的数据库中调用存储过程,但代码在 3.2.7 及之前的版本中有效,在 3.2.9 中无效。我尝试将 SQL 服务器 JDBC 版本升级到以下值但无济于事。

compile group: 'com.microsoft.sqlserver', name: 'mssql-jdbc', version: '6.1.7.jre8-preview'

通过运行这个SQL查询得到数据库的名称

SELECT name, database_id, create_date  
FROM sys.databases;

application.yml

中配置的数据库名称进行比较
jdbc:jtds:sqlserver://<host>:<port>/<database name>

据我所知,此问题是由于区分大小写问题而发生的。所以检查 Microsoft SQL 数据库名称(区分大小写)和你给定的数据库名称完全相同。

Grails 3.2.9 包括 Groovy 2.4.10,它是 Groovy 2.4.7 的升级版本。我在 Groovy Sql in Groovy 2.4.10 中看到了 2.4.7 中不存在的问题(这是我在 Grails 3.2.7 中使用的问题)。希望这对看起来在 Groovy 2.4.11 中修复的其他人有帮助,这可能最终会出现在 Grails 3.2.10 中。以下是问题的 URL:

https://issues.apache.org/jira/browse/GROOVY-8128