【问题标题】:Loading JDBC driver without Class.forName加载没有 Class.forName 的 JDBC 驱动程序
【发布时间】:2012-12-07 04:58:58
【问题描述】:

Oracle JDBC tutorial

在以前的 JDBC 版本中,要获得连接,您首先必须 通过调用方法 Class.forName 来初始化 JDBC 驱动程序。这 方法需要 java.sql.Driver 类型的对象。每个 JDBC 驱动程序 包含一个或多个实现接口的类 java.sql.驱动程序。 Java DB 的驱动程序是 org.apache.derby.jdbc.EmbeddedDriver 和 org.apache.derby.jdbc.ClientDriver,一个用于 MySQL Connector/J 是 com.mysql.jdbc.Driver。请参阅 DBMS 驱动程序的文档 获取实现接口的类名 java.sql.Driver.

在您的类路径中找到的任何 JDBC 4.0 驱动程序都会自动加载。 (但是,您必须手动加载任何驱动程序 在 JDBC 4.0 之前使用 Class.forName 方法。)

但是当我删除Class.forName 时,它会给出一个错误找不到驱动程序。我正在使用ojdbc14 驱动程序。没有Class.forName我们如何实现连接?

【问题讨论】:

    标签: java jdbc


    【解决方案1】:

    仔细查看 JDBC 版本。文章说它是在 JDBC 4.0 (Java 1.6) 中引入的。

    但是,ojdbc14 是 JDBC 3.0 (Java 1.5) 驱动程序。

    【讨论】:

    • ojdbc6 是 4.0 版吗?如果不是,请列举一些 JDBC 4.0 驱动程序。
    • 只需阅读 JDBC 驱动程序供应商自己的文档:docs.oracle.com/cd/B28359_01/java.111/b31224/…
    • @BalusC-我们如何在类路径中添加 jar?
    • 取决于应用程序的类型及其执行方式。毕竟,这与您为 ojdbc14 所做的方式相同。
    • 呃哦,这确实可行,但这绝对不是正确的方法:) 但这是一个完全不同的问题/问题。不要感到羞耻,误解“类路径”是初学者很常见的错误。同样,正确的位置取决于应用程序的类型及其执行方式。
    猜你喜欢
    • 2013-08-06
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    • 2014-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多