2017-02-17 20 views
0

мне нужно, чтобы иметь возможность выполнить скрипт обновления SQL, но он не работаетSoapUI NG Pro - Выполнение сценария UPDATE в SoapUI с помощью 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', поэтому то количество обновляется rows = 0.

Я бы сначала проверил это заявление на Management Studio, чтобы убедиться.

+0

Когда я немного меняю свой запрос в: sql.execute "" " SELECT * FROM TABLE WHERE COLUMN_1 = 'VALUE_2' """ я получаю: Script-результат: истинный – timx1981

+0

Try 'sql.eachRow (» SELECT * FROM TABLE WHERE COLUMN_1 = ' VALUE_2 '") {println (it)}' и посмотреть, что вы получаете. – minus

+0

Ничего не происходит. Нет сообщения вообще. Когда я выполняю следующее в SQL Server, я получаю ожидаемые результаты: SELECT * FROM TABLE WHERE COLUMN_1 = 'VALUE_2' – timx1981