Я пытаюсь получить некоторые данные из БД Oracle, используя Spring JDBCTemplate:
String query = "SELECT * FROM snow.ar_incident WHERE ROWNUM < 10";
Map<String, List<Attachment>> map = jdbcTemplate.query(query, new ResultSetExtractor<Map<String, List<Attachment>>>() {
@Override
public Map<String, List<Attachment>> extractData(ResultSet rs) throws SQLException, DataAccessException {
Map<String, List<Attachment>> map = new HashMap<>();
//Mapping results to map
return map;
}
});
Но я всегда получаю исключение только для ar_incidient
таблицы:
Причина: org.springframework.jdbc.BadSqlGrammarException:
StatementCallback; плохая грамматика SQL [SELECT * from
snow.ar_incident ГДЕ ROWNUM <10]; вложенное исключение
java.sql.SQLSyntaxErrorException: ORA-00942: таблица или представление не
есть </p>
Этот код прекрасно работает для других таблиц, но не для этой. Я также пытался получить данные из этой таблицы, используя базовое соединение Java sql:
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection(connString, user, pass);
Statement stmt=con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * from snow.ar_incident WHERE ROWNUM < 10");
И это работало без проблем, то же самое, когда я запускал запрос в SQL Developer. Я много раз проверял детали подключения для обоих решений, и они идентичны. Почему я не могу получить доступ к таблице ar_incident
с помощью JDBCTemplate?