【发布时间】:2012-11-23 16:49:46
【问题描述】:
我正在学习使我的 Java 应用程序能够与 MS Access 数据库进行通信。
我不确定一种方法,Class.forName() 方法。我传递的参数是“sun.jdbc.odbc.JdbcOdbcDriver”,它加载了jdbc:odbc 网桥来访问数据库。
Class.forName() 究竟做了什么,为什么需要它?
非常感谢。
【问题讨论】:
-
只是在这里补充,严格来说不是需要。假设驱动程序有一个可以使用的构造函数,您可以使用
DriverManager.registerDriver(new Driver())达到相同的效果。 -
请注意,对于 JDBC 4.0+ 驱动程序(自 Java SE 6 起),这不再是必需的:docs.oracle.com/javase/7/docs/api/java/sql/DriverManager.html
-
@IanMcLaird 大多数驱动程序会在加载类时自己调用
DriverManager.registerDriver;最终用户几乎不需要自己调用 registerdriver;在本例中,new Driver()本身会加载并注册驱动程序。
标签: java database jdbc odbc driver