首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

jdbc的小问疑惑解决办法

2012-01-22 
jdbc的小问疑惑我今天突然发现,不进行任何驱动程序注册的时候,打印DriverManager.getDrivers()竟然有输出。

jdbc的小问疑惑
我今天突然发现,不进行任何驱动程序注册的时候,打印
DriverManager.getDrivers()竟然有输出。。值为
sun.jdbc.odbc.JdbcOdbcDriver@3aa450bb

这是为什么?

难道是myeclipse干得?

[解决办法]

探讨
我今天突然发现,不进行任何驱动程序注册的时候,打印
DriverManager.getDrivers()竟然有输出。。值为
sun.jdbc.odbc.JdbcOdbcDriver@3aa450bb

这是为什么?

难道是myeclipse干得?

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

[解决办法]
默认的这个应该是JDBC-ODBC桥接的驱动程序,如果你配置ODBC源,使用ODBC桥接的话 可以不用显式加载sun.jdbc.odbc.JdbcOdbcDriver 这个驱动
但是如果你用纯JDBC连接其他数据库,应该还是要执行Class.forName等的一般过程
[解决办法]
貌似符合逻辑,默认提供odbc的jdbc驱动
至于是不是默认就有可以看看sun.jdbc.odbc.JdbcOdbcDriver的实现是不是默认就被jvm加载了
是不是在jre就提供了
[解决办法]
DriverManager.loadInitialDrivers() {}
这个方法会去加载sun.jdbc.odbc.JdbcOdbcDriver

这个方法在调用getConnection()时会仅且加载一次

热点排行