マイケル・Dzと:
私は春のJDBCTemplateを使用して、Oracle DBから一部のデータを取得しようとしています:
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文法[snow.ar_incident SELECT * FROM WHERE ROWNUM <10]。ネストされた例外はjava.sql.SQLSyntaxErrorExceptionです:ORA-00942:表またはビューが存在しません。
このコードは、他のテーブルのためにではなく、この1のために完全に正常に動作します。私はまた、コア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を使用していますか?
マイケル・Dzと:
新しいバージョンにJDBCドライバをアップデートした後、すべての問題が消えました。