运行我的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),并在“项目结构”>“项目设置”>“模块”中添加了我的JAR(出现在“库”选项卡中),但是仍然出现我的错误。
我试图将
oracle.jdbc.driver.OracleDriver
更改为oracle.jdbc.OracleDriver
,但是它改变了一切。我知道数据库连接的配置很好,因为我可以通过数据库浏览器连接并测试一些sql请求。
我错过了什么 ?我是Scala的新手
最佳答案
我解决了我的问题!
感谢@Mark Rotteveel提供的解决方案:
如果您通过终端执行,则您有责任
声明scala(和scalac)的类路径,例如
scala-类路径ScalaJdbcConnectSelect