我是靠谱客的博主 纯真电灯胆,最近开发中收集的这篇文章主要介绍oracle处于不一致状态,Oracle:OALL8处于不一致状态,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

作为升级JRun的一部分,我们正在从1.4 JVM迁移到1.6 JVM。现在,我收到一个非常奇怪的oracle db错误:“

OALL8处于不一致状态”。我已经解决了插入根本不使用绑定变量的查询的问题-

所有内联参数。如果我在没有任何绑定变量的情况下运行查询,则会收到上述错误。一旦我用绑定变量替换了一个硬编码值,一切都会正常工作。

另一个奇怪的地方是,在执行查询之后,它实际上已提交给数据库。我可以从另一个会话连接,然后看到插入的行。我曾尝试将查询包装在事务中,但似乎成功了,因为在没有显式事务的情况下查询的行为没有改变。

以下是相关详细信息:

Java版本:1.6.0_12-b04

虚拟机版本:11.2-b01(HotSpot服务器)

Oracle服务器:10.2.0.4

Oracle客户端:11.1.0.7.0通过ojdbc6.jar

更新: 我正在使用cfqueryparam-

在oracle世界中它们被称为绑定变量。尽管这确实解决了紧迫的问题,但我们拥有相当大的旧代码库,在从CF7升级到CF8的过程中,我们无法实际地完成所有更新查询的过程。

即使我确定了一个失败的特定情况(并将其封装在mxunit测试中),这并不意味着没有其他地方可能会出现问题。我真的很想拥有一个解决方案,该解决方案可以消除OALL8错误,而不是围绕它进行编码。

更新2:

在与我们的DBA核对之后,他已将名为CURSOR_SHARING的参数设置为SIMILAR。Oracle的默认值为EXACT。发生的情况是,当ColdFusion推迟执行查询时,Oracle正在将所有文字值绑定到变量,这似乎使ColdFusion感到困惑。将设置恢复为EXACT可使文字查询正常运行。

更新3:

Oracle最终为我们发布了JDBC的带外补丁。它被标识为JDBC错误。最终更新时,最新的驱动程序应包括它。如果有支持,您还可以通过其TAR系统请求补丁。

最后

以上就是纯真电灯胆为你收集整理的oracle处于不一致状态,Oracle:OALL8处于不一致状态的全部内容,希望文章能够帮你解决oracle处于不一致状态,Oracle:OALL8处于不一致状态所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部