java代码:
CallableStatement stmt = null;
con = db.getCon();
stmt = con
.prepareCall("{call insert_client(?,?,?,?,?,?,?,?,?,?,?,?,?,?}");
stmt.setString(1, client.getOperationNumber());
String temp = client.getJl_time();
long time = Long.parseLong(temp);
stmt.setDate(2, new Date(time));
stmt.setString(3, client.getTslx());
stmt.setString(4, customer.getPhoneNumber());
stmt.setString(5, customer.getArea());
stmt.setString(6, customer.getName());
stmt.setString(7, client.getYwmc());
stmt.setString(8, customer.getPhoneOther());
stmt.setString(9, client.getYhmyd());
stmt.setString(10, client.getSyzt());
stmt.setString(11, client.getSeat());
stmt.setString(12, client.getTsyy());
stmt.setString(13, opearation.getCl_detail());
String temp1 = opearation.getCl_time();
Long time1 = Long.parseLong(temp1);
stmt.setDate(14, new Date(time1));
stmt.executeUpdate();
//db.commitSQL();
// con.setAutoCommit(true);// 恢复JDBC事务的默认提交方式
return true; } catch (Exception e) {
// con.rollback();// 回滚JDBC事务
e.printStackTrace();
return false; } finally { db.closeconn();
}
存储过程:
create or replace procedure insert_client(c_operationNumber in varchar2,
                                          h_time            in date,
                                          h_tslx            in varchar2,
                                          c_phoneNumber     in varchar2,
                                          c_area            in varchar2,
                                          c_name            in varchar2,
                                          h_ywmc            in varchar2,
                                          c_phoneOther      in varchar2,
                                          h_yhmyd           in varchar2,
                                          h_syzt            in varchar2,
                                          h_seat            in varchar2,
                                          h_tsyy            in varchar2,
                                          o_detail          in varchar2,
                                          o_cltime          in date) as  
  intNum number;begin   select customer_id.nextval into intNum from dual;
  insert into customerinfo
    (id, name, phoneNumber, area, phoneOther)
  values(customer_id.nextval, c_name, c_phoneNumber, c_area, c_phoneOther);
  
  commit;  insert into h_client
    (c_id,
     operationNumber,
     customerInfo_id,
     tslx,
     tsyy,
     ywmc,
     syzt,
     yhmyd,
     seat,
     jl_time)
  
  values
    (client_id.nextval,
     c_operationNumber,
     intNum,
     h_tslx,
     h_tsyy,
     h_ywmc,
     h_syzt,
     h_yhmyd,
     h_seat,
     h_time);
  commit;  insert into operation_deal
    (id, operationNumber, cl_detail, cl_time)
  values
    (intNum, c_operationNumber, o_detail, o_cltime);
  commit;
end insert_client;当执行stmt.executeUpdate();时候出现异常为
java.sql.SQLException: ORA-06550: 第 1 行, 第 67 列: 
PLS-00103: 出现符号 ";"在需要下列之一时:
 . ( ) , * @ % & | = - + < / >
   at in is mod remainder not range rem => .. <an exponent (**)>
   <> or != or ~= >= <= <> and or like LIKE2_ LIKE4_ LIKEC_
   between || indicator multiset member SUBMULTISET_
符号 ")" 被替换为 ";" 后继续。 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:742)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:211)
at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:950)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1159)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3284)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3367)
at oracle.jdbc.driver.OracleCallableStatement.executeUpdate(OracleCallableStatement.java:4244)
at com.netgen.service.InsertOrder.addOrder(InsertOrder.java:45)
at com.netgen.action.OrderAction.addOrder(OrderAction.java:61)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:595)
求大家帮忙 我弄一天了 ....很着急