Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring JDBCTemplate抛出BadSqlGrammarException_Java_Jdbc_Spring Jdbc_Jdbctemplate - Fatal编程技术网

Java Spring JDBCTemplate抛出BadSqlGrammarException

Java Spring JDBCTemplate抛出BadSqlGrammarException,java,jdbc,spring-jdbc,jdbctemplate,Java,Jdbc,Spring Jdbc,Jdbctemplate,我有一个SQL查询,它是使用SpringJDBCTemplate执行的,用于从Oracle数据库检索数据。执行该语句时,会抛出org.springframework.jdbc.badsqlgramarException 在SQL Plus控制台中运行时,相同的SQL语句将返回正确的结果 下面是我正在尝试执行的代码: String query = "SELECT DISTINCT O.ORGID FROM ORGANISATIONS O WHERE O.ORGTYPE NOT IN ('P','G

我有一个SQL查询,它是使用SpringJDBCTemplate执行的,用于从Oracle数据库检索数据。执行该语句时,会抛出org.springframework.jdbc.badsqlgramarException

在SQL Plus控制台中运行时,相同的SQL语句将返回正确的结果

下面是我正在尝试执行的代码:

String query = "SELECT DISTINCT O.ORGID FROM ORGANISATIONS O WHERE O.ORGTYPE NOT IN ('P','G') AND O.USERID = 40";

ArrayList<Organisations> orgsList = new  ArrayList<Organisations>();
Object[] paramsArray = new Object[]{};

orgsList = (ArrayList<Organisations>) getJdbcTemplate().query(query.toString(), paramsArray ,
            new RowMapper<Organisations>(){
        public MetricsRoleMap mapRow(ResultSet rs, int rowNum) throws SQLException {
            // Data retrieval code;
        };
    });

我为另一个方法编写的类似代码运行良好。我认为这里有一个小错误,但我找不到它。

你能在这里粘贴你的异常吗?粘贴错误和你正在创建的查询,如果你没有参数,那么在空数组中传递有什么意义。我也尝试使用数组传递参数。但发生了相同的错误。错误消息显示列名无效。因此,请检查您使用的所有列名是否确实存在。同一查询在sql plus控制台中正确执行。
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [ SELECT DISTINCT O.ORGID FROM ORGANISATIONS O WHERE O.ORGTYPE NOT IN ('P','G') AND O.USERID = 40]; nested exception is java.sql.SQLException: Invalid column name
    at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:231) [spring-jdbc-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73) [spring-jdbc-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:660) [spring-jdbc-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:695) [spring-jdbc-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:727) [spring-jdbc-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:737) [spring-jdbc-4.0.5.RELEASE.jar:4.0.5.RELEASE]
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:787) [spring-jdbc-4.0.5.RELEASE.jar:4.0.5.RELEASE]