0

I have to execute a query in my project,I have used jdbctemplate with MapSqlParameterSource to execute but mycode is giving following excpetion

Exception ex : org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL state [99999]; error code [17004]; Invalid column type; nested exception is java.sql.SQLException: Invalid column type

My query is as mentioned below:

UPDATE INDS_GUEST_ACCOUNT_MST_TBL  SET
    ACTIVE_YN_FLG = :activeflag ,
    PASSWORD = (CASE WHEN :activeflag ='Y' THEN :password ELSE NULL END), 
    NOTES = (CASE WHEN :activeflag='Y' THEN :notes ELSE NULL END),
    COMPANY_NAME = (CASE WHEN :activeflag = 'Y' THEN :companyname ELSE NULL END),
    END_TIME = (CASE WHEN :activeflag='Y' THEN SYSTIMESTAMP+1 ELSE NULL END),
    UPDTD_ON_DT = SYSTIMESTAMP, UPDTD_BY_USR_ID = :user
WHERE GA_SEQ = :sequence 

and the MapSqlParameterSource is like this :

MapSqlParameterSource paramSource = new MapSqlParameterSource();

paramSource.addValue("activeflag", objGuestAccountInfo.getActiveflag().toUpperCase(), Types.VARCHAR);
paramSource.addValue("password", objGuestAccountInfo.getPassword(), Types.VARCHAR);
paramSource.addValue("notes", objGuestAccountInfo.getNotes(), Types.VARCHAR);
paramSource.addValue("companyname", objGuestAccountInfo.getCompany(), Types.VARCHAR);
paramSource.addValue("user", objGuestAccountInfo.getUser(), Types.VARCHAR);
paramSource.addValue("sequence", objGuestAccountInfo.getGA_seq(), Types.NUMERIC);

My table structure is as follows:

GA_SEQ            NUMBER (6)
PASSWORD          VARCHAR2 (60 Byte)
END_TIME          DATE
ACTIVE_YN_FLG     VARCHAR2 (1 Byte)
NOTES             VARCHAR2 (4000 Byte)
CREATD_BY_USR_ID  VARCHAR2 (30 Byte)
CREATD_ON_DT      DATE
UPDTD_BY_USR_ID   VARCHAR2 (30 Byte)
UPDTD_ON_DT       DATE
COMPANY_NAME      VARCHAR2 (50 Byte) 
Adrian Wragg
  • 7,311
  • 3
  • 26
  • 50
user2572003
  • 743
  • 3
  • 8
  • 16
  • Show the table description – Jens Jul 28 '16 at 09:56
  • GA_SEQ NUMBER (6) PASSWORD VARCHAR2 (60 Byte) END_TIME DATE ACTIVE_YN_FLG VARCHAR2 (1 Byte) NOTES VARCHAR2 (4000 Byte) CREATD_BY_USR_ID VARCHAR2 (30 Byte) CREATD_ON_DT DATE UPDTD_BY_USR_ID VARCHAR2 (30 Byte) UPDTD_ON_DT DATE COMPANY_NAME VARCHAR2 (50 Byte) – user2572003 Jul 28 '16 at 10:10
  • Have you seen this http://forum.spring.io/forum/spring-projects/data/99079-sqlparametersource-causes-nvalid-column-type-why ? Are you using JdbcTemplate or NamedParameterJdbcTemplate? – RubioRic Jul 28 '16 at 10:32
  • Possibly the same issue as in http://stackoverflow.com/questions/19069170/getting-invalid-column-type-excecption-while-using-namedparameterjdbctemplate – Adrian Wragg Jul 28 '16 at 10:33

0 Answers0