Today, I ran into an Oracle error that i hadn’t seen before

java.sql.SQLRecoverableException: IO Error: Size Data Unit (SDU) mismatch

Caused by: oracle.net.ns.NetException: Size Data Unit (SDU) mismatch

Environment

Tomcat 7

JDK 1.6

Spring 3.x

Hibernate 4.x

Oracle 11 G

ojdbc6.jar

The fix:

I  tried swapping the JDBC driver with the older ojdbc14.jar and voila ! The real error was exposed : Good old

ORA-00942 (table or view does not exist)

Once I put the table in- everything works fine- with ojdbc14.jar as well ojdbc6.jar

No idea- why the newer driver was not throwing the more descriptive error message ?

Complete trace…

 

Caused by: java.sql.SQLRecoverableException: IO Error: Size Data Unit (SDU) mismatch

Caused by: oracle.net.ns.NetException: Size Data Unit (SDU) mismatch
at oracle.net.ns.Packet.processHeader(Packet.java:359)
at oracle.net.ns.Packet.receive(Packet.java:293)
at oracle.net.ns.DataPacket.receive(DataPacket.java:103)
at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:230)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:175)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:100)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:85)

  • pierus

    Thank you! I was going nuts trying to figure out what the deal was. Only after reading your post did I realize that this error was masking a ‘table does not exist’ error and that I had omitted the schema name in my query.

  • Anonymous

    Thank you . The same error i faced when i changed from ojdbc14 to ojdbc6.

 
© 2011 Technology Cafe Suffusion theme by Sayontan Sinha