Подключение базы данных SQL с использованием скрипта groovy на jenkins - PullRequest
0 голосов
/ 21 февраля 2020

Я хочу подключиться к SQL -DB, используя сценарий groovy в Jenkins для извлечения данных в качестве активного параметра реактивного выбора. Я добавил odb c и mysql драйверы в каталог /usr/java/packages/lib

Мой groovy скрипт читает:

@Grab('com.oracle:ojdbc6:11.2.0.4')
import groovy.sql.Sql;
import java.util.ServiceLoader;
import java.sql.Driver;
ServiceLoader<Driver> loader = ServiceLoader.load(Driver.class);
import groovy.sql.Sql

def env = "dev"
def url;
def db_name;
db_name= 'test'
def user = 'user'
def password = 'zzzz'
def instance_name = "aaa"

def sql = Sql.newInstance("jdbc:oracle:thin://35.229.73.45:3306/test", "user", "zzzz", "com.mysql.jdbc.Driver")

sql.execute("select * FROM project")    
sql.close()

Я получаю ошибку

java .lang.ClassNotFoundException: com. mysql .jdb c. Драйвер в java. net .URLClassLoader.findClass (URLClassLoader. java: 381) в java .lang.ClassLoader.loadClass (ClassLoader. java: 424) в java .lang.ClassLoader.loadClass (ClassLoader. java: 357) в org.eclipse.jetty.webapp.WebAppClassLoader.loadClass (WebAppClass 1027 *: 560) в java .lang.ClassLoader.loadClass (ClassLoader. java: 357) в java .lang.Class.forName0 (собственный метод) в java .lang.Class.forName (класс . java: 264) в groovy. sql. Sql .loadDriver (Sql. java: 716)

1 Ответ

1 голос
/ 21 февраля 2020

java.sql.Driver требует загрузки классов jdb c системным загрузчиком классов

Не уверен, что он будет работать в jenkins, но вы должны попробовать:

@GrabConfig(systemClassLoader=true)
@Grab('com.oracle:ojdbc6:11.2.0.4')

http://docs.groovy-lang.org/latest/html/documentation/grape.html#Grape -JDBCDrivers

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