连接到Katalon Studio中的Oracle SQL [英] Connect to Oracle SQL in Katalon Studio

查看:489
本文介绍了连接到Katalon Studio中的Oracle SQL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试使用下面的Groovy脚本连接到 Oracle SQL 数据库:

  def connectDB(String dataFile){
//为您的特定数据库类型加载驱动程序类
Class.forName(oracle.jdbc.driver.OracleDriver)
字符串connectionString =jdbc:sqlite:+ dataFile $ b $ if if(connection!= null&&!connection.isClosed()){
connection.close()
}
connection = DriverManager.getConnection(connectionString)
返回连接
}

SQLite中的连接字符串,但不知道我应该使用哪个值。 (我也试过 jdbc:oracle )。



我使用下面的类建立数据库连接。

  public class sqlconnect {
private static Connection connection = null;
$ b $ **
*打开并返回一个连接到数据库
* @param dataFile绝对文件路径
* @返回一个java.sql.Connection的实例
* /
@Keyword
def connectDB(String dataFile){
//为您的特定数据库类型加载驱动程序类
Class.forName(oracle.jdbc.driver .OracleDriver)
字符串connectionString =jdbc:sqlite:+ dataFile $ b $ if(connection!= null&&<!connection.isClosed()){
connection.close()
}
连接= DriverManager.getConnection(connectionString)
返回连接
}
$ b / **
*对数据库执行SQL查询
* @param queryString SQL查询字符串
* @返回对返回数据集合的引用,这是java.sql.ResultSet的一个实例
* /
@Keyword
def executeQuery(String queryString){
Statement stm = connection。 createStatement()
ResultSet rs = stm.executeQuery(queryString)
return rs
}

@Keyword
def closeDatabaseConnection(){
if(connection!= null&& !connection.isClosed()){
connection.close()
}
connection = null
}
$ b $ / **
*对数据库
执行非查询(通常为INSERT / UPDATE / DELETE / COUNT / SUM ...)* @param queryString一条SQL语句
* @return SQL语句的单值结果
* /
@Keyword
def execute(String queryString){
Statement stm = connection.createStatement()
布尔结果= stm.execute(queryString)
返回结果


我已经在下设置了数据库信息,项目>设置> Katalon Studio中的数据库
我使用CustomKeyword connectDB() executeQuery()方法从测试用例中调用。


$ b

更新:



我更新了 connectDB()方法 Groovy 脚本:

  def connectDB(){
Class.forName(oracle.jdbc.driver.OracleDriver)
// String connectionString =jdbc:oracle:thin:username / password @ ipaddress:port / servicename
if(connection! = null& amp;!connection.isClosed()){
connection.close()
}
connection = DriverManager.getConnection(jdbc:oracle:thin:username / password @ ipaddress :port / servicename,username,password)
返回连接
}

我尝试使用变量 connectionString 作为 DriverManager.getConnection()方法的参数,但是我得到了同样的错误消息。


无法强制转换对象'oracle.jdbc .driver.T4CConnection @'with class
'oracle.jdbc.driver.T4CConnection'to class
'com.mysql.jdbc.Connection'



解决方案

连接字符串的格式为 jdbc:oracle:< drivertype>:@< database> (例如 JDBC:预言:瘦:@host:1521:XE )。

您可以在调用时传递用户和密码: DriverManager.getConnection(< connection string>,< user> ,< password>); 或者甚至在连接字符串中: jdbc:oracle:< drivertype>:< user> /< password> @<数据库> (例如 jdbc:oracle:thin:scott / tiger @ host:1521:xe )。

您应该学习更多关于连接字符串。


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

def connectDB(String dataFile){
    //Load driver class for your specific database type
    Class.forName("oracle.jdbc.driver.OracleDriver")
    String connectionString = "jdbc:sqlite:" + dataFile
    if(connection != null && !connection.isClosed()){
        connection.close()
    }
    connection = DriverManager.getConnection(connectionString)
    return connection
}

There is sqlite in connection string, but not sure which value should I use there. (I tried jdbc:oracle too.)

I use following class to establish database connection.

public class sqlconnect {
    private static Connection connection = null;

    /**
     * Open and return a connection to database
     * @param dataFile absolute file path 
     * @return an instance of java.sql.Connection
     */
    @Keyword
    def connectDB(String dataFile){
        //Load driver class for your specific database type
        Class.forName("oracle.jdbc.driver.OracleDriver")
        String connectionString = "jdbc:sqlite:" + dataFile
        if(connection != null && !connection.isClosed()){
            connection.close()
        }
        connection = DriverManager.getConnection(connectionString)
        return connection
    }

    /**
     * execute a SQL query on database
     * @param queryString SQL query string
     * @return a reference to returned data collection, an instance of java.sql.ResultSet
     */
    @Keyword
    def executeQuery(String queryString) {
        Statement stm = connection.createStatement()
        ResultSet rs = stm.executeQuery(queryString)               
        return rs
    }

    @Keyword
    def closeDatabaseConnection() {
        if(connection != null && !connection.isClosed()){
            connection.close()
        }
        connection = null
    }

    /**
     * Execute non-query (usually INSERT/UPDATE/DELETE/COUNT/SUM...) on database   
     * @param queryString a SQL statement
     * @return single value result of SQL statement
     */
    @Keyword
    def execute(String queryString) {
        Statement stm = connection.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.

UPDATE:

I updated connectDB() method Groovy script:

def connectDB(){
    Class.forName("oracle.jdbc.driver.OracleDriver")
    //String connectionString = "jdbc:oracle:thin:username/password@ipaddress:port/servicename"
    if(connection != null && !connection.isClosed()){
        connection.close()
    }
    connection = DriverManager.getConnection("jdbc:oracle:thin:username/password@ipaddress:port/servicename", "username", "password")
    return connection
}

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

Cannot cast object 'oracle.jdbc.driver.T4CConnection@' with class 'oracle.jdbc.driver.T4CConnection' to class 'com.mysql.jdbc.Connection'

解决方案

The format of the connection string is jdbc:oracle:<drivertype>:@<database> (e.g. jdbc:oracle:thin:@host:1521:xe).

You can pass the user and password on the call: DriverManager.getConnection("<connection string>", "<user>", "<password>"); or even in the connection string: jdbc:oracle:<drivertype>:<user>/<password>@<database> (e.g. jdbc:oracle:thin:scott/tiger@host:1521:xe).

You should learn more about connection strings.

这篇关于连接到Katalon Studio中的Oracle SQL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆