groovy oracle-未找到合适的驱动程序

groovy oracle-未找到合适的驱动程序,oracle,groovy,oracle11g,ojdbc,Oracle,Groovy,Oracle11g,Ojdbc,我刚刚安装了Oracle Express,并创建了一个具有所有权限的新用户。我可以从sqldeveloper连接到我的xe实例,因此我知道它正在运行 Groovy控制台,我已经在类路径中添加了ojdbc6.jar,现在尝试这个 Groovy 2.4.12 Oracle Express 11.2.0.2 ojdbc6.jar 我得到了SQLException“没有找到适合jdbc:oracle:thin:@//localhost:1521/xe的驱动程序” 对于连接字符串,我还尝试了jdbc:o

我刚刚安装了Oracle Express,并创建了一个具有所有权限的新用户。我可以从sqldeveloper连接到我的
xe
实例,因此我知道它正在运行

Groovy控制台,我已经在类路径中添加了
ojdbc6.jar
,现在尝试这个

Groovy 2.4.12
Oracle Express 11.2.0.2
ojdbc6.jar
我得到了SQLException“没有找到适合jdbc:oracle:thin:@//localhost:1521/xe的驱动程序”

对于连接字符串,我还尝试了
jdbc:oracle:thin:@localhost:1521:xe
,对于加载和驱动程序参数,我也尝试了
oracle.jdbc.driver.OracleDriver

这个组合是不可能的还是我错过了一些明显的东西

编辑:


正确的连接字符串是无斜线格式。

证明@tim_yates几乎就在那里

需要这个

import groovy.sql.Sql;

def cl = Class.forName('oracle.jdbc.OracleDriver')
println cl // outputs 'class oracle.jdbc.OracleDriver'

def db = [
 url: 'jdbc:oracle:thin:@localhost:1521:xe',
 user: 'me',
 password: 'me', 
 driver: 'oracle.jdbc.OracleDriver']
def sql = Sql.newInstance(db.url, db.user, db.password, db.driver)

不知道MySQL为什么在没有这个的情况下工作

您需要将它添加到根类路径,而不是脚本的类路径。因为DriverManager看起来很好…当我使用MySQL时,我以这种方式加载了驱动程序,它工作了。我想你需要做:
GroovyObject.class.classLoader.addURL(新文件('path/to/ojdbc6.jar').tour())
而不是用控制台添加它(如果不清楚的话)
def f = new File('c:\\oraclexe\\app\\oracle\\product\\11.2.0\\server\\jdbc\\lib\\ojdbc6.jar')
this.getClass().classLoader.rootLoader.addURL(f.toURL())