在使用Grovvy脚本的SQL的SOAP UI中出现问题,工作代码停止工作
我在SOAPUI中使用grovvy脚本访问DB2数据库,下面的代码在一段时间内对我来说运行良好。 然而,突然间它不起作用了,我被卡住了,无法找到解决办法 查询:在使用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
从表名称中选择列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}")
}