2017-02-17 56 views
0

我需要能夠執行更新SQL腳本了SoapUI的更新腳本,但它不工作了SoapUI NG臨 - 執行使用Groovy

下面是我用來參考的網站的鏈接: https://groovyinsoapui.wordpress.com/tag/sql-eachrow-groovy-soapui/

這裏是我最後寫代碼的格式(由於我做的工作性質,我無法提供我寫的確切腳本)

import groovy.sql.Sql 

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context) 
groovyUtils.registerJdbcDriver("com.microsoft.sqlserver.jdbc.SQLServerDriver") 

def connectString = "jdbc:microsoft:sqlserver://:;databaseName=?user=&password=" 

sql = Sql.newInstance(connectString) // TEST YOUR CONNECT STRING IN A SQL BROWSER 

sql.executeUpdate("UPDATE TABLE SET COLUMN_1 = 'VALUE_1' WHERE COLUMN_2 = 'VALUE_2'") 

的我得到的迴應是:

Script-result: 0 

我還試圖用:

sql.execute("UPDATE TABLE SET COLUMN_1 = 'VALUE_1' WHERE COLUMN_2 = 'VALUE_2'") 

它返回以下響應:

Script-result: false 
+0

檢查是否有幫助 - http://stackoverflow.com/questions/42294903/groovysql-how-to-update-a-table-with-arraylist-variables/42296189#42296189 – Rao

回答

0

從你說的話似乎沒有行有COLUMN_2 = 'VALUE_2',所以後來的更新數行爲0.

我首先會在Management Studio上檢查該聲明以確保正確。

+0

當我改變我的查詢了一下於: sql.execute 「」 「 SELECT * FROM表,其中COLUMN_1 = 'VALUE_2' 」「」 我得到: 腳本的結果:真 – timx1981

+0

嘗試'sql.eachRow(」 SELECT * FROM表,其中COLUMN_1 =' VALUE_2'「){println(it)}'看看你得到了什麼。 – minus

+0

似乎沒有發生。根本沒有消息。當我在SQL Server中執行以下操作時,我得到了預期的結果: SELECT * FROM TABLE WHERE COLUMN_1 ='VALUE_2' – timx1981