错误代码如下:
         log4j:ERROR Failed to excute sql
         java.sql.SQLException: ORA-00917: 缺失逗号 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:590)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1973)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1119)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2191)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2064)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2989)
         ····log4j.properties配置如下:log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.BufferSize=1
log4j.appender.DATABASE.driver=oracle.jdbc.driver.OracleDriver
log4j.appender.DATABASE.URL=jdbc:oracle:thin:@192.168.0.127:1521:oracle11g
log4j.appender.DATABASE.user=*****
log4j.appender.DATABASE.password=*****
log4j.appender.DATABASE.sql=insert into LOGMESSAGE(LogId,Class,Method,createTime,LogLevel,MSG) values (HIBERNATE_SEQUENCE.Nextval,'%C','%M','%d{yyyy-MM-dd HH:mm:ss}','%p','%m')
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout求教各位大神

解决方案 »

  1.   

    java.sql.SQLException: ORA-00917: 缺失逗号
    这个是你操作oracle的sql语句有问题啊,提示你缺少逗号
      

  2.   

    insert into LOGMESSAGE(LogId,Class,Method,createTime,LogLevel,MSG) values (HIBERNATE_SEQUENCE.Nextval,'%C','%M','%d{yyyy-MM-dd HH:mm:ss}','%p','%m')
    反复仔细的看过好多遍没发现有什么问题
      

  3.   

    createTime 在数据库中是Date 类型不
      

  4.   


    Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@477f7c: defining beans [indexController,loginController,registerController,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping#0,org.springframework.format.support.FormattingConversionServiceFactoryBean#0,org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter#0,org.springframework.web.servlet.handler.MappedInterceptor#0]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@1a462c9
      

  5.   

    我的意思是你的语句
    insert into LOGMESSAGE(LogId,Class,Method,createTime,LogLevel,MSG) values (HIBERNATE_SEQUENCE.Nextval,'%C','%M','%d{yyyy-MM-dd HH:mm:ss}','%p','%m')
    里面的变量的值有没有特殊字符,比如%m里面是不是有单引号或者其他需要转义的
      

  6.   


    表里五个字段,前四个字段数据库中的值是正常的,最后一个字段(MSG)的内容如上,就是刚才发的那一段话
      

  7.   


    表中MSG字段,还有一条语句如下:貌似有转移字符哈
    Loading XML bean definitions from ServletContext resource [/WEB-INF/spring/appServlet/servlet-context.xml]
      

  8.   

    解决了,将log4j的级别改成WARN就OK了,不知道为什么···
      

  9.   

    给你个小提示,%在SQL语句里代表什么?是编码的冲突,你吧%m删除看看,或者你可以尝试转义%