H2 创建链接 table - 未找到驱动程序 class

H2 create linked table - driver class not found

当我在内存中的 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 合作。我已经将它添加到 classpath:

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 命令试图引用的驱动程序,因为 class 缺少 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 数据库。

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

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