我尝试使用下面的 Groovy 脚本连接到 SQL Server 数据库:
String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
"databaseName=XXX;user=sa;password=XXXX;";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con = DriverManager.getConnection(connectionUrl);
我已经尝试了上面的代码,但我得到了异常
“'com.microsoft.sqlserver.jdbc.SQLServerConnection' 到类 'com.mysql.jdbc.Connection'”
我使用以下类来建立数据库连接。
public class sqlconnect {
private static Connection connection1 = null;
@Keyword
def connectDB(String server, String port, String dbname, String username, String password){
String url = "jdbc:sqlserver://" + server + ":" + port + ";databaseName=" + dbname + ";user=" + username + ";password=" + password
if(connection1 != null && !connection1.isClosed()){
connection1.close()
}
connection1 = (java.sql.Connection)DriverManager.getConnection(url)
return connection1
}
@Keyword
def executeQuery(String queryString) {
Statement stm = connection1.createStatement()
ResultSet rs = stm.executeQuery(queryString)
return rs
}
@Keyword
def closeDatabaseConnection() {
if(connection1 != null && !connection1.isClosed()){
connection1.close()
}
connection1 = null
}
@Keyword
def execute(String queryString) {
Statement stm = connection1.createStatement()
boolean result = stm.execute(queryString)
return result
}
}
我已经在 Katalon Studio 的 Project > Settings > Database 下设置了数据库信息。我使用 CustomKeyword connectDB() 和 executeQuery() 方法从测试用例中调用。
我尝试使用变量 connectionString 作为 DriverManager.getConnection() 方法的参数,但在这两种情况下我都收到了相同的错误消息。
org.codehaus.groovy.runtime.typehandling.GroovyCastException:无法将对象“ConnectionID:1 ClientConnectionId:bc27bbec-c83e-4afe-a1bf-68c9091ae567”与“com.microsoft.sqlserver.jdbc.SQLServerConnection”类转换为“com.mysql”类.jdbc.Connection'