【转】Oracle-存取器不是参数存取器

新近写一个vba程序的时分不间歇的出现 “存取器不是参数存取器 ”的错处。嗣后发现至于我等不专业人士,碰到这么的错处还挺e的。下头是综合各种文件理解到的一些货色。
  问题多出现在有乘法也许除法或许其它发作高精度小数的时分,这类错处应该是Oracle和vba里的数据精密度不一致罗致的,Oracle里的数据精密度为38位,而微软VB ADO系统的精密度最高唯其如此支持28位的精密度,招致衔接出了问题。
  当前两个解决方案:
  1. 不用用Oracle客户端自带的 Ole驱动,用微软的 Old驱动。
  Provider=MSDAORA 这个应该是微软提供的驱动解决了数据联接的问题。这个步骤大抵解决了大多数问题,但烦劳取决微软自带的驱动不支持Oracle一些效能,例如调用某些储存进程。
  2. 直接改查询话语,利用trunc和round函数,将全部也许发作高精度数值的结果积极截断。
  select trunc(1.11231234122312, 三) from dual 这个步骤是有效的,但是我觉得很奇怪,上头的截断是用十进制位数,但保留的时分应该是二进制的,十进制的截断代表什么意思呢?

我采用第一种方法解决

原文地址:http://www.wangchao.net.cn/it/detail_59213.html

转载于:https://www.cnblogs.com/kafony/archive/2011/10/08/2202270.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值