我在插入數據庫時遇到此異常。 附上痕跡。插入數據庫時列索引異常無效
產生的原因:在oracle.jdbc.driver.OraclePreparedStatement.setTimestamp(OraclePreparedStatement在oracle.jdbc.driver.OraclePreparedStatement.setTimestampInternal(OraclePreparedStatement.java:7256)
無效的列索引
:java.sql.SQLException中。的java:7240)
在oracle.jdbc.driver.OraclePreparedStatementWrapper.setTimestamp(OraclePreparedStatementWrapper.java:302)
在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
,?)
而PARAMS作爲如下
[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此列的分貝的數據類型是SYSTIMESSTAMP。
降序SP_OPS_TEAM 名稱null類型
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)
任何幫助,將理解
Lemme接受一個答案我得到一個這個@alfasin – 2012-08-17 06:30:01
你的錯誤satck提到'setTimestamp()'但它不是清楚你在代碼中使用它的位置。 – APC 2012-08-17 09:09:29
您顯示爲Java的參數是否正在報告它們;你有沒有用日期代替?你可以顯示你正在使用的準備語句的Java代碼並設置所有參數嗎? – 2012-08-17 13:40:06