2011-11-17 3 views
0

Oracle 데이터베이스로 마이 그 레이션했습니다. 내가 ROWNUM과 마찬가지로 수정과 SQL 쿼리를 사용하는 경우 I는 오라클 데이터베이스에 대해 쿼리를 실행할 때 Spring PreparedStatementCallback; SQL에 대한 SQLException - 유효하지 않은 열 유형 Oracle

SELECT id, frameTypeId, ownerId, locationId FROM 
    (SELECT id, vv_frame_type_id AS 
    frameTypeId, vv_owner_id AS ownerId, vv_location_id AS locationId, rownum AS rn 
    FROM signage) 
WHERE rn BETWEEN ? AND ? 

나는 결과를 얻을, 다음과 같은 (매개 변수 제공). 하지만 프로젝트를 설치하려고 할 때 다음 오류가 발생합니다.

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417) 
    ... 53 more 
Caused by: org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [select id, frameTypeId, ownerId, locationId from (select id, vv_frame_type_id as frameTypeId, vv_owner_id as ownerId, vv_location_id as locationId, rownum as rn from vivo_signage) where rn between ? and ?]; SQL state [99999]; error code [17004]; Invalid column type; nested exception is java.sql.SQLException: Invalid column type 
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83) 
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80) 
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80) 
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:602) 
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:636) 
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:665) 
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:673) 
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:713) 
    at 
Caused by: java.sql.SQLException: Invalid column type 
    at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:8761) 
    at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8259) 
    at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:9012) 
    at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:8993) 
    at oracle.jdbc.driver.OraclePreparedStatementWrapper.setObject(OraclePreparedStatementWrapper.java:230) 
    at org.springframework.jdbc.core.StatementCreatorUtils.setValue(StatementCreatorUtils.java:351) 
    at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValueInternal(StatementCreatorUtils.java:216) 
    at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue(StatementCreatorUtils.java:144) 
    at org.springframework.jdbc.core.ArgPreparedStatementSetter.doSetValue(ArgPreparedStatementSetter.java:65) 
    at org.springframework.jdbc.core.ArgPreparedStatementSetter.setValues(ArgPreparedStatementSetter.java:46) 
    at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:641) 
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:586) 
    ... 66 more 
+2

에서 선택할 수 있습니다? 대답을 게시 할 경우 비슷한 것을 직면합니다 –

답변

0

당신은 당신보기로 쿼리를 만들어보십시오, 당신이 당신의 문제를 해결 한 그

CREATE VIEW v_frames AS 
SELECT id, frameTypeId, ownerId, locationId, rn 
FROM  
    (
    SELECT 
     id, 
     vv_frame_type_id AS frameTypeId, 
     vv_owner_id AS ownerId, 
     vv_location_id AS locationId, 
     rownum AS rn  
    FROM signage) 
+0

글씨를 쓰더라도 문제가 없습니다 표지판에서 ID 선택 동일한 오류가 발생합니다. – ghTvNath