gpt4 book ai didi

java - JDBC Template异常表或 View 不存在但实际存在

转载 作者:搜寻专家 更新时间:2023-11-01 00:54:14 24 4
gpt4 key购买 nike

我正在尝试使用 Spring 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 表的异常:

Caused by: org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [SELECT * from snow.ar_incident WHERE ROWNUM < 10]; nested exception is java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist

此代码对其他表非常有效,但不适用于此表。我还尝试使用核心 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 中运行查询时也是如此。我已经多次检查这两种解决方案的连接细节,它们是相同的。为什么我不能使用 JDBCTemplate 访问 ar_incident 表?

最佳答案

请检查是否有grants,以及您是否需要在表名前加上schema.table_name

关于java - JDBC Template异常表或 View 不存在但实际存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52074415/

24 4 0