【问题标题】:Class.forName("oracle.jdbc.OracleDriver"); generates exception: java.lang.ClassNotFoundExceptionClass.forName("oracle.jdbc.OracleDriver");生成异常:java.lang.ClassNotFoundException
【发布时间】:2020-04-04 17:54:17
【问题描述】:

我正在尝试制作一个连接到 Oracle 数据库的程序,其最终目的是为我正在学习的课程创建一些表并在它们上运行命令。我目前正在尝试制作课堂上给出的示例,但我无法让它发挥作用。生成错误“java.lang.ClassNotFoundException”的代码是我的主要代码:

Class.forName("oracle.jdbc.OracleDriver");

Class.forName("oracle.jdbc.driver.OracleDriver");

我已手动将 ojdbc6.jar、ojdbc8.jar 和 ojdbc14.jar 文件添加到“PATH”系统变量中的每个文件夹中,但出现异常:

java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver

or 

java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

我不知道如何解决这个问题或修改什么。毕竟这是一个课程示例...... 欢迎任何/所有建议。

感谢您的宝贵时间

【问题讨论】:

  • 你的意思是类路径吗?据我所知,将其添加到系统变量PATH 无济于事。
  • I have manually added the ojdbc6.jar, ojdbc8.jar and ojdbc14.jar files to each folder in my "PATH" - 这是错误的。您需要将其放入类路径中。你如何运行你的应用程序?
  • 您不必调用Class.forName() 来创建到Oracle 的JDBC 连接。只需创建 JDBC 连接字符串和我们。见docs.oracle.com/javase/tutorial/jdbc/basics/connecting.html

标签: java oracle driver jdbc-odbc


【解决方案1】:

我希望这可能会有所帮助?

我认为您不需要最新版本的 Class.forName。

我会做类似下面的事情,并将连接、url、用户和密码设置为全局最终变量,以避免重复自己并在需要的地方调用方法。

 public Connection getConnection() throws SQLException {
    return connection = DriverManager.getConnection(url, user, password);

}

【讨论】:

    猜你喜欢
    • 2016-05-03
    • 2015-05-01
    • 2014-07-08
    • 2016-05-02
    • 2014-04-21
    • 2013-09-10
    • 1970-01-01
    • 2017-10-13
    相关资源
    最近更新 更多