java - intellij scala java.lang.classnotfoundexception oracle.jdbc.driver.oracledriver
问题描述
运行 scala 代码时出现此消息错误:
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
这是我的代码:
object ScalaJdbcConnectSelect extends App {
val url = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=XXX)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=XXX)(PORT=1521))(FAILOVER=on)(LOAD_BALANCE=on))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XXX)))"
val driver = "oracle.jdbc.driver.OracleDriver"
val username = "XXX"
val password = "XXX"
var connection:Connection = _
try {
Class.forName(driver)
connection = DriverManager.getConnection(url, username, password)
val statement = connection.createStatement
val rs = statement.executeQuery("SELECT * FROM TABLE WHERE ID = 1")
while (rs.next) {
val host = rs.getString("ID")
val user = rs.getString("Field")
println("ID = %s, Field = %s".format(host,user))
}
} catch {
case e: Exception => e.printStackTrace
}
connection.close
}
我下载了 ojdbc6.jar(数据库 oracle 版本为 11)并在 Project Structure > Project Settings > Modules 中添加了我的 JAR(出现在 Libraries 选项卡中),但我的错误仍然发生。
我试图改变oracle.jdbc.driver.OracleDriver
,oracle.jdbc.OracleDriver
但它改变了任何东西。
我知道我的数据库连接的配置很好,因为我可以通过 DB Browser 连接并测试一些 sql 请求。
我错过了什么 ?我是 Scala 的新手
解决方案
我解决了我的问题!
感谢@Mark Rotteveel 的解决方案:
如果您通过终端执行,那么您负责声明 scala 的类路径(以及 scalac 的类路径),例如 scala -classpath ScalaJdbcConnectSelect
推荐阅读
- count - 如何使用 Count 从 Power BI 中同一表的另一列的一列中获取总计?
- android - 在片段中从布局中删除空格:CollapsingToolbarLayout +NestedScrollView + ViewPager
- javascript - 在 mongoDB 中插入记录然后更新它 - Node.Js
- spring-mvc - 如何将模型属性添加到默认错误页面
- compiler-construction - 野牛中间规则动作不起作用
- vbscript - 通过命令行 .rev1 在 Windows 中重命名由条件选择的多个文件
- django - 如何在 Django 中检查和存储特定时间段?
- r - Test R app via openCPU localy
- elasticsearch - 嵌套对象的 Elasticsearch 查询
- api - 如何在 BigCommerce Api 中向购物车行项目添加修饰符