1

我尝试使用下面的 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'

4

1 回答 1

0
import com.mysql.jdbc.Connection 

不要使用 java.sql.Connection。只是连接:]

于 2019-02-23T15:58:09.647 回答