Timestamp stamp = new Timestamp(System.currentTimeMillis());
        String trkymd = stamp.toString();
向数据库中插入trkymd字段时,出错。trkymd的数据类型是timestamp。在oracle10g的环境下插入成功。在oracle9i的环境下,把sql语句放到pl-sql里也能执行成功,但是在程序里用executeupdate方法执行就会出现java.sql.SQLException: ORA-
01843: 无效的月份的错误。

解决方案 »

  1.   

    直接new Date()就可以了
    然后setDate(date)或用orm
      

  2.   

    lz如果是将trkymd作为sql的一部分,拼字符串的。最好是用类似to_date('20080101010101', 'yyyymmddhi24miss')
    的形式。因为如果不用to_date函数,oracle是根据nls_dateformate的session参数来分析字符串的。(nls参数的具体拼写请lz自己确认一下)
    如果lz是在sql中写问号,然后用类似addParameter的形式传参数进去,应该不会有01843的错误。