首页 > 解决方案 > H2 创建链接表 - 找不到驱动程序类

问题描述

当我在内存 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 数据库。

标签: javaoracleintellij-ideajdbch2

解决方案


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

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


推荐阅读