Oracle SqlError:协议违规/ OALL8处于不一致状态
我正在获得协议违规,而OALL8是一个尝试执行SELECT查询的异常状态异常,但仅限于我的某些表.我在我编写的测试应用程序中首先注意到这一点,它执行了SELECT * FROM SOMETABLE.它会通过几百条记录,然后锁定我.我尝试在Oracle的SQLDeveloper中运行相同的查询,并在某些表上获得Protocol Violation异常.最终,对于任何查询,它都指向“OALL8处于不一致状态”的点.
有谁知道为什么会发生这种情况以及如何解决问题?我的不一致状态在哪里? Oracle的SqlDeveloper是独立的客户端,还是依赖于ODAC或Instant Client(在PATH envi var中引用)? 最近唯一改变的是我安装了ODAC,以便我可以使用odp.net来替换.NET中的System.Data.OracleClient. IT是ODAC 11.2.0.3.0,使用Oracle Developer Tools for Visual Studio,32位.我更新了我的PATH environmetn变量,指向我的独立即时客户端. > Instant Client – 11.2.0.2.0,在Win XP SP3,32位Oracle DB上运行: 在安装ODAC之前安装了SqlDeveloper,但不管怎样,SqlDeveloper似乎都是通过ODAC作为客户端,尽管在PATH环境变量中没有引用ODAC. 更新:当我最初安装ODAC时,我的所有查询都正常运行.然后他们在一天后停止运作,我无法解释原因.我试图卸载ODAC,它在查找要删除的.DLL时失败.然后我手动删除了我的ORACLE_HOME,并重新安装了ODAC,它现在正常工作.我不明白为什么会这样. 解决方法SQL Developer在可用时使用ORACLE_HOME及其驱动程序.您在此看到的问题是ORACLE_HOME与SQL Developer中捆绑的JDBC驱动程序的版本不同.这个’修复’是为了确保oracle客户端是最新的,你已经安装了sqldev的版本.找到这个的最简单方法是在连接运行时显示jdbc show jdbc -- Database Info -- Database Product Name: Oracle Database Product Version: Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production Database Major Version: 12 Database Minor Version: 1 -- Driver Info -- Driver Name: Oracle JDBC driver Driver Version: 12.2.0.1.0 Driver Major Version: 12 Driver Minor Version: 2 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |