H2创建链接表-找不到驱动程序类

时间:2019-06-07 18:26:30

标签: java oracle intellij-idea jdbc 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数据库。

1 个答案:

答案 0 :(得分:2)

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

您可以转到IntelliJ中的H2驱动程序定义(数据库,数据源属性),然后将Oracle JDBC驱动程序jar添加为自定义JAR(而不是提供的驱动程序)。