SQLException: нарушение протокола. Oracle Проблема с драйвером JDBC

Я получаю следующее исключение:

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)

Система Oracle работает под управлением 10.2.0.3.0 на Solaris 5.10. Драйвер jdbc работает на JDK 1.6.0_21 (если он импортируется, java также работает на машине Solaris 5.10). Я пробовал несколько различных тонких драйверов Oracle, включая последний и тот, который, похоже, точно соответствует версии Oracle.

Я выполняю довольно простой запрос: «выберите * из некоторой_таблицы в порядке key1, key2, key3» Затем итерация по набору результатов и запись в файл. В таблице около 12 миллионов строк, поэтому я ожидаю, что процесс выполняется долго, но, похоже, он умирает в течение 5-15 минут. Каждый раз, когда я запускаю его, он появляется в другой строке, так что я не думаю, что проблема в данных.

Я нашел журнал предупреждений оракула, но не смог ' Я не говорю, что что-то там было связано с моим процессом. Тем не менее, я не эксперт по оракулам, и, возможно, мне нужно посмотреть на настройку оракула. Как ни странно, я выполняю около пяти таких запросов (пара немного сложнее) по разным соединениям, и только два самых простых из них когда-либо сталкиваются с этой проблемой.

Любая помощь или идеи о том, на что обратить внимание, чтобы сузить проблема будет оценена.

8
задан Randall 13 January 2011 в 20:41
поделиться