【JDBC】JDBC中的Class.forName("")与ojdbcX.jar的区别和联系

9 篇文章 0 订阅
8 篇文章 0 订阅

问题的由来:
【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版本不一样,前者可以自动载入程序中,而后者出于安全性问题,去除了自动载入的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值