日期:2014-05-20  浏览次数:20804 次

jdbc连接数据库问题
有一点不太明白
public static void main(String[] args) throws SQLException{
Enumeration result = DriverManager.getDrivers();
while (result.hasMoreElements()){
System.out.println(result.nextElement().getClass().getName());
}
}
只是导入了jdbc连接mysql的数据包mysql-connector-java-5.1.21-bin.jar,并没有加载驱动
输入结果:
sun.jdbc.odbc.JdbcOdbcDriver
com.mysql.jdbc.Driver
而且连接还有获取数据库中的内容都没有什么问题。

当导入jdbc连接oracle的数据包ojdbc14.jar时,没有获取到oracle的驱动
也就是说,jdbc连接数据库时,对于mysql只要导入驱动包,不需要显示加载驱动就能正常连接
而oracle必须要显示加载驱动
以上问题应该如何合理的解释呢?
mysql jdbc

------解决方案--------------------
我不知道这样解释对不对

你看看这个类 DriverManager 顶部的注释

 The DriverManager methods getConnection and
 getDrivershave been enhanced to support the Java Standard Edition
 Service Providermechanism. JDBC 4.0 Drivers must
 * include the file META-INF/services/java.sql.Driver. This file contains the name of the JDBC drivers
 * implementation of java.sql.Driver.  For example, to load the my.sql.Driver class,
 * the META-INF/services/java.sql.Driver file would contain the entry:
 * <pre>
 * <code>my.sql.Driver</code>
 * </pre>

mysql驱动包里有  oracle里面没有


------解决方案--------------------


ojdbc14里有没有这个?