我在插入数据库时遇到了这个异常。已附上痕迹。
引起:java.sql.SQLException:
在 oracle.jdbc.driver.OraclePreparedStatement.setTimestamp(OraclePreparedStatement.java:7240)
的
oracle.jdbc.driver.OraclePreparedStatement.setTimestampInternal(OraclePreparedStatement.java:7256)的列索引无效。
.driver.OraclePreparedStatementWrapper.setTimestamp(OraclePreparedStatementWrapper.java:302)
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.setTimestamp(WrappedPreparedStatement.java:554)
我的查询是
INSERT INTO SP_OPS_TEAM(
PERSON_ID
,FROM_DT
,THRU_DT
,REPORTS_TO
,CASE_MAX_ALLOWED
,PAY_AUTH_MAX
,LUMP_SUM_MAX,DAYS_MAX
,HAS_DENIAL_AUTH_IND
,HAS_MEDICAL_AUTH_IND
,OPS_PERS_TYPE_CD
,CR_TS
,CR_USER
,LST_UPDT_TS
,LST_UPDT_USER)
VALUES (
?
,to_date(to_char(sysdate,'yyyy/MM/dd'),'yyyy/MM/dd')
,to_date('12/31/2099','MM/DD/YYYY')
,?
,?
,?
,?
,?
,?
,?
,?
,CURRENT_DATE
,?
,CURRENT_DATE
,?)
参数如下
[6804
, Fri Aug 17 10:59:24 IST 2012
, Fri Aug 17 10:59:24 IST 2012
, 6803
, null
, null
, null
, null
, N
, N
, TM
, Fri Aug 17 10:59:24 IST 2012
, 6803
, Fri Aug 17 10:59:24 IST 2012
, 6803]
我在第 14 个索引 LST_UPT_TS 处遇到此异常,db 中此列的数据类型是 SYSTIMESSTAMP。
desc SP_OPS_TEAM
Name Null Type
-------------------- -------- -----------------
PERSON_ID NOT NULL NUMBER
FROM_DT NOT NULL DATE
THRU_DT NOT NULL DATE
REPORTS_TO NOT NULL NUMBER(22)
CASE_MAX_ALLOWED NUMBER(5)
PAY_AUTH_MAX NUMBER(10,4)
LUMP_SUM_MAX NUMBER(10,4)
DAYS_MAX NUMBER(5)
HAS_DENIAL_AUTH_IND NOT NULL CHAR(1 CHAR)
HAS_MEDICAL_AUTH_IND NOT NULL CHAR(1 CHAR)
OPS_PERS_TYPE_CD NOT NULL VARCHAR2(25 CHAR)
CR_TS NOT NULL TIMESTAMP(6)
CR_USER NOT NULL NUMBER(22)
LST_UPDT_TS NOT NULL TIMESTAMP(6)
LST_UPDT_USER NOT NULL NUMBER(22)
任何帮助,将不胜感激