oracle添加时间类型的列6,使用spring Jdbctemplate - Oracle DB将Date插入日期类型列

我想在我的表格列“updatedDate”中插入日期,其中日期为列数据类型。我使用spring jdbctemplate进行数据持久化。我尝试将列值传递为java.util.Date,java.sql.Date以及java.sql.Timestamp,,但它们都不起作用。我收到以下错误:

java.sql.SQLDataException:ORA-01858:找到了数字所在的非数字字符

下面是我的插入代码。

public void insert(

Hashtable errorCollection) {

try {

Set keys = errorCollection.keySet();

for (String key : keys) {

UploadError contractUploadVO = errorCollection.get(key);

String contract_error_sql = "insert into TARIFF_LOG("

+ "ERR_MSG, JOB_ID, CRTD_DTT, CRTD_BY, Regn, UPDT_BY, UPDT_DTT) "

+ "values(:errorMsg, :jobId, :createdDate, :createUser, :region, :updatedBy, :updatedDate)";

Map paramMap = new HashMap();

paramMap.put("errorMsg", contractUploadVO.getErrMsgSearch());

paramMap.put("jobId", contractUploadVO.getJobIDSearch());

paramMap.put("createUser", contractUploadVO.getCreatedByUser());

paramMap.put("createdDate", "SYSDATE");

paramMap.put("region", contractUploadVO.getRegion());

paramMap.put("updatedBy", contractUploadVO.getUpdatedByUser());

paramMap.put("updatedDate", new java.sql.Date(contractUploadVO.getUpdatedDate().getTime()));

getNamedJdbcTemplate().update(contract_error_sql, paramMap);

}

} catch (Exception e) {

Logger.getInstance().fatalEvent(getClass(),"insert", e.getMessage(), e);

}

}

如果我在updatedDate中传递“SYSDATE”而不是“new java.sql.Date(contractUploadVO.getUpdatedDate()。getTime())”,那么它的工作正常。

请帮帮我,为什么我得到ORA-01858:发现非数字字符错误?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值