当我在内存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数据库。
答案 0 :(得分:2)
在这种情况下,运行H2的都是相关的应用程序(iirc IntelliJ为数据库工具启动了一个单独的Java进程),并且您需要确保Oracle JDBC驱动程序在其类路径中。
您可以转到IntelliJ中的H2驱动程序定义(数据库,数据源属性),然后将Oracle JDBC驱动程序jar添加为自定义JAR(而不是提供的驱动程序)。