Groovy SQL 语句语法错误

Groovy SQL statement syntax error

我正在尝试创建一个 groovy 脚本,该脚本将从数据库中的 table 中提取一个值,然后在 SOPAUI 中的请求中使用该值。

问题是在我的 SQL 查询中,我有一个包含带单引号的字符串值的 where 子句,当 运行 时 return 会出错。

     import groovy.sql.Sql
     import java.sql.Driver


    def sql = Sql.newInstance     ('jdbc:sqlserver://hostname\INSTANCE1;Database=DB;integratedSecurity=true','com.microsoft.sqlserver.jdbc.SQLServerDriver')
    row = sql.firstRow('SELECT TOP 1  m.ID [DB].[dbo].[AOTableName] AS m INNER JOIN [DOC_MASTER_dev].[dbo].[AOMatterTableName] AS c ON m.SystemID = c.ID  WHERE  (m.Status = 0) AND (c.Code = "'ESB'") order by newid(), m.DateAddedForReplication desc ')

.......

错误如下:

ERROR:org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: Script25.groovy: 6: unexpected token: ESB @ line 6, column 231. us = 0) AND (c.Code = "'ESB'") ord ^ org.codehaus.groovy.syntax.SyntaxException: unexpected token: ESB @ line 6, column 231. at org.codehaus.groovy.antlr.AntlrParserPlugin.transformCSTIntoAST(AntlrParserPlugin.java:140) at org.codehaus.groovy.antlr.AntlrParserPlugin.parseCST(AntlrParserPlugin.java:108) at org.codehaus.groovy.control.SourceUnit.parse(SourceUnit.java:236) at org.codehaus.groovy.control.CompilationUnit.call(......

脚本的其余部分将转换为字符串并将数据库中的值设置为 属性,然后可以在请求中使用。

关于我做错了什么有什么想法吗?

可能缺少 FROM?

SELECT TOP 1 m.ID FROM [DB].[dbo].[AOTableName] AS m 等...

加上双引号与单引号问题:AND (c.Code = "'ESB'")

应该是:AND (c.Code = \'ESB\')