我们已经为Java方法创建了 jar 文件,并将其导入了 SOAPUI 。我们可以调用方法,但是无法检索 groovy脚本 ResultSet
中java方法在def dataRow = GetData.GetRecords(preQuery)
中返回的查询结果。我是groovy脚本的新手。
下面是我们用Java编写并为其创建jar的方法。
package getRecords;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class GetData {
protected static Connection con = null;
protected static Statement stmt = null;
protected static ResultSet result = null;
//Opening DB connection
public static void OpenDBConnection(String dbUrl, String driver, String username, String password){
//Making connection to DB
try {
Class.forName(driver);
con = DriverManager.getConnection(dbUrl, username, password);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//Closing DB connection
public static void CloseDBConnection(){
try {
//Closing DB connection
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//Executing query and fetching data from DB
public static ResultSet GetRecords(String query){
//Executing query and saving result into result set
try {
stmt = con.createStatement();
result = stmt.executeQuery(query);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
public static void main(String args[]){
System.out.println("DBConnection..");
GetData gd = new GetData();
GetData.OpenDBConnection("jdbc:oracle:thin:@test:1530/test", "oracle.jdbc.driver.OracleDriver", "******", "******");
System.out.println("DB");
}
}
答案 0 :(得分:1)
我怀疑当您从GetRecords
返回时,您的结果集已关闭(提示:Java方法名称使用驼峰大小写,以小写字母开头),并且您可能还会跳过JVM。另请参见Is it Ok to Pass ResultSet?。
您可能不需要在soapUI中将结果集作为结果集使用,您只需要数据,因此更好的选择是填充一个bean并返回一个{{ 1}}来代替:
List
您可能还想研究Java 7附带的try-with-resources功能:它将自动处理连接的关闭。
答案 1 :(得分:0)
在SoapUi中,您可以使用Groovy脚本直接进行JDBC调用。
如果您想在soapUI中进行一些数据库操作,则可以使用相应的数据库驱动程序(DB2,Oracle,Mysql)以Groovy的方式编写代码,直到或除非您提到了使用jar文件的任何特定原因为止。
要建立数据库连接,您需要下载jar文件并将其放置在其中(SoapUi安装文件夹/ bin / ext
例如..对于Oracle(ojdbc6.jar,orai18n.jar)