关于JRE和oracle客户端和ojdbc版本适配问题

昨天将一项目部署到生产环境时,程序调用oracle存储过程tomcat出现了一个奇怪的报错:
“java.sql.SQLException: 试图设置未出现在 SQL 中的参数名: sendto”,这个sendto是一个存储过程的入参,在找了很多问题之后,对比了测试环境发现有一个地方是不同的:
测试环境:
windows:64位操作系统
oracle客户端版本11.0.2
jre 1.8 32位
ojdbc6.jar

生产环境:
windows:64位操作系统
oracle客户端版本11.0.2
jre 1.8 64位
ojdbc6.jar

尝试了各种方法都还是同样的报错,网上有说ojdbc6.jar这个包不支持jre1.8了,oracle官网上说是只支持jre1.6的,测试环境的确是jre1.8(32位)的没问题,但生产环境是jre1.8(64位)所以只能将生产环境更换成ojdbc8.jar,又出现新的问题,说找不到ocijdbc12.dll,因为oracle客户端是11.0.2的所以只有ocijdbc11.dll,最后将生产环境的oracle客户端版本卸载重新安装oralce12.0版本,问题最终解决,成功调用存储过程。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值