Reputation: 1063
I'm trying to connect to a MySQL database using the below Groovy code on MAC OS 10.10.5 Yosemite
import groovy.sql.Sql
try{
def dbURL = 'jdbc:mysql://localhost:3306/sakila'
def dbUserName = 'root'
def dbPassword = 'Orange@27'
def dbDriver = 'com.mysql.jdbc.Driver'
log.info('Good')
def db = Sql.newInstance(dbURL,dbUserName,dbPassword,dbDriver)
}catch(Exception e){
log.info('DB Error')
log.info(e.getMessage())
}finally{
}
But when I execute this code, I see the below message
Sat Aug 13 15:09:14 EDT 2016:INFO:Good
Sat Aug 13 15:09:14 EDT 2016:INFO:DB Error
Sat Aug 13 15:09:14 EDT 2016:INFO:No suitable driver found for jdbc:mysql://localhost:3306/sakila
I have kept the groovy-sql-2.1.1.jar
, mysql-connector-java-5.1.39-bin.jar
inside the folder location /Applications/SoapUI-5.2.1/bin/ext/
Could you please help me in resolving this issue?
Upvotes: 5
Views: 12886
Reputation: 21379
//Register driver com.eviware.soapui.support.GroovyUtils.registerJdbcDriver( "com.mysql.jdbc.Driver") //Get the sql instance using the connection details. Sql.newInstance(dbURL,dbUserName,dbPassword)
Upvotes: 1
Reputation: 9895
In order to use a JDBC driver you need to register it. There are a number of ways to do this:
You can register a JDBD driver with a DriverManager
:
import java.sql.DriverManager
DriverManager.registerDriver(new com.mysql.jdbc.Driver())
// Remaining Groovy code here
Kind of a hack, but you can also dynamically load the driver's class:
Class.forName('com.mysql.jdbc.Driver')
// Remaining Groovy code here
Because you're using Soap UI to run the Groovy code, this option may not work for you, but here it is for completeness:
@Grab('mysql:mysql-connector-java:5.1.39')
@GrabConfig(systemClassLoader=true)
// Remaining Groovy code here
Upvotes: 5