groovy oracle-未找到合适的驱动程序
我刚刚安装了Oracle Express,并创建了一个具有所有权限的新用户。我可以从sqldeveloper连接到我的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
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())