java.sql.SQLSyntaxErrorException:ORA-00933:SQL命令未正确结束

时间:2013-10-03 11:11:50

标签: java oracle jdbc

我收到了这个错误,下面是传递的查询

insert into PROD_SUBTYPE_EXCEPTION_DETAILS
  (FILE_NAME,PRODUCT_CATEGORY_DESCRIPTION,PERIOD,P3,P15,TOTAL_AUM,TIME_STAMP,ID,REPORTING_YEAR)
values
 ('P_20130731.DAT','xxx',last_day(to_date('07'||'2013','MMYYYY')),'xxxx','xxx',8049792.04,CURRENT_TIMESTAMP,'eg12345',2010)

如果我在SQL Developer中执行相同的查询,它的工作正常,但如果我通过我的程序传递它,我会收到错误。

我的java程序是:

public int insert(String query, Object beanVO, Map<Integer, String> placeHolder)
    throws SQLException, ClassNotFoundException, IllegalAccessException,
           InvocationTargetException, NoSuchMethodException {
    PreparedStatement pstmt = null;
    Connection con = null;
    try {
        con = getConnection(true);
        pstmt = con.prepareStatement(query);
        setPstmtValues(pstmt, beanVO, placeHolder);
        int status=pstmt.executeUpdate();
        return status;  
    } 
    finally{
        if (isBatchMode)
        {
            this.cleanResources(null, pstmt);
        }
        else
        {
            this.cleanResources(con, pstmt);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我很抱歉这段代码工作正常,我调用了错误的插入方法,所以我得到了那个例外。

谢谢大家。