H2 создать связанную таблицу - класс драйвера не найден - PullRequest
1 голос
/ 07 июня 2019

Когда я пытаюсь выполнить следующее в моей консоли 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 пытается сослаться, поскольку в этом классе отсутствует метод 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 Ответ

2 голосов
/ 07 июня 2019

В этом случае все, что запускает H2, является соответствующим приложением (iirc IntelliJ запускает отдельный процесс Java для инструментов базы данных), и вам нужно убедиться, что драйвер Oracle JDBC находится на его пути к классам.

Вы можете сделать это, перейдя к определению драйвера H2 в IntelliJ (База данных, Свойства источника данных) и добавив JAR-драйвер Oracle JDBC в качестве пользовательского JAR-файла (не в качестве прилагаемого драйвера).

...