在Myeclipse里执行一段拼接的sql时报错:
Statement st=connection.createStatement();
String sql="insert into emp + "(NP_CODE,ACTIVE_TIME,INSERT_TIME,REMARK) " +
"values('"+fullDataBean.getNp_code()'"+
",to_date('"+fullDataBean.getActive_time()+"','yyyy-mm-dd hh24:mi:ss')"+
",to_date('"+fullDataBean.getInsert_time()+"','yyyy-mm-dd hh24:mi:ss'),'"+
fullDataBean.getRemark()+"');";
st.executeQuery(sql);
报错信息:
java.sql.SQLException: ORA-00911: 无效字符
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:330)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:287)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:744)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:206)
at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:956)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1169)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1273)
at com.asiainfo.dao.DataDaoImpl.insertFullCurDateTabletodate(DataDaoImpl.java:149)
at com.asiainfo.service.DataServiceImpl.insertFullCurDateTable(DataServiceImpl.java:28)
at com.asiainfo.Start2DB.main(Start2DB.java:33)
但是在pl/sql这个客户端执行这段sql时没有报错,正常执行,百度后才知道在程序拼接的sql的最后不能加 ;
LInk:https://blog.csdn.net/cadn_jueying/article/details/80743517