В настоящее время я поддерживаю и разрабатываю программное обеспечение для клиентов. Он основан на Spring-web (4.3.10), и хотя большинство Entities используют Hibernate, есть несколько Entities, основанных на IBATIS (2.3.4.726) (с MYBATIS для совместимости со Spring 4+).
Для локального тестирования , Я клонировал нашу базу данных Oracle в контейнер Oracle 12 c Docker.
Программное обеспечение, подключенное к базе данных, изначально основанное на Oracle 11g, с использованием ODJBC6. Это не сработало для 12 c без некоторой конфигурации sq lnet, поэтому я попытался перейти на OJDBC8, пока я на нем. Это отлично работало, пока IBATIS не попытался загрузить некоторые объекты.
На OJDBC8 он продолжал выдавать ошибки resultSet (SQL / JDB C Error 17010, Closed Resultset) для определенного c, на мой взгляд, довольно простого запроса (выдержка):
<resultMap id="stateResult" class="state">
<result property="stateId" column="state_id" />
<result property="stateType" column="state_type" />
<result property="displayName" column="display_name" />
<result property="previousStateId" column="prev" />
<result property="maxNumberOfIterations" column="max_iterations"/>
<result property="allSteps" select="Step.getStepsForState" column="state_id" />
<result property="nextState" select="Workflow.getState" column="next_state" />
</resultMap>
<select id="getState" parameterClass="Long" resultMap="stateResult" cacheModel="stateTemplateCache">
SELECT
a.state_id,
a.state_type,
a.display_name,
a.max_iterations,
a.next_state,
b.state_id prev
FROM
state a, state b
WHERE
b.next_state (+)= a.state_id
and a.state_id = #value#
</select>
У меня нет конкретной c проблемы, которую нужно решить здесь, поскольку она работает с панелью OJDBC6 с некоторой конфигурацией (спасибо, ТАК), но я хотел бы знать, из Интересно, если кто-нибудь знает о чем-то конкретном c относительно драйвера OJDBC8, который нарушает 2.3.4.726 ibatis-sqlmap или соответствующую реализацию mybatis-2-spring.
Или в двух словах: что могло быть проблема? Я даже не уверен, что здесь на самом деле подразумевает ORA-17010.
Спасибо!
Изменить: прежде чем кто-либо что-то скажет, я знаю, что мой проект использует сильно устаревшие библиотеки, но у меня сейчас нет времени или бюджета на миграцию.