SQLException: die Protokoll-Verletzung. Oracle-JDBC-Treiber Problem

Ich bin immer folgende Exception:

java.sql.SQLException: Protocol violation
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:190)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:286)
at oracle.jdbc.driver.T4C80all.receive(T4C80all.java:766)
at oracle.jdbc.driver.T4CPreparedStatement.do0all8(T4CPreparedStatement.java:216)
at oracle.jdbc.driver.T4CPreparedStatement.fetch(T4CPreparedStatement.java:1225)
at oracle.jdbc.driver.OracleResultSetImpl.close_or_fetch_from_next(OracleResultSetImpl.java:373)
at oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:284)

Dem Oracle-system ausgeführt wird 10.2.0.3.0 auf Solaris 5.10. Der jdbc-Treiber läuft auch auf JDK 1.6.0_21 (wenn es importieren der java ausgeführt wird, auf einem Solaris 5.10 Maschine auch). Ich habe versucht, mehrere verschiedene oracle-thin-Treiber, einschließlich der neuesten, und die, die angezeigt wird, exakt auf die oracle-version.

Die Abfrage, die bei mir läuft ist Recht einfach: "select * from some_table, um von key1, key2, key3" Dann die Iteration durch die Ergebnismenge und eine Datei schreiben. Der Tisch hat rund 12 Millionen Zeilen, so dass ich erwarte, dass der Prozess läuft lange, aber es scheint zu sterben innerhalb von 5-15 Minuten in es. Jedes mal, wenn ich es laufen lasse, es explodiert auf eine andere Zeile, so dass ich nicht denke, dass das problem mit den Daten.

Fand ich die oracle-alert-log, aber ich konnte nicht sagen, dass alles in es war in Bezug auf meinen Prozess. Trotzdem bin ich kein oracle-Experte, und vielleicht gibt es ein oracle-Einstellung, die ich sehen müssen. Seltsam genug, ich bin mit über fünf dieser Art von Abfragen (ein paar sind ein bisschen komplizierter) auf verschiedene verbindungen und nur zwei einfachsten jemals dieses problem.

Jede Hilfe oder Ideen, was zu betrachten, um das problem einzugrenzen würde geschätzt.

  • Vielleicht sind Sie der Speicher auf dem DB-server? Sind Sie richtig schließen Sie die Ressourcen in Java? Dies geschieht auf der ersten Abfrage auszuführen, in der Reihe oder einer der späteren sein?
InformationsquelleAutor Randall | 2011-01-13
Schreibe einen Kommentar