【问题标题】:groovy oracle - No suitable driver foundgroovy oracle - 找不到合适的驱动程序
【发布时间】:2017-09-16 01:28:38
【问题描述】:
Groovy 2.4.12
Oracle Express 11.2.0.2
ojdbc6.jar

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

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

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)

我收到 SQLException“找不到适合 jdbc:oracle:thin:@//localhost:1521/xe 的驱动程序”。

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

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

编辑:

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

【问题讨论】:

  • 您需要将其添加到根类路径,而不是脚本的类路径。因为 DriverManager 看起来...
  • 当我使用 MySQL 时,我以这种方式加载了驱动程序并且它工作了。
  • 耸耸肩 认为你需要这样做:GroovyObject.class.classLoader.addURL(new File('path/to/ojdbc6.jar').toURL())
  • 而不是在控制台中添加它(以防不清楚)

标签: oracle groovy oracle11g ojdbc


【解决方案1】:

原来@tim_yates 就快到了。

需要这个...

def f = new File('c:\\oraclexe\\app\\oracle\\product\\11.2.0\\server\\jdbc\\lib\\ojdbc6.jar')
this.getClass().classLoader.rootLoader.addURL(f.toURL())

不知道为什么没有这个 MySQL 工作!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-03
    • 2012-12-09
    • 2014-01-08
    • 2016-04-02
    • 2019-03-08
    • 2013-03-16
    相关资源
    最近更新 更多