Невозможно подключиться к базе данных из-за драйвера - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь подключиться к базе данных с помощью Groovy и не могу. Появляется та же ошибка, хотя я пробовал несколько вещей. Ошибка «Нет такого свойства: драйвер для класса». Я знаю, что соединение работает, как я попробовал его в приложении DBeaver без проблем. Код выглядит следующим образом:

package com.database


//import java.sql.DriverManager
import java.sql.ResultSet
import com.google.api.client.util.Data
import com.kms.katalon.core.annotation.Keyword
//import com.mysql.jdbc.Connection
//import com.mysql.jdbc.Statement
import groovy.sql.Sql
import java.sql.Driver

import groovy.lang.GroovyClassLoader
import org.codehaus.groovy.tools.RootLoader

import java.sql.Connection
import java.sql.DriverManager
import java.sql.ResultSet
import java.sql.ResultSetMetaData
import java.sql.SQLException
import java.sql.Statement
import groovy.sql.Sql

import com.kms.katalon.core.annotation.Keyword
import groovy.sql.*

public class mySql {


@Keyword

  def connectDB(String username, String environment, String url, String port, String dbname, String password){

        //* Attempts:

       //@GrabConfig(systemClassLoader=true)
      //@Grab('mysql:mysql-connector-java:S5.1.27')

       // Data Source = MyOracleDB;

      //SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=host)(PORT=port))(CONNECT_DATA=(SERVICE_NAME=MyOracleSID)));uid=username;pwd=password;

      // Class.forName(driver);
     // Connection con = DriverManager.getConnection(connect, username, password);
    // Statement statement = con.createStatement();



         String connect = username+"@//srv" +environment + url + ":" + port + "/" + dbname

         if(connection != null && !connection.isClosed()){

               connection.close()

         }

         def connection = DriverManager.getConnection(connect, username, password)
             return connection
}

Если кто-то может помочь, он будет признателен. Заранее спасибо.

1 Ответ

0 голосов
/ 28 апреля 2020

Это намного проще, чем предполагает ваш код. Вы все еще можете построить строку для newInstance (). Не в классе для простоты в моем примере.

import groovy.sql.Sql

def myDB = Sql.newInstance('jdbc:mysql://127.0.0.7:3306/employees', 'user1', 'pass1', 'com.mysql.jdbc.Driver')

myDB.eachRow("select first_name, last_name from employees.employees;"){
    println "${it.first_name} ${it.last_name}"
}

myDB.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...