在使用Grovvy脚本的SQL的SOAP UI中出现问题,工作代码停止工作

在使用Grovvy脚本的SQL的SOAP UI中出现问题,工作代码停止工作,sql,groovy,soapui,Sql,Groovy,Soapui,我在SOAPUI中使用grovvy脚本访问DB2数据库,下面的代码在一段时间内对我来说运行良好。 然而,突然间它不起作用了,我被卡住了,无法找到解决办法 查询:从表名称中选择列ID,其中列时间戳>'2016-10-26 05:37:22' 下面是代码 def sqlQueryPopID = "SELECT Column_ID FROM Table_Name where Column_TIMESTAMP>'2016-10-26 05:37:22'" def popID **// The

我在SOAPUI中使用grovvy脚本访问DB2数据库,下面的代码在一段时间内对我来说运行良好。 然而,突然间它不起作用了,我被卡住了,无法找到解决办法

查询:
从表名称中选择列ID,其中列时间戳>'2016-10-26 05:37:22'

下面是代码

def sqlQueryPopID = "SELECT Column_ID FROM Table_Name where Column_TIMESTAMP>'2016-10-26 05:37:22'"

def popID 

**// The code is not entering in the below loop, however was working fine a day back, not sure what happened**

sqlITOD.query(sqlQueryPopID) {resultSet ->
    while (resultSet.next()){
        popID = resultSet.getString(1)
        log.info("Popultauin ID is:"+popID)
    }
}//end of result set

log.info("The Sql Query:"+sqlITOD.query(sqlQueryPopID) )//This line is giving below Error
错误:

Wed Oct 26 05:37:58 EDT 2016:INFO:groovy.lang.MissingMethodException: No signature of method: groovy.sql.Sql.query() is applicable for argument types: (java.lang.String) values: [SELECT Column_ID FROM Table_Name where Column_TIMESTAMP>'2016-10-26 05:37:22']
Possible solutions: query(java.lang.String, groovy.lang.Closure), query(groovy.lang.GString, groovy.lang.Closure), query(java.lang.String, java.util.List, groovy.lang.Closure), query(java.lang.String, java.util.Map, groovy.lang.Closure), query(java.util.Map, java.lang.String, groovy.lang.Closure), every()

请帮助我出了什么问题,因为当前代码工作正常,不知何故它停止了工作

方法的签名是

因此,在您的代码
log.info(“Sql查询:”+sqlITOD.Query(sqlQueryPopID))
中,这一点无法工作。因为在
Sql
中没有
查询(字符串)
方法

代码的其余部分似乎是正确的;我认为问题在于您的数据,在您的查询中,您是根据
where Column\u TIMESTAMP>'2016-10-26 05:37:22'
进行筛选的,所以可能的问题是,您在DB中没有任何符合此标准的结果

顺便说一句,还有一种更为常规的方法,可以使用:


试试sqlITOD.query(sqlQueryPopID,{resultSet->这两种方法我都很累,但是仍然不适用于我,我共享的代码在前一天适用于我。@MradulKapoor抱歉,我完全误读了你的问题……现在我想答案更多了accurate@albcliff:数据库有记录(我手动检查),也是没有进入resultset循环中的代码,但是直到昨天它还可以正常工作,并且我能够获得details@MradulKapoor奇怪……您是否可以尝试一下
sql.firstRow(“选择count(*)作为表中的计数,其中列\u TIMESTAMP>'2016-10-26 05:37:22').count
?我也试过了,当我从soap UI执行时,它会给我null,但是当我手动检查时,它工作正常,这对我来说很奇怪,而且是一个拦截器
sqlITOD.eachRow(sqlQueryPopID){ row ->
    log.info("Popultauin ID is: ${row.id}")
}