我收到了"违反协议".我有一个在RedHat Linux上运行的应用程序.数据库和应用程序共同驻留在机器上.
使用的Oracle版本:Oracle 11g R2(11.2.0.3.0)使用的
JDBC驱动程序:12.1.0.1
使用的Java:jdk1.7.0.65 32位
我遇到过很多论坛,其中这个错误被指出是一个驱动程序问题但是在所有那些论坛中使用的oracle版本更高且驱动程序版本更旧并且更改驱动程序解决了问题.但在我的情况下是Oracle版本较低但驱动程序版本较高.因此,在这种情况下,驱动程序的更高版本可能是一个问题?
此外,当达到DB上的最大连接数时,也会出现此协议违规?
错误信息:
java.sql.SQLException:协议违规:[72]位于oracle.jdbc的oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:464)oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192) odriver.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)位于oracle的oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:884)的.driver.T4C8Oall.doOALL(T4C8Oall.java:531). oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1289)的oracleStatement.executeMaybeDescribe(OracleStatement.java:1167)oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)at oracle oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1493)中的.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3628)