java.sql.SQLException:ORA-01843:无效月份

sar*_*roj 2 java sql oracle date

将数据插入我的oracle数据库时出现以下错误。

java.sql.SQLException: ORA-01843: not a valid month
Run Code Online (Sandbox Code Playgroud)

在数据库中的日期是:dd-MMM-yy(06-MAR-12)
我通过以下方法将2012年6月3日转换为dd-MMM-yy:

String s="06-03-2012";

String finalexampledt = new SimpleDateFormat("dd-MMM-yy").format(new SimpleDateFormat("dd-MM-yyyy").parse(s));
Run Code Online (Sandbox Code Playgroud)

所以我得到了06年3月6日,这与上面的数据库日期格式相同,但我仍然收到错误。我插入为:

在index.jsp中

 String todaydate="";

Calendar calendar1 = Calendar.getInstance();
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
todaydate = dateFormat.format(calendar1.getTime());

<input type="text" name="datename" value="<%=todaydate%>"/>
Run Code Online (Sandbox Code Playgroud)

在servlet(doPost)中

String s=request.getParameter("datename");

PreparedStatement ps=con.prepareStatement("insert into tablename(rest_dt, othercolname) values (to_date(?, 'dd-mm-yyyy'), ?)");

ps.setString(1, s);
ps.setString(2, otherstringdata);

int  rs=ps.executeUpdate();
Run Code Online (Sandbox Code Playgroud)

有什么想法吗

Ily*_*lya 5

所以做

("insert into mytablename (rest_dt) values to_date(?, 'DD-MM-YYYY')");  
Run Code Online (Sandbox Code Playgroud)

尝试这个

TO_DATE(?, 'DD-MM-YYYY','NLS_DATE_LANGUAGE = American')  
Run Code Online (Sandbox Code Playgroud)

//从Oracle文档获取