我今天突然发现,不进行任何驱动程序注册的时候,打印
DriverManager.getDrivers()竟然有输出。。值为
sun.jdbc.odbc.JdbcOdbcDriver@3aa450bb这是为什么?难道是myeclipse干得?

解决方案 »

  1.   

    现在的JDBC可以这样了~~~貌似JDBC4以后就可以了,放心用吧
    当然你还是要手工加载也是可以的
      

  2.   

    专门测了下 我这边显示的是java.util.Vector$1@a62fc3 
    这个正好跟源码里面的java.util.Vector<Driver> result = new java.util.Vector<Driver>()吻合
      

  3.   

    默认的这个应该是JDBC-ODBC桥接的驱动程序,如果你配置ODBC源,使用ODBC桥接的话 可以不用显式加载sun.jdbc.odbc.JdbcOdbcDriver 这个驱动
    但是如果你用纯JDBC连接其他数据库,应该还是要执行Class.forName等的一般过程
      

  4.   

    貌似符合逻辑,默认提供odbc的jdbc驱动
    至于是不是默认就有可以看看sun.jdbc.odbc.JdbcOdbcDriver的实现是不是默认就被jvm加载了
    是不是在jre就提供了
      

  5.   

    DriverManager.loadInitialDrivers() {}
    这个方法会去加载sun.jdbc.odbc.JdbcOdbcDriver这个方法在调用getConnection()时会仅且加载一次