【问题标题】:H2 create linked table - driver class not foundH2 创建链接表 - 找不到驱动程序类
【发布时间】:2019-10-23 06:29:09
【问题描述】:

当我在内存 H2 控制台中尝试以下操作时:

create linked table tbl01
('', 'jdbc:oracle:thin:@linkToMyDB.com:port_num:db_name', 'my_userid', 'my_password', 'SCHEMA.TABLE')

我收到java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

我正在与ojdbc6-12.1.0.2.jar 合作。我已经将它添加到类路径中:

java -cp /path/to/ojdbc6-12.1.0.2.jar oracle.jdbc.OracleDriver
Oracle 12.1.0.2.0 JDBC 4.0 compiled with JDK6 on Mon_Jun_30_11:28:06_PDT_2014
#Default Connection Properties Resource
#Fri Jun 07 11:17:29 PDT 2019

我不能用java -cp /path/to/ojdbc6-12.1.0.2.jar oracle.jdbc.driver.OracleDriver 指向create linked table 命令试图引用的驱动程序,因为该类缺少main() 方法。

有没有办法强制第一个命令使用oracle.jdbc.OracleDriver?我尝试了以下方法并得到了同样的错误:

create linked table tbl01
('oracle.jdbc.OracleDriver', 'jdbc:oracle:thin:@linktodb.com:port_num:db_name', 'my_userid', 'my_password', 'SCHEMA.TABLE')

我在 IntelliJ IDEA 上使用内存数据库尝试连接到远程 Oracle 数据库。

【问题讨论】:

  • 我在 IntelliJ IDEA 的数据库视图中使用 h2 控制台。我很确定我的应用程序独立于数据库视图控制台,因为我不需要运行该应用程序来访问数据库。

标签: java oracle intellij-idea jdbc h2


【解决方案1】:

在这种情况下,任何运行 H2 的都是相关应用程序(iirc IntelliJ 为数据库工具启动一个单独的 Java 进程),您需要确保 Oracle JDBC 驱动程序位于其类路径中。

您可以通过转到 IntelliJ 中的 H2 驱动程序定义(数据库、数据源属性)并将 Oracle JDBC 驱动程序 jar 添加为自定义 JAR(而不是作为提供的驱动程序)来执行此操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多