问题的由来:
【JDBC】通过JDBC的方法连接Oracle数据库并进行简单操作(含demo)
下面是测试时间:
ojdbc6.jar驱动下载
ojdbc14.jar驱动下载
第一步骤的Class.forName("oracle.jdbc.driver.OracleDriver");
和第二步骤的项目加载入ojdbcX.jar有何关联?同一个东西吗?一头雾水。
第一次尝试:
在项目加载ojdbc6.jar!对,ojdbc6.jar 。
在代码注释掉Class.forName("oracle.jdbc.driver.OracleDriver");
运行一遍…发现还能执行。
第二次尝试:
在项目中卸掉ojdbc6.jar
恢复Class.forName("oracle.jdbc.driver.OracleDriver");
运行…提示错误
第三次尝试
在项目中加载ojdbc14.jar
恢复Class.forName("oracle.jdbc.driver.OracleDriver");
运行成功
第四次尝试:
在项目中加载ojdbc14.jar
在代码注释掉Class.forName("oracle.jdbc.driver.OracleDriver");
运行…提示错误
第五次尝试
在项目中卸掉ojdbc6.jar
在代码注释掉Class.forName("oracle.jdbc.driver.OracleDriver");
运行…却发现和第四次尝试一样的错误提示
从第四次和第五次的尝试可以猜测出:Class.forName("oracle.jdbc.driver.OracleDriver");
是用于加载ojdbcX.jar文件的。
那为什么第一次和第四次的都是加载ojdbcX.jar、注释Class.forName("");两者情况一致,怎么前者运行成功,而后者失败呢?这可以猜测出:
可能是ojdbc6.jar和ojdbc14.jar版本不一样,前者可以自动载入程序中,而后者出于安全性问题,去除了自动载入的方法。