2015-11-04 2 views
-1

Возможно ли, что у меня есть ошибка ORA-08177 в заявлении о выборе?ORA-08177 по выбору

--- Cause: java.sql.SQLException: ORA-08177: can't serialize access for this transaction 
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:201) 
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForList(MappedStatement.java:139) 
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:578) 
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:552) 
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118) 
at org.springframework.orm.ibatis.SqlMapClientTemplate$3.doInSqlMapClient(SqlMapClientTemplate.java:298) 
at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:209) at org.springframework.orm.ibatis.SqlMapClientTemplate.executeWithListResult(SqlMapClientTemplate.java:249) 
at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList(SqlMapClientTemplate.java:296) 

ответ

0

Согласно документам, ORA-08177 может быть вызван только сериализуемыми транзакциями. Это означает, что строка, которую сериализуемая транзакция пытается изменить, была изменена другой транзакцией после начала сериализуемой транзакции. Подобная ситуация может произойти с уровнем чтения с фиксированной изоляцией, но в этом случае база данных автоматически и молча перезапускает весь оператор SQL, и ошибка не возникает.

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

+0

Проблема в том, что я не пытаюсь модифицировать, а читать только данные (select statement). Моя транзакция сериализуема. – user817057

+0

Посмотрите, если это вам поможет - http://stackoverflow.com/questions/785765/ora-08177-cant-serialize-access-for-this-transaction – Saurabh

+0

Нет, речь идет о запросе на удаление/обновление не на выбранном запросе – user817057

Смежные вопросы