在目前开发的程序中 有如下的代码。 public void verifyEnquiry(String enquiryNo, String userCode, String verifyDate)
throws Exception
{
StringBuffer buffer = new StringBuffer(100);
buffer.append(" Update FeoEnquiry Set VerifyFlag = '1',VerifierCode = ?,");
buffer.append(" VerifyDate = ? where EnquiryNo = ? ");
logger.debug(buffer.toString());
dbManager.prepareStatement(buffer.toString());
dbManager.setString(1, userCode);
dbManager.setString(2, verifyDate);
dbManager.setString(3, enquiryNo);
dbManager.executePreparedQuery();
logger.info("DBFeoEnquiry.verifyEnquiry() success!");
}在debug时 传入三个参数
enquiryNo:QO152012990100003
operatorCode:99010002
verifyDate:2012-06-28
这个段程序在我本机(windows)的weblogic上 运行的时候 oracle会抛出异常信息:java.sql.SQLDataException: ORA-01861: literal does not match format string但发布在远程的websphere上时 就没问题 抛出的异常应该是 verifyDate 这个参数没有用to_date() 或者 date 导致的。
但不知道为什么本机不行,在服务器上就可以。
求解?
throws Exception
{
StringBuffer buffer = new StringBuffer(100);
buffer.append(" Update FeoEnquiry Set VerifyFlag = '1',VerifierCode = ?,");
buffer.append(" VerifyDate = ? where EnquiryNo = ? ");
logger.debug(buffer.toString());
dbManager.prepareStatement(buffer.toString());
dbManager.setString(1, userCode);
dbManager.setString(2, verifyDate);
dbManager.setString(3, enquiryNo);
dbManager.executePreparedQuery();
logger.info("DBFeoEnquiry.verifyEnquiry() success!");
}在debug时 传入三个参数
enquiryNo:QO152012990100003
operatorCode:99010002
verifyDate:2012-06-28
这个段程序在我本机(windows)的weblogic上 运行的时候 oracle会抛出异常信息:java.sql.SQLDataException: ORA-01861: literal does not match format string但发布在远程的websphere上时 就没问题 抛出的异常应该是 verifyDate 这个参数没有用to_date() 或者 date 导致的。
但不知道为什么本机不行,在服务器上就可以。
求解?
dbManager.setString(2, verifyDate);
dbManager.setString(3, enquiryNo);红色部分是由问题的,应该如楼上所说那样。