java - 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 数据库。
解决方案
在这种情况下,运行 H2 的任何东西都是相关的应用程序(iirc IntelliJ 为数据库工具启动了一个单独的 Java 进程),并且您需要确保 Oracle JDBC 驱动程序位于其类路径中。
您可以通过转至 IntelliJ(数据库、数据源属性)中的 H2 驱动程序定义来执行此操作,并将 Oracle JDBC 驱动程序 jar 添加为自定义 JAR(而不是作为提供的驱动程序)。
推荐阅读
- c# - 有没有一种通过 linq 自行分解列表的好方法
- django - 如何将模型集“绑定”到对象,填充它并在同一页面中进行编辑?
- java - 如何在尝试实现可测试代码的同时防止过度工程?
- c# - 发布 asp.net-core 应用程序后显示错误的登录页面,并显示消息“使用其他服务登录”
- javascript - sigma.js - 一个名为 sigma 的对象已经在全局范围内
- javascript - 读取目录中的所有文件并将其解析为 JSON
- python - 如何防止 python 日志记录模块引发错误,在停机时停止执行、永久重试和缓冲事件
- angular - 如何检查输入标签中输入的值是否与特定日期格式匹配,例如角度中的“MM/dd/YYYY”
- javascript - PHP不使用其ID属性打印html表单元素
- bash - 使用 azure 自动化在 Azure Linux VM 上执行 bash 命令