0

从 Grails 3.2.5 升级到 3.2.9 后,我开始收到 SQL Server 驱动程序异常(使用 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 Server JDBC 版本升级到以下值,但无济于事。

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

4

2 回答 2

0

通过运行此 SQL 查询获取数据库的名称

SELECT name, database_id, create_date  
FROM sys.databases;

将其与中配置的数据库名称进行比较application.yml

jdbc:jtds:sqlserver://<host>:<port>/<database name>

就像我一样,这个问题是因为区分大小写问题而发生的。因此,请检查 Microsoft SQL 数据库名称(区分大小写)和您给定的数据库名称是否完全相同。

于 2017-05-13T05:04:36.617 回答
0

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

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

于 2017-05-16T17:15:33.807 回答