1

I tried to use Groovy script below from to connect to an SQL Server database:

String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
"databaseName=XXX;user=sa;password=XXXX;";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con = DriverManager.getConnection(connectionUrl);

i have tried the above code but i am getting the exception as

"'com.microsoft.sqlserver.jdbc.SQLServerConnection' to class 'com.mysql.jdbc.Connection'"

I use following class to establish database 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
    }
}

I already set database information under Project > Settings > Database in Katalon Studio. I call from testcase with CustomKeyword connectDB() and executeQuery() methods.

I tried to use variable connectionString as a parameter of DriverManager.getConnection() method, but I got same error message in both cases.

org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'ConnectionID:1 ClientConnectionId: bc27bbec-c83e-4afe-a1bf-68c9091ae567' with class 'com.microsoft.sqlserver.jdbc.SQLServerConnection' to class 'com.mysql.jdbc.Connection'

Vel Guru
  • 394
  • 1
  • 3
  • 16

1 Answers1

0
import com.mysql.jdbc.Connection 

Don't use java.sql.Connection. Just Connection :]

Zoe
  • 27,060
  • 21
  • 118
  • 148
Mr.Greg
  • 1
  • 2